diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/pom.xml b/esua-epdc/epdc-module/epdc-points/epdc-points-server/pom.xml
index 3a7a8f47..db052bcb 100644
--- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/pom.xml
+++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/pom.xml
@@ -157,6 +157,8 @@
114.215.125.123:9876
jinshui-pointsGroup
jinshui-pointsGroup
+ jinshui-organizationGroup
+
@@ -186,6 +188,8 @@
114.215.125.123:9876
jinshui-pointsGroup
jinshui-pointsGroup
+ jinshui-organizationGroup
+
@@ -219,6 +223,8 @@
172.16.0.7:9876;172.16.0.8:9876
jinshui-pointsGroup
jinshui-pointsGroup
+ jinshui-organizationGroup
+
diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsLogsDao.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsLogsDao.java
index 866b9b98..ec381742 100755
--- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsLogsDao.java
+++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/dao/PointsLogsDao.java
@@ -153,4 +153,12 @@ public interface PointsLogsDao extends BaseDao {
* @date 2020/8/3 13:43
*/
List selectListPoints(Map params);
+ /**
+ * @Description
+ * @Author songyunpeng
+ * @Date 2020/12/21
+ * @Param [toString]
+ * @return java.util.List
+ **/
+ List selectListOfOrganizationInfo(String toString);
}
diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/OrganizationModifyConsumer.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/OrganizationModifyConsumer.java
new file mode 100644
index 00000000..f9da09f7
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/OrganizationModifyConsumer.java
@@ -0,0 +1,46 @@
+package com.elink.esua.epdc.mq;
+
+import com.alibaba.fastjson.JSONObject;
+import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
+import com.elink.esua.epdc.mq.dto.OrganizationModifyDTO;
+import com.elink.esua.epdc.service.PointsLogsService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.common.message.MessageExt;
+import org.apache.rocketmq.spring.annotation.MessageModel;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ *
+ * 组织机构信息修改-监听MQ消息
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/7 13:47
+ */
+@Slf4j
+@Component
+@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_ORGANIZATION, consumerGroup = "${rocketmq.consumer.group}", messageModel = MessageModel.BROADCASTING)
+public class OrganizationModifyConsumer implements RocketMQListener {
+
+ @Autowired
+ private PointsLogsService pointsLogsService;
+
+ @Override
+ public void onMessage(MessageExt messageExt) {
+ log.info("EPDC-POINTS-SERVER消费消息START:{topic:{}, msgId:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId());
+ try {
+ String charset = "UTF-8";
+ String body = new String(messageExt.getBody(), charset);
+ OrganizationModifyDTO dto = JSONObject.parseObject(body, OrganizationModifyDTO.class);
+ //积分日志表修改组织机构信息
+ pointsLogsService.modifyOrganizationInfo(dto);
+
+ log.info("EPDC-POINTS-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body);
+ } catch (Exception e) {
+ log.info("EPDC-POINTS-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/dto/OrganizationModifyDTO.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/dto/OrganizationModifyDTO.java
new file mode 100644
index 00000000..8ce0a98d
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/mq/dto/OrganizationModifyDTO.java
@@ -0,0 +1,37 @@
+package com.elink.esua.epdc.mq.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 组织机构信息修改-接收MQ消息DTO
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/7 13:46
+ */
+@Data
+public class OrganizationModifyDTO implements Serializable {
+ private static final long serialVersionUID = -5692602006311937083L;
+
+ /**
+ * 部门ID
+ */
+ private Long deptId;
+
+ /**
+ * 旧部门名称
+ */
+ private String oldDeptName;
+
+ /**
+ * 新部门名称
+ */
+ private String newDeptName;
+
+ /**
+ * 部门类型
+ */
+ private String typeKey;
+}
diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java
index 92925f8b..be82b299 100755
--- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java
+++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/PointsLogsService.java
@@ -32,6 +32,7 @@ import com.elink.esua.epdc.dto.result.EpdcAppPointsRecordResultDTO;
import com.elink.esua.epdc.dto.result.PointsLogsResultDTO;
import com.elink.esua.epdc.dto.result.PointsStatisticsListResultDTO;
import com.elink.esua.epdc.entity.PointsLogsEntity;
+import com.elink.esua.epdc.mq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -200,4 +201,12 @@ public interface PointsLogsService extends BaseService {
* @date 2020/8/3 13:41
*/
PageData listPoint(Map params);
+ /**
+ * @Description mq修改组织机构信息
+ * @Author songyunpeng
+ * @Date 2020/12/21
+ * @Param [dto]
+ * @return void
+ **/
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java
index 05b1206f..c3a27c11 100755
--- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/java/com/elink/esua/epdc/service/impl/PointsLogsServiceImpl.java
@@ -33,10 +33,7 @@ import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dao.PointsLogsDao;
-import com.elink.esua.epdc.dto.EpdcAdjustUserPointsDTO;
-import com.elink.esua.epdc.dto.PointsLogsDTO;
-import com.elink.esua.epdc.dto.UserDTO;
-import com.elink.esua.epdc.dto.UserPointResultDTO;
+import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.constant.PointsNoticeConstant;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO;
@@ -48,6 +45,7 @@ import com.elink.esua.epdc.dto.result.*;
import com.elink.esua.epdc.entity.PointsLogsEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.feign.UsersFeignClient;
+import com.elink.esua.epdc.mq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.redis.PointsLogsRedis;
import com.elink.esua.epdc.service.PointsBehaviorService;
import com.elink.esua.epdc.service.PointsLogsService;
@@ -367,4 +365,56 @@ public class PointsLogsServiceImpl extends BaseServiceImpl userPointResultDTOS = baseDao.selectListPoints(params);
return new PageData<>(userPointResultDTOS, iPage.getTotal());
}
+
+ @Override
+ public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
+ // 查询需要修改的组织机构信息
+ List gridList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != gridList && gridList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, gridList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+ }
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, gridList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 15:25
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List gridList) {
+ List entities = new ArrayList<>();
+ for (PointsLogsDTO grid: gridList) {
+ PointsLogsEntity entity = new PointsLogsEntity();
+ if (StringUtils.isNotEmpty(grid.getParentDeptIds()) && StringUtils.isNotEmpty(grid.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(grid.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(grid.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(grid.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(grid.getAllDeptIds()) && StringUtils.isNotEmpty(grid.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(grid.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(grid.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(grid.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/application.yml
index ddc89ff2..5e675643 100644
--- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/application.yml
+++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/application.yml
@@ -94,6 +94,7 @@ rocketmq:
producer:
group: @rocketmq.producer.group@
consumer:
+ group: @rocketmq.consumer.group@
points-group: @rocketmq.consumer.points.group@
diff --git a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsLogsDao.xml b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsLogsDao.xml
index 3bec897d..a33061f1 100755
--- a/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsLogsDao.xml
+++ b/esua-epdc/epdc-module/epdc-points/epdc-points-server/src/main/resources/mapper/PointsLogsDao.xml
@@ -258,4 +258,16 @@
ORDER BY points DESC
+