Commit ad8ba9b8 authored by tianyiming's avatar tianyiming

人员回退

parent 569366fe
package com.yeejoin.amos.boot.module.common.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 单位人员平台人员关系表
*
* @author system_generator
* @date 2022-09-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="OrgUsrAgencyUserDto", description="单位人员平台人员关系表")
public class OrgUsrAgencyUserDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "用户名")
private String userName;
@ApiModelProperty(value = "手机号")
private String mobile;
@ApiModelProperty(value = "用户组")
private String groupIds;
@ApiModelProperty(value = "密码")
private String password;
@ApiModelProperty(value = "人员id")
private String orgUsrId;
@ApiModelProperty(value = "平台用户id")
private String amosUserId;
}
......@@ -3,7 +3,7 @@ package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.module.common.api.entity.Firefighters;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersContacts;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -20,9 +20,6 @@ public class PeopleInfoDto {
@ApiModelProperty(value = "联系人信息")
private FirefightersContacts firefightersContacts;
@ApiModelProperty(value = "账户信息")
private OrgUsrAgencyUser orgUsrAgencyUser;
@ApiModelProperty(value = "岗位页签")
private FirefightersDataDto postEduDtoObj;
......
package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 单位人员平台人员关系表
*
* @author system_generator
* @date 2022-09-13
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cb_org_usr_agency_user")
public class OrgUsrAgencyUser extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 用户名
*/
@TableField("usr_name")
private String usrName;
/**
* 手机号
*/
@TableField("mobile")
private String mobile;
/**
* 用户组
*/
@TableField("group_ids")
private String groupIds;
/**
* 密码
*/
@TableField("password")
private String password;
/**
* 人员id
*/
@TableField("org_usr_id")
private String orgUsrId;
/**
* 平台用户id
*/
@TableField("amos_user_id")
private String amosUserId;
@TableField(exist = false)
private String upPassWord;
@TableField(exist = false)
private String upAmosUser;
@TableField(exist = false)
private List<String> groupIdsCode;
@TableField(exist = false)
private List<DataDictionary> dataDictionaryList;
}
package com.yeejoin.amos.boot.module.common.api.mapper;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 单位人员平台人员关系表 Mapper 接口
*
* @author system_generator
* @date 2022-09-13
*/
public interface OrgUsrAgencyUserMapper extends BaseMapper<OrgUsrAgencyUser> {
}
package com.yeejoin.amos.boot.module.common.api.service;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
/**
* 单位人员平台人员关系表接口类
*
* @author system_generator
* @date 2022-09-13
*/
public interface IOrgUsrAgencyUserService {
OrgUsrAgencyUser getAccountDetail(String orgUsrId);
void synOrgUser(JSONObject jsonObject);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrAgencyUserMapper">
</mapper>
package com.yeejoin.amos.boot.module.common.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrAgencyUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 部门信息修改
*
* @author tb
* @date 2021-06-18
*/
@RestController
@Api(tags = "人员amos账号信息Api")
@RequestMapping(value = "/org-usr-agency")
public class OrgUsrAgencyUserController extends BaseController {
@Autowired
IOrgUsrAgencyUserService orgUsrAgencyUserService;
@Autowired
DataDictionaryServiceImpl iDataDictionaryService;
/**
* 查询关联的amos账号信息
*
* @return OrgUsrAgencyUser
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{orgUsrId}/detail", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "查询关联的amos账号信息", notes = "查询关联的amos账号信息")
public ResponseModel<OrgUsrAgencyUser> getAccountDetail(@PathVariable String orgUsrId) {
OrgUsrAgencyUser orgUsrAgencyUser = new OrgUsrAgencyUser();
OrgUsrAgencyUser agencyUser = orgUsrAgencyUserService.getAccountDetail(orgUsrId);
if (ObjectUtils.isEmpty(agencyUser)) {
orgUsrAgencyUser.setUpAmosUser("0");
return ResponseHelper.buildResponse(orgUsrAgencyUser);
}
if (!StringUtils.isEmpty(agencyUser.getGroupIds())) {
List<String> list1 = Arrays.asList(agencyUser.getGroupIds().split(","));
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.in("type", list1);
queryWrapper.eq("code", "CB_USER_GROUP");
List<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
orgUsrAgencyUser.setDataDictionaryList(list);
List<String> collect = list.stream().map(DataDictionary::getCode).collect(Collectors.toList());
orgUsrAgencyUser.setGroupIdsCode(collect);
}
return ResponseHelper.buildResponse(agencyUser);
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.common.biz.listener;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrAgencyUserService;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqxListener;
import java.nio.charset.StandardCharsets;
/**
* @author Administrator
*/
@Component
public class AmosMqttListener extends EmqxListener {
@Autowired
IOrgUsrAgencyUserService orgUsrAgencyUserService;
@Override
public void processMessage(String topic, MqttMessage mqttMessage) throws Exception {
byte[] payload = mqttMessage.getPayload();
String str = new String(payload, StandardCharsets.UTF_8);
JSONObject jsonObject = JSONObject.parseObject(str);
JSONObject result = jsonObject.getJSONObject("result");
String path = result.getString("path");
if (path.contains("agencyuser")) {
orgUsrAgencyUserService.synOrgUser(jsonObject);
}
}
}
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.yeejoin.amos.boot.module.common.biz.listener.AmosMqttListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
import org.typroject.tyboot.component.emq.EmqKeeper;
/**
* @author Administrator
*/
@Component
public class ApplicationRunnerImpl implements ApplicationRunner {
@Autowired
EmqKeeper emqKeeper;
@Autowired
AmosMqttListener amosMqttListener;
@Override
public void run(ApplicationArguments args) throws Exception {
emqKeeper.subscript("/amos/operation/log", 2, amosMqttListener);
}
}
......@@ -7,7 +7,7 @@ import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.entity.*;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrAgencyUserMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.component.feign.model.Page;
import com.yeejoin.amos.feign.privilege.Privilege;
......@@ -61,8 +61,6 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
FirefightersContactsServiceImpl ifirefightersContactsService;
@Autowired
private OrgUsrMapper orgUsrMapper;
@Autowired
OrgUsrAgencyUserMapper orgUsrAgencyUserMapper;
@Override
public List<FirefightersZhDto> getFirefighters(int pageNum, int pageSize, FirefightersDto par) {
......@@ -230,69 +228,18 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
@Override
@Transactional(rollbackFor = Exception.class)
public PeopleInfoDto updatePeopleById(PeopleInfoDto peopleInfoDto, Long id) {
Map<String, String> map = new HashMap<>();
// 1.动态表单
OrgUsr orgUsr = orgUsrService.peopleSaveOrgUsr(peopleInfoDto.getFirefighters());
if(!ValidationUtil.isEmpty(peopleInfoDto.getFirefighters().getAmosUserId()) || "1".equals(peopleInfoDto.getOrgUsrAgencyUser().getUpAmosUser())) {
AgencyUserModel amosUser = null;
if(!ValidationUtil.isEmpty(peopleInfoDto.getFirefighters().getAmosUserId())){
amosUser = Privilege.agencyUserClient.queryByUserId(peopleInfoDto.getFirefighters().getAmosUserId()).getResult();
}
//删除之前所在用户组
OrgUsrAgencyUser orgUsrAgencyUser = orgUsrAgencyUserMapper.selectOne(new QueryWrapper<OrgUsrAgencyUser>().eq("org_usr_id", id));
if (!ValidationUtil.isEmpty(orgUsrAgencyUser) && amosUser != null ) {
for (String s : orgUsrAgencyUser.getGroupIds().split(",")) {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", s);
queryWrapper.eq("type", "CB_USER_GROUP");
List<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
Privilege.groupUserClient.deleteGroupUser(Long.valueOf(list.get(0).getCode()),amosUser.getUserId());
}
}
//同步更新或者创建平台用户
if(null == amosUser){
map = orgUsrService.savePlatformUser(orgUsr,peopleInfoDto,"create");
} else {
if("0".equals(peopleInfoDto.getOrgUsrAgencyUser().getUpAmosUser())){
//删除cb_org_usr_agency_user中对应数据
if (!ValidationUtil.isEmpty(orgUsrAgencyUser)) {
orgUsrAgencyUserMapper.delete(new QueryWrapper<OrgUsrAgencyUser>().eq("org_usr_id", id));
// 删除已经创建的管理员账号
Privilege.agencyUserClient.multDeleteUser(orgUsrAgencyUser.getAmosUserId());
}
//删除cb_org_usr相关字段
OrgUsr orgUsr1 = orgUsrMapper.queryBySequenceNbr(id.toString());
if(!ValidationUtil.isEmpty(orgUsr1)){
orgUsr1.setAmosOrgId("");
orgUsr1.setAmosOrgCode("");
orgUsrMapper.update(orgUsr1,new QueryWrapper<OrgUsr>().eq("sequence_nbr",id));
}
//删除cb_firefighters相关字段
Firefighters firefighters = firefightersMapper.selectOne(new QueryWrapper<Firefighters>().eq("org_usr_id", id));
if(!ValidationUtil.isEmpty(firefighters)){
firefighters.setAmosUserId("");
firefighters.setAmosName("");
firefightersMapper.update(firefighters,new QueryWrapper<Firefighters>().eq("org_usr_id", id));
}
} else {
map = orgUsrService.savePlatformUser(orgUsr,peopleInfoDto,"update");
}
}
if(amosUser==null){
peopleInfoDto.getFirefighters().setAmosName(peopleInfoDto.getOrgUsrAgencyUser().getUsrName());
}else {
peopleInfoDto.getFirefighters().setAmosName(amosUser.getRealName());
}
if(!ValidationUtil.isEmpty(peopleInfoDto.getFirefighters().getAmosUserId())) {
AgencyUserModel amosUser = Privilege.agencyUserClient.queryByUserId(peopleInfoDto.getFirefighters().getAmosUserId()).getResult();
peopleInfoDto.getFirefighters().setAmosName(amosUser.getRealName());
} else {
peopleInfoDto.getFirefighters().setAmosUserId(null);
peopleInfoDto.getFirefighters().setAmosName(null);
}
OrgUsr orgUsr = orgUsrService.peopleSaveOrgUsr(peopleInfoDto.getFirefighters());
OrgPersonDto orgPersonDto = new OrgPersonDto();
BeanUtils.copyProperties(orgUsr, orgPersonDto);
orgPersonDto.setAmosOrgId(map.get("orgId"));
orgPersonDto.setAmosOrgCode(map.get("orgCode"));
List<DynamicFormInstance> dynamicFormInstances = orgUsrService.dynamicFormColumn(peopleInfoDto.getFirefighters(), false);
orgPersonDto.setDynamicFormValue(dynamicFormInstances);
try {
......@@ -322,7 +269,7 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
@Override
public void saveFirefightersByUser(PeopleInfoDto firefighters) {
orgUsrService.saveFirefighters(firefighters,new HashMap<>());
orgUsrService.saveFirefighters(firefighters);
}
public Map<String, String> getPersonByCodes(List<String> list) {
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrAgencyUserDto;
import com.yeejoin.amos.boot.module.common.api.entity.Firefighters;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsrAgencyUser;
import com.yeejoin.amos.boot.module.common.api.mapper.FirefightersMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrAgencyUserMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrAgencyUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 单位人员平台人员关系表服务实现类
*
* @author system_generator
* @date 2022-09-13
*/
@Service
public class OrgUsrAgencyUserServiceImpl extends BaseService<OrgUsrAgencyUserDto, OrgUsrAgencyUser, OrgUsrAgencyUserMapper> implements IOrgUsrAgencyUserService {
@Autowired
OrgUsrAgencyUserMapper orgUsrAgencyUserMapper;
@Autowired
FirefightersMapper firefightersMapper;
@Autowired
OrgUsrMapper orgUsrMapper;
@Override
public OrgUsrAgencyUser getAccountDetail(String orgUsrId) {
return this.getOne(new LambdaQueryWrapper<OrgUsrAgencyUser>().eq(OrgUsrAgencyUser::getOrgUsrId, orgUsrId));
}
@Override
public void synOrgUser(JSONObject jsonObject) {
JSONObject result = jsonObject.getJSONObject("result");
String methodName = jsonObject.getString("methodName");
String userId = jsonObject.getString("userId");
// 平台添加用户
if ("update".equals(methodName)) {
// 更新cb_org_usr_agency_user
JSONObject object = result.getJSONObject("result");
OrgUsrAgencyUser orgUsrAgencyUser = orgUsrAgencyUserMapper.selectOne(new QueryWrapper<OrgUsrAgencyUser>().eq("amos_user_id", object.getString("userId")));
orgUsrAgencyUser.setUsrName(object.getString("userName"));
orgUsrAgencyUser.setMobile(object.getString("mobile"));
orgUsrAgencyUser.setAmosUserId(object.getString("userId"));
orgUsrAgencyUserMapper.update(orgUsrAgencyUser,new QueryWrapper<OrgUsrAgencyUser>().eq("amos_user_id",object.getString("userId")));
// 更新cb_firefighters
Firefighters firefighter = firefightersMapper.selectOne(new QueryWrapper<Firefighters>().eq("org_usr_id", orgUsrAgencyUser.getOrgUsrId()));
if (!ObjectUtils.isEmpty(firefighter) && !firefighter.getIsDelete()) {
firefighter.setAmosUserId(object.get("userId").toString());
firefighter.setAmosName(object.getString("userName"));
firefightersMapper.update(firefighter, new QueryWrapper<Firefighters>().eq("org_usr_id", orgUsrAgencyUser.getOrgUsrId()));
}
// 更新cb_org_usr
OrgUsr orgUsr1 = orgUsrMapper.selectById(orgUsrAgencyUser.getOrgUsrId());
if (!ObjectUtils.isEmpty(orgUsr1) && !orgUsr1.getIsDelete()) {
orgUsr1.setAmosOrgId(object.get("userId").toString());
List<Map<String, Object>> companys = (List<Map<String, Object>>) object.get("companys");
orgUsr1.setAmosOrgCode(companys.get(0).get("orgCode").toString());
orgUsrMapper.update(orgUsr1,new QueryWrapper<OrgUsr>().eq("sequence_nbr",orgUsrAgencyUser.getOrgUsrId()));
}
} else if ("multDeleteUser".equals(methodName)) {
JSONArray array = result.getJSONArray("result");
List<Object> userIds = array.stream().collect(Collectors.toList());
for (Object id : userIds) {
//删除cb_org_usr_agency_user中信息
OrgUsrAgencyUser orgUsrAgencyUser = orgUsrAgencyUserMapper.selectOne(new QueryWrapper<OrgUsrAgencyUser>().eq("amos_user_id", id));
if (!ObjectUtils.isEmpty(orgUsrAgencyUser)) {
orgUsrAgencyUserMapper.delete(new QueryWrapper<OrgUsrAgencyUser>().eq("amos_user_id", id));
}
// 删除cb_firefighters和用户有关字段
Firefighters firefighter = firefightersMapper.selectOne(new QueryWrapper<Firefighters>().eq("amos_user_id", id));
if (!ObjectUtils.isEmpty(firefighter)) {
firefighter.setAmosUserId("");
firefighter.setAmosName("");
firefightersMapper.update(firefighter, new QueryWrapper<Firefighters>().eq("amos_user_id", id).eq("is_delete", 0));
}
// 删除cb_org_usr与用户有关字段
OrgUsr orgUsr1 = orgUsrMapper.selectOne(new QueryWrapper<OrgUsr>().eq("amos_org_id", id));
if (!ObjectUtils.isEmpty(orgUsr1)) {
orgUsr1.setAmosOrgId("");
orgUsr1.setAmosOrgCode("");
orgUsrMapper.update(orgUsr1,new QueryWrapper<OrgUsr>().eq("amos_org_id",id).eq("is_delete",0));
}
}
}
}
}
\ No newline at end of file
......@@ -270,7 +270,7 @@ public class SupervisionConfigureController extends AbstractBaseController {
String nowStrLong = DateUtils.getNowStrLong();
Date mounthDate = null;
try {
mounthDate = DateUtils.getCurrentMonthEndTime(new Date());
mounthDate = DateUtils.getCurrentMonthStartTime(new Date());
} catch (Exception e) {
throw new RuntimeException(e);
}
......
......@@ -437,7 +437,7 @@ public class FirefightersController extends BaseController {
@ApiOperation(httpMethod = "PUT", value = "获取人员详情", notes = "获取人员详情")
public ResponseModel<PeopleInfoDto> updatePeopleById(@RequestBody PeopleInfoDto firefighters, @PathVariable Long id) {
try {
if ("1601".equals(firefighters.getFirefighters().getPeopleType())){
if ("2".equals(firefighters.getFirefighters().getPeopleType())){
PeopleBasicInfoDto peopleBasicInfoDto = firefighters.getFirefighters();
Firefighters firefighter = new Firefighters();
BeanUtils.copyProperties(peopleBasicInfoDto, firefighter);
......
......@@ -46,4 +46,3 @@ video.url=https://11.11.16.4:443/
ifc.url=http://11.11.16.17/IFCInterface
ifc.call-back.localIp=11.11.16.1
personAgencyCode=STATE_GRID
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment