Browse Source

矛盾纠纷 组织机构修改

hotfix/yujt_opt
zhangyuan 5 years ago
parent
commit
37e1577ce1
  1. 13
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/smile/conflict/dao/ConflictMediateDao.java
  2. 11
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/smile/conflict/service/ConflictMediateService.java
  3. 64
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/smile/conflict/service/impl/ConflictMediateServiceImpl.java
  4. 6
      epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/smile/rocketmq/consumer/OrganizationModifyConsumer.java
  5. 12
      epdc-cloud-property/src/main/resources/mapper/smile/conflict/ConflictMediateDao.xml

13
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/smile/conflict/dao/ConflictMediateDao.java

@ -18,9 +18,10 @@
package com.elink.esua.epdc.modules.smile.conflict.dao; package com.elink.esua.epdc.modules.smile.conflict.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.modules.smile.conflict.entity.ConflictMediateEntity;
import com.elink.esua.epdc.smile.dto.conflict.ConflictMediateDTO;
import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateHistoryFormDTO; import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateHistoryFormDTO;
import com.elink.esua.epdc.smile.dto.conflict.result.ConflictMediateHistoryResultDTO; import com.elink.esua.epdc.smile.dto.conflict.result.ConflictMediateHistoryResultDTO;
import com.elink.esua.epdc.modules.smile.conflict.entity.ConflictMediateEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@ -55,4 +56,14 @@ public interface ConflictMediateDao extends BaseDao<ConflictMediateEntity> {
*/ */
List<ConflictMediateHistoryResultDTO> listConflictMediate(ConflictMediateHistoryFormDTO dto); List<ConflictMediateHistoryResultDTO> listConflictMediate(ConflictMediateHistoryFormDTO dto);
/**
* 查询需要修改组织机构信息事件
*
* @return java.util.List<com.elink.esua.epdc.smile.dto.ConflictMediateDTO>
* @params [deptId]
* @author liuchuang
* @since 2020/3/7 2:08
*/
List<ConflictMediateDTO> selectListOfOrganizationInfo(String deptId);
} }

11
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/smile/conflict/service/ConflictMediateService.java

@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.smile.conflict.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.modules.smile.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.smile.dto.conflict.ConflictMediateDTO; import com.elink.esua.epdc.smile.dto.conflict.ConflictMediateDTO;
import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateFormDTO; import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateFormDTO;
import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateHistoryFormDTO; import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateHistoryFormDTO;
@ -126,4 +127,14 @@ public interface ConflictMediateService extends BaseService<ConflictMediateEntit
* @date 2020-06-10 * @date 2020-06-10
*/ */
ConflictMediateDetailResultDTO getById(String conflictId); ConflictMediateDetailResultDTO getById(String conflictId);
/**
* 修改组织机构信息
*
* @return void
* @params [dto]
* @author zhy
* @since 2020/3/7 1:23
*/
void modifyOrganizationInfo(OrganizationModifyDTO dto);
} }

64
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/smile/conflict/service/impl/ConflictMediateServiceImpl.java

@ -29,19 +29,22 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO; import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.modules.smile.conflict.dao.ConflictMediateDao;
import com.elink.esua.epdc.modules.smile.conflict.entity.ConflictMediateEntity;
import com.elink.esua.epdc.modules.smile.conflict.service.ConflictMediateService;
import com.elink.esua.epdc.modules.smile.feign.AdminFeignClient;
import com.elink.esua.epdc.modules.smile.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.smile.dto.conflict.ConflictMediateDTO; import com.elink.esua.epdc.smile.dto.conflict.ConflictMediateDTO;
import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateFormDTO; import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateFormDTO;
import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateHistoryFormDTO; import com.elink.esua.epdc.smile.dto.conflict.form.ConflictMediateHistoryFormDTO;
import com.elink.esua.epdc.smile.dto.conflict.result.ConflictMediateDetailResultDTO; import com.elink.esua.epdc.smile.dto.conflict.result.ConflictMediateDetailResultDTO;
import com.elink.esua.epdc.smile.dto.conflict.result.ConflictMediateHistoryResultDTO; import com.elink.esua.epdc.smile.dto.conflict.result.ConflictMediateHistoryResultDTO;
import com.elink.esua.epdc.modules.smile.conflict.dao.ConflictMediateDao; import org.apache.commons.lang3.StringUtils;
import com.elink.esua.epdc.modules.smile.conflict.entity.ConflictMediateEntity;
import com.elink.esua.epdc.modules.smile.conflict.service.ConflictMediateService;
import com.elink.esua.epdc.modules.smile.feign.AdminFeignClient;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -143,6 +146,19 @@ public class ConflictMediateServiceImpl extends BaseServiceImpl<ConflictMediateD
return resultDto; return resultDto;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
// 查询需要修改组织机构信息话题
List<ConflictMediateDTO> conflictMediateDTOS = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
if (null != conflictMediateDTOS && conflictMediateDTOS.size() > 0) {
// 组织机构信息处理
List<ConflictMediateEntity> entities = handleOrganizationInfo(dto, conflictMediateDTOS);
// 更新事件组织机构信息
updateBatchById(entities);
}
}
/** /**
* 根据网格ID获取冗余的组织机构信息 * 根据网格ID获取冗余的组织机构信息
* *
@ -160,4 +176,44 @@ public class ConflictMediateServiceImpl extends BaseServiceImpl<ConflictMediateD
} }
return adminResult.getData(); return adminResult.getData();
} }
/**
* 组织机构信息处理
*
* @param dto, conflictList
* @return java.util.List<com.elink.esua.epdc.modules.smile.conflict.entity.ConflictMediateEntity>
* @author zhy
* @date 2020/7/23 14:46
*/
private List<ConflictMediateEntity> handleOrganizationInfo(OrganizationModifyDTO dto, List<ConflictMediateDTO> conflictList) {
List<ConflictMediateEntity> entities = new ArrayList<>();
for (ConflictMediateDTO conflictMediateDTO : conflictList) {
ConflictMediateEntity entity = new ConflictMediateEntity();
if (StringUtils.isNotEmpty(conflictMediateDTO.getParentDeptIds()) && StringUtils.isNotEmpty(conflictMediateDTO.getParentDeptNames())) {
List<String> parentDeptIds = Arrays.asList(conflictMediateDTO.getParentDeptIds().split(","));
List<String> parentDeptNames = Arrays.asList(conflictMediateDTO.getParentDeptNames().split("-"));
int index = parentDeptIds.indexOf(dto.getDeptId().toString());
if (index >= 0 && parentDeptNames.size() > index) {
parentDeptNames.set(index, dto.getNewDeptName());
entity.setId(conflictMediateDTO.getId());
entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
}
}
if (StringUtils.isNotEmpty(conflictMediateDTO.getAllDeptIds()) && StringUtils.isNotEmpty(conflictMediateDTO.getAllDeptNames())) {
List<String> allDeptIds = Arrays.asList(conflictMediateDTO.getAllDeptIds().split(","));
List<String> allDeptNames = Arrays.asList(conflictMediateDTO.getAllDeptNames().split("-"));
int index = allDeptIds.indexOf(dto.getDeptId().toString());
if (index >= 0 && allDeptNames.size() > index) {
allDeptNames.set(index, dto.getNewDeptName());
entity.setId(conflictMediateDTO.getId());
entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
}
}
entities.add(entity);
}
return entities;
}
} }

6
epdc-cloud-property/src/main/java/com/elink/esua/epdc/modules/smile/rocketmq/consumer/OrganizationModifyConsumer.java

@ -2,6 +2,7 @@ package com.elink.esua.epdc.modules.smile.rocketmq.consumer;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant; import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
import com.elink.esua.epdc.modules.smile.conflict.service.ConflictMediateService;
import com.elink.esua.epdc.modules.smile.group.service.GroupService; import com.elink.esua.epdc.modules.smile.group.service.GroupService;
import com.elink.esua.epdc.modules.smile.police.service.PoliceService; import com.elink.esua.epdc.modules.smile.police.service.PoliceService;
import com.elink.esua.epdc.modules.smile.project.service.PropertyProjectService; import com.elink.esua.epdc.modules.smile.project.service.PropertyProjectService;
@ -38,6 +39,9 @@ public class OrganizationModifyConsumer implements RocketMQListener<MessageExt>
@Autowired @Autowired
private PoliceService policeService; private PoliceService policeService;
@Autowired
private ConflictMediateService conflictMediateService;
@Override @Override
public void onMessage(MessageExt messageExt) { public void onMessage(MessageExt messageExt) {
log.info("EPDC-GROUP-SERVER消费消息START:{topic:{}, msgId:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId()); log.info("EPDC-GROUP-SERVER消费消息START:{topic:{}, msgId:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId());
@ -53,6 +57,8 @@ public class OrganizationModifyConsumer implements RocketMQListener<MessageExt>
propertyProjectService.modifyOrganizationInfo(dto); propertyProjectService.modifyOrganizationInfo(dto);
// 民警修改组织机构信息 // 民警修改组织机构信息
policeService.modifyOrganizationInfo(dto); policeService.modifyOrganizationInfo(dto);
// 矛盾纠纷修改组织机构信息
conflictMediateService.modifyOrganizationInfo(dto);
log.info("EPDC-GROUP-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body); log.info("EPDC-GROUP-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body);
} catch (Exception e) { } catch (Exception e) {
log.info("EPDC-GROUP-SERVER消费消息失败:msgId:{}", messageExt.getMsgId()); log.info("EPDC-GROUP-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());

12
epdc-cloud-property/src/main/resources/mapper/smile/conflict/ConflictMediateDao.xml

@ -40,4 +40,16 @@
CREATED_TIME DESC CREATED_TIME DESC
LIMIT #{pageIndex}, #{pageSize}; LIMIT #{pageIndex}, #{pageSize};
</select> </select>
<select id="selectListOfOrganizationInfo" resultType="com.elink.esua.epdc.smile.dto.conflict.ConflictMediateDTO">
SELECT
ID,
PARENT_DEPT_IDS,
PARENT_DEPT_NAMES,
ALL_DEPT_IDS,
ALL_DEPT_NAMES
FROM
epdc_conflict_mediate
WHERE
FIND_IN_SET( #{deptId}, ALL_DEPT_IDS )
</select>
</mapper> </mapper>
Loading…
Cancel
Save