Browse Source

警民相关表增加冗余字段处理

hotfix/yujt_opt
zhangyuan 5 years ago
parent
commit
b6d6f60407
  1. 3
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/entity/PoliceEntity.java
  2. 57
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/service/impl/PoliceServiceImpl.java
  3. 3
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/project/service/impl/PropertyProjectServiceImpl.java
  4. 2
      epdc-cloud-property/src/main/resources/mapper/police/PoliceDao.xml

3
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/entity/PoliceEntity.java

@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.police.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity;
import com.elink.esua.epdc.commons.mybatis.entity.DeptScope;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -34,7 +35,7 @@ import java.util.Date;
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("epdc_police")
public class PoliceEntity extends BaseEpdcEntity {
public class PoliceEntity extends DeptScope {
private static final long serialVersionUID = 1L;

57
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/police/service/impl/PoliceServiceImpl.java

@ -20,12 +20,17 @@ package com.elink.esua.epdc.modules.police.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.mybatis.utils.DeptEntityUtils;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.dto.constant.GroupConstant;
import com.elink.esua.epdc.dto.enums.GroupStateEnum;
import com.elink.esua.epdc.dto.group.GroupListDTO;
import com.elink.esua.epdc.modules.feign.AdminFeignClient;
import com.elink.esua.epdc.modules.group.dao.GroupDao;
import com.elink.esua.epdc.modules.group.entity.GroupEntity;
import com.elink.esua.epdc.modules.police.dao.PoliceDao;
@ -52,6 +57,9 @@ import java.util.Map;
@Service
public class PoliceServiceImpl extends BaseServiceImpl<PoliceDao, PoliceEntity> implements PoliceService {
@Autowired
private AdminFeignClient adminFeignClient;
@Autowired
private PoliceRedis policeRedis;
@ -92,15 +100,25 @@ public class PoliceServiceImpl extends BaseServiceImpl<PoliceDao, PoliceEntity>
@Transactional(rollbackFor = Exception.class)
public void save(PoliceDTO dto) {
PoliceEntity entity = ConvertUtils.sourceToTarget(dto, PoliceEntity.class);
// TODO 冗余字段。
ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(dto.getDeptId() + "");
// 保存机构,及其他冗余字段。
DeptEntityUtils.loadDeptInfo(
ConvertUtils.sourceToTarget(parentAndAllDeptDTO, DeptEntityUtils.DeptDto.class),
entity
);
entity.setDeptName(parentAndAllDeptDTO.getGrid());
insert(entity);
List<GroupListDTO> groupList = groupDao.selectListOfGroupByDeptId(entity.getDeptId());
if (groupList.size() == 0) {
// 创民警的同时创建群
GroupEntity groupEntity = new GroupEntity();
// TODO 冗余字段。
DeptEntityUtils.loadDeptInfo(
ConvertUtils.sourceToTarget(parentAndAllDeptDTO, DeptEntityUtils.DeptDto.class),
groupEntity
);
groupEntity.setReferenceBusinessId(entity.getId());
groupEntity.setState(GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue());
groupEntity.setGroupAvatar(GroupConstant.PROPERTY_GROUP_AVATAR);
@ -116,14 +134,25 @@ public class PoliceServiceImpl extends BaseServiceImpl<PoliceDao, PoliceEntity>
@Transactional(rollbackFor = Exception.class)
public void update(PoliceDTO dto) {
PoliceEntity entity = ConvertUtils.sourceToTarget(dto, PoliceEntity.class);
ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(dto.getDeptId()+"");
// 保存机构,及其他冗余字段。
DeptEntityUtils.loadDeptInfo(
ConvertUtils.sourceToTarget(parentAndAllDeptDTO, DeptEntityUtils.DeptDto.class),
entity
);
entity.setDeptName(parentAndAllDeptDTO.getGrid());
updateById(entity);
List<GroupListDTO> groupList = groupDao.selectListOfGroupByDeptId(entity.getDeptId());
if (groupList.size() == 0) {
// 创民警的同时创建群
GroupEntity groupEntity = new GroupEntity();
// TODO 冗余字段。
//保存用户居住地所在网格,及其他冗余字段。
DeptEntityUtils.loadDeptInfo(
ConvertUtils.sourceToTarget(parentAndAllDeptDTO, DeptEntityUtils.DeptDto.class),
groupEntity
);
groupEntity.setReferenceBusinessId(entity.getId());
groupEntity.setState(GroupStateEnum.GROUP_STATE_EXAMINATION_PASSED.getValue());
groupEntity.setGroupAvatar(GroupConstant.PROPERTY_GROUP_AVATAR);
@ -142,4 +171,22 @@ public class PoliceServiceImpl extends BaseServiceImpl<PoliceDao, PoliceEntity>
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* 根据网格ID获取冗余的组织机构信息
*
* @param
* @return com.elink.esua.epdc.dto.ParentAndAllDeptDTO
* @author rongchao
* @since 2019-12-19
*/
private ParentAndAllDeptDTO getParentAndAllDeptDTO(String gridId) {
// 获取组织结构冗余信息
Result<ParentAndAllDeptDTO> parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(gridId);
ParentAndAllDeptDTO parentAndAllDeptDTO = parentAndAllDeptDTOResult.getData();
if (!parentAndAllDeptDTOResult.success()) {
throw new RenException(parentAndAllDeptDTOResult.getMsg());
}
return parentAndAllDeptDTO;
}
}

3
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/project/service/impl/PropertyProjectServiceImpl.java

@ -120,7 +120,6 @@ public class PropertyProjectServiceImpl extends BaseServiceImpl<PropertyProjectD
PropertyProjectEntity entity = ConvertUtils.sourceToTarget(dto, PropertyProjectEntity.class);
ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(dto.getGridId());
// 保存机构,及其他冗余字段。
DeptEntityUtils.loadDeptInfo(
ConvertUtils.sourceToTarget(parentAndAllDeptDTO, DeptEntityUtils.DeptDto.class),
@ -149,8 +148,8 @@ public class PropertyProjectServiceImpl extends BaseServiceImpl<PropertyProjectD
@Transactional(rollbackFor = Exception.class)
public void update(PropertyProjectDTO dto) {
PropertyProjectEntity entity = ConvertUtils.sourceToTarget(dto, PropertyProjectEntity.class);
ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(dto.getGridId());
ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(dto.getGridId());
// 保存机构,及其他冗余字段。
DeptEntityUtils.loadDeptInfo(
ConvertUtils.sourceToTarget(parentAndAllDeptDTO, DeptEntityUtils.DeptDto.class),

2
epdc-cloud-property/src/main/resources/mapper/police/PoliceDao.xml

@ -25,7 +25,7 @@
</resultMap>
<sql id="Base_Column_List">
ID, POLICE_NAME, POLICE_AVATAR, POLICE_TEL, POLICE_NO, DEPT_ID, DEPT_NAME,
DISPLAY_FLAG CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME,
DISPLAY_FLAG, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME,
ALL_DEPT_IDS, ALL_DEPT_NAMES, PARENT_DEPT_IDS, PARENT_DEPT_NAMES
</sql>
<select id="selectListOfPolice" resultType="com.elink.esua.epdc.modules.police.entity.PoliceEntity">

Loading…
Cancel
Save