diff --git a/esua-epdc/epdc-admin/epdc-admin-server/epdc-admin-server.iml b/esua-epdc/epdc-admin/epdc-admin-server/epdc-admin-server.iml
index 0a493367..71429958 100644
--- a/esua-epdc/epdc-admin/epdc-admin-server/epdc-admin-server.iml
+++ b/esua-epdc/epdc-admin/epdc-admin-server/epdc-admin-server.iml
@@ -25,10 +25,6 @@
-
-
-
-
@@ -137,7 +133,7 @@
-
+
@@ -225,9 +221,6 @@
-
-
-
@@ -239,6 +232,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -257,5 +269,7 @@
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/pom.xml b/esua-epdc/epdc-admin/epdc-admin-server/pom.xml
index 68730332..25fb339e 100644
--- a/esua-epdc/epdc-admin/epdc-admin-server/pom.xml
+++ b/esua-epdc/epdc-admin/epdc-admin-server/pom.xml
@@ -68,6 +68,12 @@
1.0.0
compile
+
+
+ org.apache.rocketmq
+ rocketmq-spring-boot-starter
+ 2.0.2
+
@@ -143,6 +149,9 @@
wx29b074840ef4bfd9
4adb1afccc69f205cdf5b521d74e2aca
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
@@ -165,6 +174,9 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
@@ -199,77 +211,6 @@
Elink@833066
-
-
- prod_kongcun
-
- 9055
- prod
- prod
-
-
- true
- 172.16.1.238:8848
-
- http://172.31.171.61:9411
-
- wx04ee7d7a849fa2a8
- 3980e207b86bccea8d3c0bf7d16adeba
-
- wxddb240334d09049f
- 071b8c70da0d0482aaf79052e64f83bc
-
-
-
-
- epdc
- Elink@833066
-
-
- 0
- 172.16.1.238
- 6379
- Elink833066
-
-
-
-
- prod_shibei_aliyun
-
- 9055
- prod
- prod
-
-
- 0
- 172.16.0.54
- 6379
- Elink833066
-
-
- true
- 172.16.0.52:8848
-
- http://172.31.171.61:9411
-
-
- wxdd8530c5f4926766
- 5bf4fb813145431b3493a10aa7e041e9
-
-
-
-
- wx9f20a46906ab2c3e
- dc13065f79429979d9f687d249eb5c4e
-
-
-
-
- epdc
- Elink@833066
-
-
-
prod_jinshui
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/rocketmq/dto/OrganizationModifyDTO.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/rocketmq/dto/OrganizationModifyDTO.java
new file mode 100644
index 00000000..7e1b2b07
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/rocketmq/dto/OrganizationModifyDTO.java
@@ -0,0 +1,38 @@
+package com.elink.esua.epdc.rocketmq.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 组织机构信息修改-发送MQ消息DTO
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/16 9:30
+ */
+@Data
+public class OrganizationModifyDTO implements Serializable {
+
+ private static final long serialVersionUID = -1330090682508121169L;
+
+ /**
+ * 部门ID
+ */
+ private Long deptId;
+
+ /**
+ * 旧部门名称
+ */
+ private String oldDeptName;
+
+ /**
+ * 新部门名称
+ */
+ private String newDeptName;
+
+ /**
+ * 部门类型
+ */
+ private String typeKey;
+}
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/rocketmq/producer/OrganizationModifyProducer.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/rocketmq/producer/OrganizationModifyProducer.java
new file mode 100644
index 00000000..525d70f8
--- /dev/null
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/rocketmq/producer/OrganizationModifyProducer.java
@@ -0,0 +1,43 @@
+package com.elink.esua.epdc.rocketmq.producer;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ *
+ * 组织机构信息修改-发送MQ消息
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/16 13:38
+ */
+@Slf4j
+@Component
+public class OrganizationModifyProducer {
+
+ @Autowired
+ private RocketMQTemplate rocketMQTemplate;
+
+ /**
+ *
+ * 发送消息
+ *
+ * @params [topic, tag, keys, body]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/6 21:09
+ */
+ public void sendMessage(String topic, String tag, String keys, String body) {
+ Message message = new Message(topic, tag, keys, body.getBytes());
+ try {
+ SendResult sendResult = rocketMQTemplate.getProducer().send(message);
+ log.info("EPDC-ADMIN-SERVER发送消息结果:{sendStatus:{}, topic:{}, msgId:{}}", sendResult.getSendStatus(), topic, sendResult.getMsgId());
+ } catch (Exception e) {
+ log.error("EPDC-ADMIN-SERVER发送消息异常:{topic:{}, tag:{}, keys:{}, body:{}}", topic, tag, keys, body);
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
index de54a834..71f67d30 100644
--- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java
@@ -14,10 +14,7 @@ import com.alibaba.fastjson.JSONObject;
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.tools.constant.Constant;
-import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
-import com.elink.esua.epdc.commons.tools.constant.NumConstant;
-import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
+import com.elink.esua.epdc.commons.tools.constant.*;
import com.elink.esua.epdc.commons.tools.enums.SuperAdminEnum;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
@@ -37,6 +34,8 @@ import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
import com.elink.esua.epdc.entity.SysDeptEntity;
import com.elink.esua.epdc.feign.GroupFeignClient;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
+import com.elink.esua.epdc.rocketmq.producer.OrganizationModifyProducer;
import com.elink.esua.epdc.service.SysDeptService;
import com.elink.esua.epdc.service.SysUserService;
import com.google.common.collect.Lists;
@@ -75,6 +74,9 @@ public class SysDeptServiceImpl extends BaseServiceImpl list(Map params) {
@@ -154,6 +156,8 @@ public class SysDeptServiceImpl extends BaseServiceImpl userDtoList = this.baseDao.selectListCompleteDeptDTO(params);
return new PageData<>(userDtoList, iPage.getTotal());
}
+
+ /**
+ *
+ * 组织机构名称修改发送MQ消息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/6 21:34
+ */
+ private void sendMqMessage(SysDeptDTO dto) {
+ // 获取旧信息
+ SysDeptEntity entity = baseDao.getById(dto.getId());
+ if (!dto.getName().equals(entity.getName())) {
+ OrganizationModifyDTO body = new OrganizationModifyDTO();
+ body.setDeptId(dto.getId());
+ body.setOldDeptName(entity.getName());
+ body.setNewDeptName(dto.getName());
+ body.setTypeKey(entity.getTypeKey());
+ organizationModifyProducer.sendMessage(RocketMqConstant.MQ_TOPIC_ORGANIZATION, RocketMqConstant.MQ_TAG_ORGANIZATION,
+ dto.getId().toString(), JSONObject.toJSONString(body));
+ }
+ }
}
diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml
index cb9caf2f..9e6736fb 100644
--- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml
+++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/application.yml
@@ -102,4 +102,9 @@ hystrix:
ribbon:
ReadTimeout: 300000
- ConnectTimeout: 300000
\ No newline at end of file
+ ConnectTimeout: 300000
+
+rocketmq:
+ name-server: @rocketmq.name.server@
+ producer:
+ group: @rocketmq.producer.group@
\ No newline at end of file
diff --git a/esua-epdc/epdc-admin/epdc-admin.iml b/esua-epdc/epdc-admin/epdc-admin.iml
index 318fbe19..d1f05fac 100644
--- a/esua-epdc/epdc-admin/epdc-admin.iml
+++ b/esua-epdc/epdc-admin/epdc-admin.iml
@@ -45,5 +45,7 @@
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RocketMqConstant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RocketMqConstant.java
new file mode 100644
index 00000000..ecbd2e61
--- /dev/null
+++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/RocketMqConstant.java
@@ -0,0 +1,31 @@
+package com.elink.esua.epdc.commons.tools.constant;
+
+/**
+ *
+ * RocketMq 常量类
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/16 14:50
+ */
+public interface RocketMqConstant {
+
+ /**
+ * 组织机构信息修改-消息topic
+ */
+ String MQ_TOPIC_ORGANIZATION = "jinshui-organizationTopic";
+
+ /**
+ * 组织机构信息修改-消息tag
+ */
+ String MQ_TAG_ORGANIZATION = "jinshui-organizationTag";
+
+ /**
+ * 分类信息修改-消息topic
+ */
+ String MQ_TOPIC_CATEGORY = "jinshui-categoryTopic";
+
+ /**
+ * 分类信息修改-消息tag
+ */
+ String MQ_TAG_CATEGORY = "jinshui-categoryTag";
+}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDTO.java
index 4f5899fd..776be721 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDTO.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/EpdcEventsDTO.java
@@ -49,4 +49,26 @@ public class EpdcEventsDTO implements Serializable {
*/
private Date createdTime;
+ /**
+ * 父所有部门ID
+ */
+ private String parentDeptIds;
+ /**
+ * 父所有部门名称
+ */
+ private String parentDeptNames;
+ /**
+ * 所有部门ID
+ */
+ private String allDeptIds;
+ /**
+ * 所有部门名称
+ */
+ private String allDeptNames;
+
+ /**
+ * 分类全称
+ */
+ private String categoryFullName;
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/GroupFormDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/GroupFormDTO.java
new file mode 100644
index 00000000..3b2b75fc
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/events/form/GroupFormDTO.java
@@ -0,0 +1,24 @@
+package com.elink.esua.epdc.dto.events.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author:liuchuang
+ * @Date:2020/3/7 12:46
+ */
+@Data
+public class GroupFormDTO implements Serializable {
+ private static final long serialVersionUID = 5915096900970194933L;
+
+ /**
+ * 社群ID
+ */
+ private String id;
+
+ /**
+ * 社群名称
+ */
+ private String groupName;
+}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java
index b42f1b3d..0b203bc7 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/issue/IssueDTO.java
@@ -183,4 +183,26 @@ public class IssueDTO implements Serializable {
*/
private String issueCode;
+ /**
+ * 父所有部门ID
+ */
+ private String parentDeptIds;
+ /**
+ * 父所有部门名称
+ */
+ private String parentDeptNames;
+ /**
+ * 所有部门ID
+ */
+ private String allDeptIds;
+ /**
+ * 所有部门名称
+ */
+ private String allDeptNames;
+
+ /**
+ * 分类全称
+ */
+ private String categoryFullName;
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java
index 8e6ce9ba..ebe00bdc 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/item/ItemDTO.java
@@ -200,4 +200,26 @@ public class ItemDTO implements Serializable {
*/
private String itemCode;
+ /**
+ * 父所有部门ID
+ */
+ private String parentDeptIds;
+ /**
+ * 父所有部门名称
+ */
+ private String parentDeptNames;
+ /**
+ * 所有部门ID
+ */
+ private String allDeptIds;
+ /**
+ * 所有部门名称
+ */
+ private String allDeptNames;
+
+ /**
+ * 分类全称
+ */
+ private String categoryFullName;
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/epdc-events-server.iml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/epdc-events-server.iml
index 1dc0ee7b..689939ff 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/epdc-events-server.iml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/epdc-events-server.iml
@@ -143,7 +143,7 @@
-
+
@@ -221,6 +221,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -239,5 +251,7 @@
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml
index 9c63926b..aa8bc561 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/pom.xml
@@ -75,6 +75,12 @@
1.0.0
compile
+
+
+ org.apache.rocketmq
+ rocketmq-spring-boot-starter
+ 2.0.2
+
@@ -164,6 +170,11 @@
wx29b074840ef4bfd9
4adb1afccc69f205cdf5b521d74e2aca
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
+ jinshui-categoryGroup
+ jinshui-categoryGroup
@@ -199,6 +210,11 @@
wx9f20a46906ab2c3e
dc13065f79429979d9f687d249eb5c4e
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
+ jinshui-categoryGroup
+ jinshui-categoryGroup
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java
index 8d1c455a..a4c1ab4c 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/category/service/impl/CategoryServiceImpl.java
@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
+import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
import com.elink.esua.epdc.commons.tools.exception.ErrorCode;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.redis.RedisKeys;
@@ -40,6 +41,8 @@ import com.elink.esua.epdc.modules.category.dao.CategoryDao;
import com.elink.esua.epdc.modules.category.entity.CategoryEntity;
import com.elink.esua.epdc.modules.category.redis.CategoryRedis;
import com.elink.esua.epdc.modules.category.service.CategoryService;
+import com.elink.esua.epdc.modules.rocketmq.dto.CategoryModifyDTO;
+import com.elink.esua.epdc.modules.rocketmq.producer.CategoryModifyProducer;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
@@ -80,6 +83,8 @@ public class CategoryServiceImpl extends BaseServiceImpl groups) {
+ epdcEventsService.modifyPartyGroupName(groups);
+ return new Result();
+ }
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java
index 04f0c83e..5a20c5fc 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/dao/EpdcEventsDao.java
@@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.events.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.events.*;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
@@ -144,6 +145,48 @@ public interface EpdcEventsDao extends BaseDao {
*/
List listIssuePendingResponse(IssuePendingResponseFormDTO formDto);
+ /**
+ *
+ * 查询需要修改组织机构信息事件
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 0:20
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新网格名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateGridByDeptId(String newDeptName, Long deptId);
+ /**
+ *
+ * 查询需要修改的分类信息
+ *
+ * @params [oldCategoryName]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 16:39
+ */
+ List selectListOfCategoryInfo(String oldCategoryName);
+
+ /**
+ *
+ * 更新事件表党员群名称
+ *
+ * @params [groups]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 12:54
+ */
+ void updateBatchPartyGroupName(@Param("groups") List groups);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
index c39f6874..7358f946 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/EpdcEventsService.java
@@ -23,12 +23,15 @@ import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.events.*;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.dto.issue.form.IssuePendingResponseFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssuePendingResponseResultDTO;
import com.elink.esua.epdc.dto.issue.result.IssueStateStatisticsResultDTO;
import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity;
+import com.elink.esua.epdc.modules.rocketmq.dto.CategoryModifyDTO;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -208,4 +211,37 @@ public interface EpdcEventsService extends BaseService {
*/
Result topicToIssue(EpdcEventSubmitFormDTO dto);
+ /**
+ *
+ * 事件修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
+
+ /**
+ *
+ * 修改分类信息
+ *
+ * @params []
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 16:33
+ */
+ void modifyCategoryInfo(CategoryModifyDTO dto);
+
+ /**
+ *
+ * 更新事件表、议题表、项目表党员群名称
+ *
+ * @params [groups]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 12:50
+ */
+ void modifyPartyGroupName(List groups);
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
index b955a02c..1361edb0 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java
@@ -40,6 +40,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.events.*;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO;
import com.elink.esua.epdc.dto.issue.IssueDTO;
@@ -61,6 +62,8 @@ import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity;
import com.elink.esua.epdc.modules.issue.service.IssueHandleService;
import com.elink.esua.epdc.modules.issue.service.IssueService;
import com.elink.esua.epdc.modules.item.service.ItemService;
+import com.elink.esua.epdc.modules.rocketmq.dto.CategoryModifyDTO;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -542,4 +545,113 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl eventsList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != eventsList && eventsList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, eventsList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+
+ // 更新网格名称
+ baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, eventsList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 1:17
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List eventsList) {
+ List entities = new ArrayList<>();
+ for (EpdcEventsDTO events: eventsList) {
+ EpdcEventsEntity entity = new EpdcEventsEntity();
+ if (StringUtils.isNotEmpty(events.getParentDeptIds()) && StringUtils.isNotEmpty(events.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(events.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(events.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(events.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(events.getAllDeptIds()) && StringUtils.isNotEmpty(events.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(events.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(events.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(events.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyCategoryInfo(CategoryModifyDTO dto) {
+ // 查询需要修改的分类信息
+ List eventsList = baseDao.selectListOfCategoryInfo(dto.getOldCategoryName());
+ if (null != eventsList && eventsList.size() > 0) {
+ // 分类信息处理
+ List entities = handleCategoryInfo(dto, eventsList);
+ // 更新分类信息
+ updateBatchById(entities);
+ }
+ }
+
+ /**
+ *
+ * 分类信息处理
+ *
+ * @params [dto, eventsList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 17:00
+ */
+ private List handleCategoryInfo(CategoryModifyDTO dto, List eventsList) {
+ List entities = new ArrayList<>();
+ for (EpdcEventsDTO events: eventsList) {
+ if (StringUtils.isNotEmpty(events.getCategoryFullName())) {
+ List categoryFullName = Arrays.asList(events.getCategoryFullName().split("-"));
+ int index = categoryFullName.indexOf(dto.getOldCategoryName());
+ if (index >= 0) {
+ categoryFullName.set(index, dto.getNewCategoryName());
+ EpdcEventsEntity entity = new EpdcEventsEntity();
+ entity.setId(events.getId());
+ entity.setCategoryFullName(StringUtils.join(categoryFullName, "-"));
+ entities.add(entity);
+ }
+ }
+ }
+
+ return entities;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyPartyGroupName(List groups) {
+ // 更新事件表党员群名称
+ baseDao.updateBatchPartyGroupName(groups);
+ // 更新议题表党员群名称
+ issueService.modifyPartyGroupName(groups);
+ // 更新项目表党员群名称
+ itemService.modifyPartyGroupName(groups);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
index 93d41824..5fe7c87b 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueDao.java
@@ -18,7 +18,9 @@
package com.elink.esua.epdc.modules.issue.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.issue.IssueContentDetailDTO;
+import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.dto.issue.IssueWaitHandleDetailDTO;
import com.elink.esua.epdc.dto.issue.IssueWaitHandleOrClosedDTO;
import com.elink.esua.epdc.dto.issue.form.*;
@@ -158,4 +160,48 @@ public interface IssueDao extends BaseDao {
* @since 2019/11/21 15:16
*/
List selectListIssueProgress(String issueId);
+
+ /**
+ *
+ * 查询需要修改组织机构信息事件
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 0:20
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新网格名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateGridByDeptId(String newDeptName, Long deptId);
+
+ /**
+ *
+ * 查询需要修改的分类信息
+ *
+ * @params [oldCategoryName]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 16:39
+ */
+ List selectListOfCategoryInfo(String oldCategoryName);
+
+ /**
+ *
+ * 更新议题表党员群名称
+ *
+ * @params [groups]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 12:54
+ */
+ void updateBatchPartyGroupName(@Param("groups") List groups);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueHandleDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueHandleDao.java
index 0292def2..3c771950 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueHandleDao.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/dao/IssueHandleDao.java
@@ -30,4 +30,14 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IssueHandleDao extends BaseDao {
+ /**
+ *
+ * 更新操作人部门名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateDeptNameByDeptId(String newDeptName, Long deptId);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueHandleService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueHandleService.java
index 0f1db25c..80bf7a10 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueHandleService.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueHandleService.java
@@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.issue.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
/**
* 议题处理表 议题处理表
@@ -37,4 +38,15 @@ public interface IssueHandleService extends BaseService {
* @date
*/
void delete(String[] ids);
+
+ /**
+ *
+ * 议题处理进度修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
index beccfff2..c16ba47f 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/IssueService.java
@@ -21,6 +21,7 @@ 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.utils.Result;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO;
import com.elink.esua.epdc.dto.issue.form.*;
import com.elink.esua.epdc.dto.issue.IssueContentDetailDTO;
@@ -31,6 +32,8 @@ import com.elink.esua.epdc.dto.issue.form.IssueFormDTO;
import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO;
import com.elink.esua.epdc.dto.issue.result.*;
import com.elink.esua.epdc.modules.issue.entity.IssueEntity;
+import com.elink.esua.epdc.modules.rocketmq.dto.CategoryModifyDTO;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@@ -248,4 +251,37 @@ public interface IssueService extends BaseService {
* @since 2019/11/21 15:16
*/
List listIssueProgress(String issueId);
+
+ /**
+ *
+ * 议题修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
+
+ /**
+ *
+ * 修改分类信息
+ *
+ * @params []
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 16:33
+ */
+ void modifyCategoryInfo(CategoryModifyDTO dto);
+
+ /**
+ *
+ * 更新议题表党员群名称
+ *
+ * @params [groups]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 12:50
+ */
+ void modifyPartyGroupName(List groups);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueHandleServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueHandleServiceImpl.java
index c8491945..5100805a 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueHandleServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/issue/service/impl/IssueHandleServiceImpl.java
@@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.modules.issue.dao.IssueHandleDao;
import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity;
import com.elink.esua.epdc.modules.issue.service.IssueHandleService;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -42,4 +43,11 @@ public class IssueHandleServiceImpl extends BaseServiceImpl imp
sms.setSmsTemplateType(SysSmsTemplateConstant.SMS_TEMPLATE_RESIDENTS_ISSUE_CHANGE_ITEM);
issueOverseeResultsTask.sendSmsNotice(sms);
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
+ // 查询需要修改组织机构信息议题
+ List issueList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != issueList && issueList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, issueList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+
+ // 更新网格名称
+ baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, issueList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 1:17
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List issueList) {
+ List entities = new ArrayList<>();
+ for (IssueDTO issue: issueList) {
+ IssueEntity entity = new IssueEntity();
+ if (StringUtils.isNotEmpty(issue.getParentDeptIds()) && StringUtils.isNotEmpty(issue.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(issue.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(issue.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(issue.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(issue.getAllDeptIds()) && StringUtils.isNotEmpty(issue.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(issue.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(issue.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(issue.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyCategoryInfo(CategoryModifyDTO dto) {
+ // 查询需要修改的分类信息
+ List issueList = baseDao.selectListOfCategoryInfo(dto.getOldCategoryName());
+ if (null != issueList && issueList.size() > 0) {
+ // 分类信息处理
+ List entities = handleCategoryInfo(dto, issueList);
+ // 更新分类信息
+ updateBatchById(entities);
+ }
+ }
+
+ /**
+ *
+ * 分类信息处理
+ *
+ * @params [dto, eventsList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 17:00
+ */
+ private List handleCategoryInfo(CategoryModifyDTO dto, List issueList) {
+ List entities = new ArrayList<>();
+ for (IssueDTO issue: issueList) {
+ if (StringUtils.isNotEmpty(issue.getCategoryFullName())) {
+ List categoryFullName = Arrays.asList(issue.getCategoryFullName().split("-"));
+ int index = categoryFullName.indexOf(dto.getOldCategoryName());
+ if (index >= 0) {
+ categoryFullName.set(index, dto.getNewCategoryName());
+ IssueEntity entity = new IssueEntity();
+ entity.setId(issue.getId());
+ entity.setCategoryFullName(StringUtils.join(categoryFullName, "-"));
+ entities.add(entity);
+ }
+ }
+ }
+
+ return entities;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyPartyGroupName(List groups) {
+ // 更新议题表党员群名称
+ baseDao.updateBatchPartyGroupName(groups);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
index 89358e90..6a9f9904 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDao.java
@@ -18,6 +18,7 @@
package com.elink.esua.epdc.modules.item.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.ItemCategoryStatisticsFormDTO;
@@ -225,4 +226,48 @@ public interface ItemDao extends BaseDao {
* @Date: 2020-01-14
*/
List queryParentDeptId(@Param("itemId") String itemId, @Param("deptId") Long deptId);
+
+ /**
+ *
+ * 查询需要修改组织机构信息事件
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 0:20
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新网格名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateGridByDeptId(String newDeptName, Long deptId);
+
+ /**
+ *
+ * 查询需要修改的分类信息
+ *
+ * @params [oldCategoryName]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 16:39
+ */
+ List selectListOfCategoryInfo(String oldCategoryName);
+
+ /**
+ *
+ * 更新项目表党员群名称
+ *
+ * @params [groups]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 12:54
+ */
+ void updateBatchPartyGroupName(@Param("groups") List groups);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDeptDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDeptDao.java
index f06d93ad..27b97ec8 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDeptDao.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemDeptDao.java
@@ -70,4 +70,15 @@ public interface ItemDeptDao extends BaseDao {
* @Date: 2019/9/17 9:08
*/
List selectListOfEvaluateDepts(String itemId, Long deptId);
+
+ /**
+ *
+ * 更新部门名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateDeptNameByDeptId(String newDeptName, Long deptId);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemEvaluateDeptDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemEvaluateDeptDao.java
index 53f0cb32..38be0873 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemEvaluateDeptDao.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemEvaluateDeptDao.java
@@ -44,4 +44,15 @@ public interface ItemEvaluateDeptDao extends BaseDao {
*/
List selectListOfDeptEvaluateByItemId(String itemId);
+ /**
+ *
+ * 更新被评价部门名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateDeptNameByDeptId(String newDeptName, Long deptId);
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java
index cf5e948d..805da2e6 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemHandleProcessDao.java
@@ -42,4 +42,15 @@ public interface ItemHandleProcessDao extends BaseDao {
*/
void insertItemHandleProcess(ItemHandleProcessDTO dto);
+ /**
+ *
+ * 更新操作人部门名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateDeptNameByDeptId(String newDeptName, Long deptId);
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemInformationDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemInformationDao.java
index dac96f84..cea65626 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemInformationDao.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/dao/ItemInformationDao.java
@@ -55,4 +55,15 @@ public interface ItemInformationDao extends BaseDao {
*/
int updateInformationReadFlag(ItemInformationFormDTO formDto);
+ /**
+ *
+ * 更新处理部门名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateDeptNameByDeptId(String newDeptName, Long deptId);
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemDeptService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemDeptService.java
index c3cee906..f6677528 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemDeptService.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemDeptService.java
@@ -22,6 +22,7 @@ import com.elink.esua.epdc.dto.item.ItemDeptDTO;
import com.elink.esua.epdc.dto.item.ItemEvaluateDeptDTO;
import com.elink.esua.epdc.dto.item.form.ItemHandleSubmitFormDTO;
import com.elink.esua.epdc.modules.item.entity.ItemDeptEntity;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
@@ -89,4 +90,15 @@ public interface ItemDeptService extends BaseService {
* @Date: 2019/9/17 9:09
*/
List listOfEvaluateDepts(String itemId, Long deptId);
+
+ /**
+ *
+ * 项目部门关系表修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemEvaluateDeptService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemEvaluateDeptService.java
index 009e2852..1008d3b6 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemEvaluateDeptService.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemEvaluateDeptService.java
@@ -20,6 +20,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.dto.item.ItemEvaluateDeptDTO;
import com.elink.esua.epdc.dto.item.result.ItemDeptEvaluateResultDTO;
import com.elink.esua.epdc.modules.item.entity.ItemEvaluateDeptEntity;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -61,4 +62,15 @@ public interface ItemEvaluateDeptService extends BaseService listOfDeptEvaluateByItemId(String itemId);
+
+ /**
+ *
+ * 修改被评价部门名称
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java
index 7d3493e4..a32bd233 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemHandleProcessService.java
@@ -20,6 +20,7 @@ package com.elink.esua.epdc.modules.item.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.dto.item.ItemHandleProcessDTO;
import com.elink.esua.epdc.modules.item.entity.ItemHandleProcessEntity;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
/**
@@ -50,4 +51,15 @@ public interface ItemHandleProcessService extends BaseService> notice(ItemInformationFormDTO formDto);
+
+ /**
+ *
+ * 修改处理部门名称
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
index 7827cfa9..efe1dec5 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/ItemService.java
@@ -21,11 +21,14 @@ 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.utils.Result;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.item.ItemDTO;
import com.elink.esua.epdc.dto.item.ItemPendingHandleDTO;
import com.elink.esua.epdc.dto.item.form.*;
import com.elink.esua.epdc.dto.item.result.*;
import com.elink.esua.epdc.modules.item.entity.ItemEntity;
+import com.elink.esua.epdc.modules.rocketmq.dto.CategoryModifyDTO;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -321,4 +324,37 @@ public interface ItemService extends BaseService {
* @Date 2020/1/13 16:55
**/
Result> queryHandleCategories();
+
+ /**
+ *
+ * 项目修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
+
+ /**
+ *
+ * 修改分类信息
+ *
+ * @params []
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 16:33
+ */
+ void modifyCategoryInfo(CategoryModifyDTO dto);
+
+ /**
+ *
+ * 更新项目表党员群名称
+ *
+ * @params [groups]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 12:50
+ */
+ void modifyPartyGroupName(List groups);
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemDeptServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemDeptServiceImpl.java
index 930e0a17..11dda72f 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemDeptServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemDeptServiceImpl.java
@@ -25,6 +25,7 @@ import com.elink.esua.epdc.dto.item.result.ItemCirculationDeptResultDTO;
import com.elink.esua.epdc.modules.item.dao.ItemDeptDao;
import com.elink.esua.epdc.modules.item.entity.ItemDeptEntity;
import com.elink.esua.epdc.modules.item.service.ItemDeptService;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -86,4 +87,11 @@ public class ItemDeptServiceImpl extends BaseServiceImpl>().ok(data);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
+ // 更新部门名称
+ baseDao.updateDeptNameByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
index 7319cbef..382ba0df 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/item/service/impl/ItemServiceImpl.java
@@ -42,6 +42,7 @@ import com.elink.esua.epdc.dto.MenuNoticeDTO;
import com.elink.esua.epdc.dto.SysDeptDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.events.EpdcEventsCommentsDTO;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO;
import com.elink.esua.epdc.dto.issue.result.IssueProgressResultDTO;
import com.elink.esua.epdc.dto.item.*;
@@ -75,6 +76,8 @@ import com.elink.esua.epdc.modules.item.dao.ItemGridPlatformDao;
import com.elink.esua.epdc.modules.item.dao.ItemHandleProcessDao;
import com.elink.esua.epdc.modules.item.entity.*;
import com.elink.esua.epdc.modules.item.service.*;
+import com.elink.esua.epdc.modules.rocketmq.dto.CategoryModifyDTO;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.modules.rolecategory.service.HandleRoleCategoryService;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
@@ -1342,4 +1345,109 @@ public class ItemServiceImpl extends BaseServiceImpl implem
return itemHandleResultDTOS;
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
+ // 查询需要修改组织机构信息项目
+ List itemList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != itemList && itemList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, itemList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+
+ // 更新网格名称
+ baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, eventsList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 1:17
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List itemList) {
+ List entities = new ArrayList<>();
+ for (ItemDTO item: itemList) {
+ ItemEntity entity = new ItemEntity();
+ if (StringUtils.isNotEmpty(item.getParentDeptIds()) && StringUtils.isNotEmpty(item.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(item.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(item.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(item.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(item.getAllDeptIds()) && StringUtils.isNotEmpty(item.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(item.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(item.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(item.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyCategoryInfo(CategoryModifyDTO dto) {
+ // 查询需要修改的分类信息
+ List itemList = baseDao.selectListOfCategoryInfo(dto.getOldCategoryName());
+ if (null != itemList && itemList.size() > 0) {
+ // 分类信息处理
+ List entities = handleCategoryInfo(dto, itemList);
+ // 更新分类信息
+ updateBatchById(entities);
+ }
+ }
+
+ /**
+ *
+ * 分类信息处理
+ *
+ * @params [dto, eventsList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 17:00
+ */
+ private List handleCategoryInfo(CategoryModifyDTO dto, List itemList) {
+ List entities = new ArrayList<>();
+ for (ItemDTO item: itemList) {
+ if (StringUtils.isNotEmpty(item.getCategoryFullName())) {
+ List categoryFullName = Arrays.asList(item.getCategoryFullName().split("-"));
+ int index = categoryFullName.indexOf(dto.getOldCategoryName());
+ if (index >= 0) {
+ categoryFullName.set(index, dto.getNewCategoryName());
+ ItemEntity entity = new ItemEntity();
+ entity.setId(item.getId());
+ entity.setCategoryFullName(StringUtils.join(categoryFullName, "-"));
+ entities.add(entity);
+ }
+ }
+ }
+
+ return entities;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyPartyGroupName(List groups) {
+ // 更新项目表党员群名称
+ baseDao.updateBatchPartyGroupName(groups);
+ }
+
}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/consumer/CategoryModifyConsumer.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/consumer/CategoryModifyConsumer.java
new file mode 100644
index 00000000..2b4f38c8
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/consumer/CategoryModifyConsumer.java
@@ -0,0 +1,57 @@
+package com.elink.esua.epdc.modules.rocketmq.consumer;
+
+import com.alibaba.fastjson.JSONObject;
+import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
+import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
+import com.elink.esua.epdc.modules.issue.service.IssueService;
+import com.elink.esua.epdc.modules.item.service.ItemService;
+import com.elink.esua.epdc.modules.rocketmq.dto.CategoryModifyDTO;
+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 16:29
+ */
+@Slf4j
+@Component
+@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_CATEGORY, consumerGroup = "${rocketmq.consumer.category-group}", messageModel = MessageModel.BROADCASTING)
+public class CategoryModifyConsumer implements RocketMQListener {
+
+ @Autowired
+ private EpdcEventsService epdcEventsService;
+
+ @Autowired
+ private IssueService issueService;
+
+ @Autowired
+ private ItemService itemService;
+
+ @Override
+ public void onMessage(MessageExt messageExt) {
+ log.info("EPDC-EVENTS-SERVER消费消息START:{topic:{}, msgId:{}}", RocketMqConstant.MQ_TOPIC_CATEGORY, messageExt.getMsgId());
+ try {
+ String charset = "UTF-8";
+ String body = new String(messageExt.getBody(), charset);
+ CategoryModifyDTO dto = JSONObject.parseObject(body, CategoryModifyDTO.class);
+ // 事件表修改分类信息
+ epdcEventsService.modifyCategoryInfo(dto);
+ // 议题表修改分类信息
+ issueService.modifyCategoryInfo(dto);
+ // 项目表修改分类信息
+ itemService.modifyCategoryInfo(dto);
+ log.info("EPDC-EVENTS-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_CATEGORY, messageExt.getMsgId(), body);
+ } catch (Exception e) {
+ log.info("EPDC-EVENTS-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/consumer/OrganizationModifyConsumer.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/consumer/OrganizationModifyConsumer.java
new file mode 100644
index 00000000..3d6f3db5
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/consumer/OrganizationModifyConsumer.java
@@ -0,0 +1,83 @@
+package com.elink.esua.epdc.modules.rocketmq.consumer;
+
+import com.alibaba.fastjson.JSONObject;
+import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
+import com.elink.esua.epdc.modules.events.service.EpdcEventsService;
+import com.elink.esua.epdc.modules.issue.service.IssueHandleService;
+import com.elink.esua.epdc.modules.issue.service.IssueService;
+import com.elink.esua.epdc.modules.item.service.*;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
+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/6 0:21
+ */
+@Slf4j
+@Component
+@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_ORGANIZATION, consumerGroup = "${rocketmq.consumer.group}", messageModel = MessageModel.BROADCASTING)
+public class OrganizationModifyConsumer implements RocketMQListener {
+
+ @Autowired
+ private EpdcEventsService epdcEventsService;
+
+ @Autowired
+ private IssueService issueService;
+
+ @Autowired
+ private IssueHandleService issueHandleService;
+
+ @Autowired
+ private ItemService itemService;
+
+ @Autowired
+ private ItemDeptService itemDeptService;
+
+ @Autowired
+ private ItemEvaluateDeptService itemEvaluateDeptService;
+
+ @Autowired
+ private ItemHandleProcessService itemHandleProcessService;
+
+ @Autowired
+ private ItemInformationService itemInformationService;
+
+ @Override
+ public void onMessage(MessageExt messageExt) {
+ log.info("EPDC-EVENTS-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);
+ // 事件修改组织机构信息
+ epdcEventsService.modifyOrganizationInfo(dto);
+ // 议题修改组织机构信息
+ issueService.modifyOrganizationInfo(dto);
+ // 议题处理进度修改操作人部门名称
+ issueHandleService.modifyOrganizationInfo(dto);
+ // 项目修改组织机构信息
+ itemService.modifyOrganizationInfo(dto);
+ // 项目部门关系表修改部门名称
+ itemDeptService.modifyOrganizationInfo(dto);
+ // 项目部门评价表修改被评价部门名称
+ itemEvaluateDeptService.modifyOrganizationInfo(dto);
+ // 项目处理进度表修改操作人部门
+ itemHandleProcessService.modifyOrganizationInfo(dto);
+ //项目消息表修改处理部门
+ itemInformationService.modifyOrganizationInfo(dto);
+ log.info("EPDC-EVENTS-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body);
+ } catch (Exception e) {
+ log.info("EPDC-EVENTS-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/dto/CategoryModifyDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/dto/CategoryModifyDTO.java
new file mode 100644
index 00000000..1959c9e3
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/dto/CategoryModifyDTO.java
@@ -0,0 +1,32 @@
+package com.elink.esua.epdc.modules.rocketmq.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * RocketMQ消息DTO
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/7 16:21
+ */
+@Data
+public class CategoryModifyDTO implements Serializable {
+ private static final long serialVersionUID = -5012212832912602966L;
+
+ /**
+ * 分类ID
+ */
+ private Long categoryId;
+
+ /**
+ * 旧分类名称
+ */
+ private String oldCategoryName;
+
+ /**
+ * 新分类名称
+ */
+ private String newCategoryName;
+}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/dto/OrganizationModifyDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/dto/OrganizationModifyDTO.java
new file mode 100644
index 00000000..f0f6ff6e
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/dto/OrganizationModifyDTO.java
@@ -0,0 +1,37 @@
+package com.elink.esua.epdc.modules.rocketmq.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 组织机构信息修改-接收MQ消息DTO
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/6 22:34
+ */
+@Data
+public class OrganizationModifyDTO implements Serializable {
+ private static final long serialVersionUID = 6288521726874495827L;
+
+ /**
+ * 部门ID
+ */
+ private Long deptId;
+
+ /**
+ * 旧部门名称
+ */
+ private String oldDeptName;
+
+ /**
+ * 新部门名称
+ */
+ private String newDeptName;
+
+ /**
+ * 部门类型
+ */
+ private String typeKey;
+}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/producer/CategoryModifyProducer.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/producer/CategoryModifyProducer.java
new file mode 100644
index 00000000..f2f92311
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/rocketmq/producer/CategoryModifyProducer.java
@@ -0,0 +1,43 @@
+package com.elink.esua.epdc.modules.rocketmq.producer;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ *
+ * 分类信息修改-发送MQ消息
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/7 16:14
+ */
+@Slf4j
+@Component
+public class CategoryModifyProducer {
+
+ @Autowired
+ private RocketMQTemplate rocketMQTemplate;
+
+ /**
+ *
+ * 发送消息
+ *
+ * @params [topic, tag, keys, body]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/6 21:09
+ */
+ public void sendMessage(String topic, String tag, String keys, String body) {
+ Message message = new Message(topic, tag, keys, body.getBytes());
+ try {
+ SendResult sendResult = rocketMQTemplate.getProducer().send(message);
+ log.info("EPDC-EVENTS-SERVER发送消息结果:{sendStatus:{}, topic:{}, msgId:{}}", sendResult.getSendStatus(), topic, sendResult.getMsgId());
+ } catch (Exception e) {
+ log.error("EPDC-EVENTS-SERVER发送消息异常:{topic:{}, tag:{}, keys:{}, body:{}}", topic, tag, keys, body);
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml
index 430a530d..550def1a 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/application.yml
@@ -104,3 +104,11 @@ wx:
normal: @wx.ma.appId@
# 工作端的appId
work: @work.wx.ma.appId@
+
+rocketmq:
+ name-server: @rocketmq.name.server@
+ producer:
+ group: @rocketmq.producer.category.group@
+ consumer:
+ group: @rocketmq.consumer.group@
+ category-group: @rocketmq.consumer.category.group@
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
index a8c46c8a..be5abfa1 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/events/EpdcEventsDao.xml
@@ -318,5 +318,37 @@
LIMIT #{pageIndex},#{pageSize}
+
+
+
+ UPDATE epdc_events SET GRID = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId}
+
+
+
+
+
+
+ UPDATE epdc_events SET GROUP_NAME = #{group.groupName}, UPDATED_TIME = NOW() WHERE GROUP_ID = #{group.id}
+
+
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml
index 143d2aa4..357f7597 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueDao.xml
@@ -573,4 +573,37 @@
img.CREATED_TIME
+
+
+
+ UPDATE epdc_issue SET GRID = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId}
+
+
+
+
+
+
+ UPDATE epdc_issue SET GROUP_NAME = #{group.groupName}, UPDATED_TIME = NOW() WHERE GROUP_ID = #{group.id}
+
+
+
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueHandleDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueHandleDao.xml
index d8150fb2..2f166f2b 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueHandleDao.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/issue/IssueHandleDao.xml
@@ -3,4 +3,7 @@
+
+ UPDATE epdc_issue_handle SET HANDLER_DEPT = #{newDeptName}, UPDATED_TIME = NOW() WHERE HANDLER_DEPT_ID = #{deptId}
+
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
index 82df755f..be8962b5 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDao.xml
@@ -890,4 +890,37 @@
AND d.ITEM_ID = #{itemId}
+
+
+
+
+ UPDATE epdc_item SET GRID = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId}
+
+
+
+
+
+
+ UPDATE epdc_item SET GROUP_NAME = #{group.groupName}, UPDATED_TIME = NOW() WHERE GROUP_ID = #{group.id}
+
+
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDeptDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDeptDao.xml
index 97938a5b..65d1e399 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDeptDao.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemDeptDao.xml
@@ -26,4 +26,8 @@
AND ITEM_ID = #{itemId}
AND DEPT_ID ]]> #{deptId}
+
+
+ UPDATE epdc_item_dept SET DEPT_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE DEPT_ID = #{deptId}
+
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemEvaluateDeptDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemEvaluateDeptDao.xml
index 70b7340b..93ac1828 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemEvaluateDeptDao.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemEvaluateDeptDao.xml
@@ -24,4 +24,8 @@
CREATED_TIME DESC
+
+ UPDATE epdc_item_evaluate_dept SET DEPT_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE DEPT_ID = #{deptId}
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml
index bda6c5fc..ecb04e30 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemHandleProcessDao.xml
@@ -6,4 +6,8 @@
INSERT INTO epdc_item_handle_process ( ID, ITEM_ID, STATE, HANDLE_ADVICE, OUT_HANDLE_ADVICE, HANDLER_DEPT, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME, DEL_FLAG )
VALUES (#{id}, #{itemId}, #{state}, #{handleAdvice}, #{outHandleAdvice}, #{handlerDept}, 0, '网格化平台', #{createdTime}, '网格化平台', #{updatedTime}, '0')
+
+
+ UPDATE epdc_item_handle_process SET HANDLER_DEPT = #{newDeptName}, UPDATED_TIME = NOW() WHERE HANDLER_DEPT_ID = #{deptId}
+
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemInformationDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemInformationDao.xml
index 9a2d4fea..8c3ef7c0 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemInformationDao.xml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/item/ItemInformationDao.xml
@@ -53,4 +53,8 @@
#{deptIdItem}
+
+
+ UPDATE epdc_item_information SET HANDLE_DEPT = #{newDeptName}, UPDATED_TIME = NOW() WHERE HANDLE_DEPT_ID = #{deptId}
+
diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events.iml b/esua-epdc/epdc-module/epdc-events/epdc-events.iml
index 318fbe19..d1f05fac 100644
--- a/esua-epdc/epdc-module/epdc-events/epdc-events.iml
+++ b/esua-epdc/epdc-module/epdc-events/epdc-events.iml
@@ -45,5 +45,7 @@
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/epdc-group-server.iml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/epdc-group-server.iml
index f016882a..34053cec 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/epdc-group-server.iml
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/epdc-group-server.iml
@@ -150,7 +150,7 @@
-
+
@@ -208,6 +208,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -226,5 +238,7 @@
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/pom.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/pom.xml
index f0069c97..684ac169 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/pom.xml
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/pom.xml
@@ -51,6 +51,12 @@
feign-httpclient
10.3.0
+
+
+ org.apache.rocketmq
+ rocketmq-spring-boot-starter
+ 2.0.2
+
@@ -130,6 +136,9 @@
false
47.104.224.45:8848
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
@@ -153,6 +162,9 @@
true
47.104.224.45:8848
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java
index 776c640c..679861f4 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/EventFeignClient.java
@@ -4,12 +4,15 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.comment.EpdcCommentsAndAttitudeFromTopicFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.modules.feign.fallback.EventFeignClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
+import java.util.List;
+
/**
*
* 事件模块调用
@@ -43,4 +46,16 @@ public interface EventFeignClient {
*/
@PostMapping(value = "events/eventcomment/receive", consumes = MediaType.APPLICATION_JSON_VALUE)
Result receiveTopicCommentAndAttitude(EpdcCommentsAndAttitudeFromTopicFormDTO formDto);
+
+ /**
+ *
+ * 更新事件表、议题表、项目表党员群名称
+ *
+ * @params [groups]
+ * @return com.elink.esua.epdc.commons.tools.utils.Result
+ * @author liuchuang
+ * @since 2020/3/7 12:39
+ */
+ @PostMapping(value = "events/epdc-app/event/modifyGroupName", consumes = MediaType.APPLICATION_JSON_VALUE)
+ Result modifyPartyGroupName(List groups);
}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java
index 470b023f..9449adef 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/feign/fallback/EventFeignClientFallback.java
@@ -5,10 +5,13 @@ import com.elink.esua.epdc.commons.tools.utils.ModuleUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.comment.EpdcCommentsAndAttitudeFromTopicFormDTO;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.issue.IssueDTO;
import com.elink.esua.epdc.modules.feign.EventFeignClient;
import org.springframework.stereotype.Component;
+import java.util.List;
+
/**
* @Author:liuchuang
* @Date:2019/11/8 13:36
@@ -25,4 +28,9 @@ public class EventFeignClientFallback implements EventFeignClient {
public Result receiveTopicCommentAndAttitude(EpdcCommentsAndAttitudeFromTopicFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "receiveTopicCommentAndAttitude", formDto);
}
+
+ @Override
+ public Result modifyPartyGroupName(List groups) {
+ return ModuleUtils.feignConError(ServiceConstant.EPDC_EVENTS_SERVER, "checkTopicToIssueFlag", groups);
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java
index d4956c29..7b1db636 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java
@@ -166,4 +166,37 @@ public interface GroupDao extends BaseDao {
* @Date: 2020-01-08
*/
String queryGroupUserMOBILE(String groupId);
+
+ /**
+ *
+ * 查询需要修改组织机构信息邻里党群
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 2:08
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新网格名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateGridByDeptId(String newDeptName, Long deptId);
+
+ /**
+ *
+ * 查询需要修改名称的党员群
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 2:08
+ */
+ List selectListOfPartyGroups(String deptId);
}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java
index 9d4c15f9..e15319a6 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java
@@ -25,6 +25,7 @@ import com.elink.esua.epdc.dto.group.*;
import com.elink.esua.epdc.dto.group.form.*;
import com.elink.esua.epdc.dto.group.result.*;
import com.elink.esua.epdc.modules.group.entity.GroupEntity;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -292,4 +293,15 @@ public interface GroupService extends BaseService {
* @Date 2019/12/19 13:04
**/
Result> listPartyMemberGridId();
+
+ /**
+ *
+ * 邻里党群修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java
index 1067eb56..283e5f63 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java
@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
+import com.elink.esua.epdc.commons.tools.constant.OrganizationTypeConstant;
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.utils.Result;
@@ -33,6 +34,7 @@ import com.elink.esua.epdc.dto.constant.GroupConstant;
import com.elink.esua.epdc.dto.constant.GroupNoticeConstant;
import com.elink.esua.epdc.dto.epdc.form.EpdcInformationFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcGridUserResultDTO;
+import com.elink.esua.epdc.dto.events.form.GroupFormDTO;
import com.elink.esua.epdc.dto.form.SmsNoticeFormDTO;
import com.elink.esua.epdc.dto.group.*;
import com.elink.esua.epdc.dto.enums.GroupStateEnum;
@@ -42,13 +44,16 @@ import com.elink.esua.epdc.dto.group.result.*;
import com.elink.esua.epdc.enums.ItemHandleCategoryEnum;
import com.elink.esua.epdc.modules.async.IssueOverseeResultsTask;
import com.elink.esua.epdc.modules.async.NewsTask;
+import com.elink.esua.epdc.modules.feign.EventFeignClient;
import com.elink.esua.epdc.modules.feign.UserFeignClient;
import com.elink.esua.epdc.modules.group.dao.GroupDao;
import com.elink.esua.epdc.modules.group.entity.GroupEntity;
import com.elink.esua.epdc.modules.group.entity.UserGroupEntity;
import com.elink.esua.epdc.modules.group.service.GroupService;
import com.elink.esua.epdc.modules.group.service.UserGroupService;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.modules.topic.service.GroupTopicUserReadService;
+import com.elink.esua.epdc.modules.topic.service.TopicService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -84,6 +89,12 @@ public class GroupServiceImpl extends BaseServiceImpl imp
@Autowired
private IssueOverseeResultsTask issueOverseeResultsTask;
+ @Autowired
+ private TopicService topicService;
+
+ @Autowired
+ private EventFeignClient eventFeignClient;
+
@Override
public PageData page(Map params) {
IPage page = getPage(params);
@@ -541,4 +552,100 @@ public class GroupServiceImpl extends BaseServiceImpl imp
}
issueOverseeResultsTask.sendSmsNotice(sms);
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
+ // 查询需要修改组织机构信息邻里党群
+ List groupList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != groupList && groupList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, groupList);
+ // 更新邻里党群组织机构信息
+ updateBatchById(entities);
+ }
+ // 更新网格名称
+ baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ // 修改网格党员群名称
+ if (OrganizationTypeConstant.ORG_TYPE_COMMUNITY_PARTY.equals(dto.getTypeKey())
+ || OrganizationTypeConstant.ORG_TYPE_GRID_PARTY.equals(dto.getTypeKey())) {
+ // 查询需要修改名称的党员群
+ List partyGroups = baseDao.selectListOfPartyGroups(dto.getDeptId().toString());
+ if (null != partyGroups && partyGroups.size() > 0) {
+ List partyEntities = createPartyGroupName(partyGroups);
+ // 更新党员群名称
+ updateBatchById(partyEntities);
+ // 更新话题表党员群名称
+ topicService.modifyPartyGroupNameByGroupId(ConvertUtils.sourceToTarget(partyEntities, GroupDTO.class));
+ // 更新事件表、议题表、项目表党员群名称
+ eventFeignClient.modifyPartyGroupName(ConvertUtils.sourceToTarget(partyEntities, GroupFormDTO.class));
+ }
+ }
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, topicList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 2:14
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List groupList) {
+ List entities = new ArrayList<>();
+ for (GroupDTO group: groupList) {
+ GroupEntity entity = new GroupEntity();
+ if (StringUtils.isNotEmpty(group.getParentDeptIds()) && StringUtils.isNotEmpty(group.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(group.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(group.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(group.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(group.getAllDeptIds()) && StringUtils.isNotEmpty(group.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(group.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(group.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(group.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
+
+ /**
+ *
+ * 生成新的党员群名称
+ *
+ * @params [partyGroups]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 12:08
+ */
+ private List createPartyGroupName(List partyGroups) {
+ List groupEntities = new ArrayList<>();
+ for (GroupDTO group: partyGroups) {
+ String[] allDeptNames = group.getAllDeptNames().split("-");
+ int len = allDeptNames.length;
+ if (len == 4) {
+ GroupEntity entity = new GroupEntity();
+ entity.setId(group.getId());
+ entity.setGroupName(allDeptNames[len-2]+allDeptNames[len-1]+"党员群");
+ groupEntities.add(entity);
+ }
+ }
+
+ return groupEntities;
+ }
}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/rocketmq/consumer/OrganizationModifyConsumer.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/rocketmq/consumer/OrganizationModifyConsumer.java
new file mode 100644
index 00000000..8e3a7745
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/rocketmq/consumer/OrganizationModifyConsumer.java
@@ -0,0 +1,51 @@
+package com.elink.esua.epdc.modules.rocketmq.consumer;
+
+import com.alibaba.fastjson.JSONObject;
+import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
+import com.elink.esua.epdc.modules.group.service.GroupService;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
+import com.elink.esua.epdc.modules.topic.service.TopicService;
+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 1:54
+ */
+@Slf4j
+@Component
+@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_ORGANIZATION, consumerGroup = "${rocketmq.consumer.group}", messageModel = MessageModel.BROADCASTING)
+public class OrganizationModifyConsumer implements RocketMQListener {
+
+ @Autowired
+ private GroupService groupService;
+
+ @Autowired
+ private TopicService topicService;
+
+ @Override
+ public void onMessage(MessageExt messageExt) {
+ log.info("EPDC-GROUP-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);
+ // 话题修改组织机构信息
+ topicService.modifyOrganizationInfo(dto);
+ // 邻里党群修改组织机构信息
+ groupService.modifyOrganizationInfo(dto);
+ log.info("EPDC-GROUP-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body);
+ } catch (Exception e) {
+ log.info("EPDC-GROUP-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/rocketmq/dto/OrganizationModifyDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/rocketmq/dto/OrganizationModifyDTO.java
new file mode 100644
index 00000000..379595fc
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/rocketmq/dto/OrganizationModifyDTO.java
@@ -0,0 +1,37 @@
+package com.elink.esua.epdc.modules.rocketmq.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 组织机构信息修改-接收MQ消息DTO
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/7 1:53
+ */
+@Data
+public class OrganizationModifyDTO implements Serializable {
+ private static final long serialVersionUID = 6288521726874495827L;
+
+ /**
+ * 部门ID
+ */
+ private Long deptId;
+
+ /**
+ * 旧部门名称
+ */
+ private String oldDeptName;
+
+ /**
+ * 新部门名称
+ */
+ private String newDeptName;
+
+ /**
+ * 部门类型
+ */
+ private String typeKey;
+}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java
index ab96687f..075d0016 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/dao/TopicDao.java
@@ -19,6 +19,7 @@ package com.elink.esua.epdc.modules.topic.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO;
+import com.elink.esua.epdc.dto.group.GroupDTO;
import com.elink.esua.epdc.dto.topic.TopicDTO;
import com.elink.esua.epdc.dto.topic.TopicDetailDTO;
import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO;
@@ -26,6 +27,7 @@ import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
import com.elink.esua.epdc.modules.topic.entity.TopicEntity;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@@ -99,4 +101,37 @@ public interface TopicDao extends BaseDao {
*/
TopicDetailDTO selectOneOfTopic(String id);
+ /**
+ *
+ * 查询需要修改组织机构信息事件
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 2:08
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新网格名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateGridByDeptId(String newDeptName, Long deptId);
+
+ /**
+ *
+ * 批量更新话题表党员群名称
+ *
+ * @params [groups]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 12:22
+ */
+ void updateBatchPartyGroupNameByGroupId(@Param("groups") List groups);
+
}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java
index e8fc5812..7a9f3ed3 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/TopicService.java
@@ -20,12 +20,14 @@ package com.elink.esua.epdc.modules.topic.service;
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.utils.Result;
+import com.elink.esua.epdc.dto.group.GroupDTO;
import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO;
import com.elink.esua.epdc.dto.topic.TopicDTO;
import com.elink.esua.epdc.dto.topic.TopicDetailDTO;
import com.elink.esua.epdc.dto.topic.form.*;
import com.elink.esua.epdc.dto.topic.result.TopicDetailResultDTO;
import com.elink.esua.epdc.dto.topic.result.TopicListResultDTO;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.modules.topic.entity.TopicEntity;
import java.util.List;
@@ -203,4 +205,26 @@ public interface TopicService extends BaseService {
* @since 2019/11/12 10:24
*/
TopicDetailDTO getDetail(String id);
+
+ /**
+ *
+ * 话题修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
+
+ /**
+ *
+ * 更新话题表党员群名称
+ *
+ * @params [groups]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 12:20
+ */
+ void modifyPartyGroupNameByGroupId(List groups);
}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java
index 9bd0320c..24f00c62 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java
@@ -53,6 +53,7 @@ import com.elink.esua.epdc.modules.comment.service.TopicCommentService;
import com.elink.esua.epdc.modules.feign.EventFeignClient;
import com.elink.esua.epdc.modules.group.service.GroupService;
import com.elink.esua.epdc.modules.group.service.UserGroupService;
+import com.elink.esua.epdc.modules.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.modules.topic.dao.TopicDao;
import com.elink.esua.epdc.modules.topic.entity.GroupTopicUserReadEntity;
import com.elink.esua.epdc.modules.topic.entity.TopicAuditRecordEntity;
@@ -470,4 +471,66 @@ public class TopicServiceImpl extends BaseServiceImpl imp
newsTask.insertUserInformation(topicUserNotice);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
+ // 查询需要修改组织机构信息话题
+ List topicList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != topicList && topicList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, topicList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+ // 更新网格名称
+ baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, topicList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 2:14
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List topicList) {
+ List entities = new ArrayList<>();
+ for (TopicDTO topic: topicList) {
+ TopicEntity entity = new TopicEntity();
+ if (StringUtils.isNotEmpty(topic.getParentDeptIds()) && StringUtils.isNotEmpty(topic.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(topic.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(topic.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(topic.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(topic.getAllDeptIds()) && StringUtils.isNotEmpty(topic.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(topic.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(topic.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(topic.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyPartyGroupNameByGroupId(List groups) {
+ baseDao.updateBatchPartyGroupNameByGroupId(groups);
+ }
+
}
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/application.yml
index ebf9e2d7..2ccd0724 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/application.yml
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/application.yml
@@ -85,3 +85,8 @@ mybatis-plus:
cache-enabled: false
call-setters-on-nulls: true
jdbc-type-for-null: 'null'
+
+rocketmq:
+ name-server: @rocketmq.name.server@
+ consumer:
+ group: @rocketmq.consumer.group@
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml
index ec303b91..d36e32fb 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml
@@ -284,4 +284,32 @@
and LORD_FLAG = 1
and DEL_FLAG = 0
+
+
+
+
+ UPDATE epdc_group SET GRID = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId}
+
+
+
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml
index 2735e5a6..8ffa4541 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/topic/TopicDao.xml
@@ -264,4 +264,27 @@
AND tp.ID = #{id}
+
+
+
+ UPDATE epdc_topic SET GRID = #{newDeptName} WHERE GRID_ID = #{deptId}
+
+
+
+
+ UPDATE epdc_topic SET GROUP_NAME = #{group.groupName}, UPDATED_TIME = NOW() WHERE GROUP_ID = #{group.id}
+
+
+
diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group.iml b/esua-epdc/epdc-module/epdc-group/epdc-group.iml
index 318fbe19..d1f05fac 100644
--- a/esua-epdc/epdc-module/epdc-group/epdc-group.iml
+++ b/esua-epdc/epdc-module/epdc-group/epdc-group.iml
@@ -45,5 +45,7 @@
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/epdc-news-server.iml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/epdc-news-server.iml
index 8afc7dee..b9ee5daa 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/epdc-news-server.iml
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/epdc-news-server.iml
@@ -117,7 +117,7 @@
-
+
@@ -199,6 +199,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -217,5 +229,7 @@
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml
index 149eaded..be85f95e 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/pom.xml
@@ -45,7 +45,12 @@
epdc-admin-client
1.0.0
-
+
+
+ org.apache.rocketmq
+ rocketmq-spring-boot-starter
+ 2.0.2
+
@@ -125,6 +130,9 @@
false
47.104.224.45:8848
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
@@ -148,6 +156,9 @@
true
47.104.224.45:8848
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDao.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDao.java
index b1aea43b..f4ce1a58 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDao.java
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDao.java
@@ -64,4 +64,26 @@ public interface BannerDao extends BaseDao {
*/
void updateSoltOut(String newsId);
+ /**
+ *
+ * 查询需要修改的组织机构信息
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 14:37
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新部门名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateDeptNameByDeptId(String newDeptName, Long deptId);
+
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java
index 6741982b..500237f8 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NewsDao.java
@@ -94,4 +94,26 @@ public interface NewsDao extends BaseDao {
* @date 2020/2/1 11:00
*/
List selectAllPage(Map params);
+
+ /**
+ *
+ * 查询需要修改组织机构信息
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 14:44
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新部门名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateDeptNameByDeptId(String newDeptName, Long deptId);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java
index 6f220a2d..2b4340d7 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/NoticeDao.java
@@ -87,4 +87,26 @@ public interface NoticeDao extends BaseDao {
* @date 2020/2/1 11:28
*/
List selectListByDeptId(Map params);
+
+ /**
+ *
+ * 查询需要修改组织机构信息
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 14:54
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新部门名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateDeptNameByDeptId(String newDeptName, Long deptId);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/rocketmq/consumer/OrganizationModifyConsumer.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/rocketmq/consumer/OrganizationModifyConsumer.java
new file mode 100644
index 00000000..8cb6c92a
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/rocketmq/consumer/OrganizationModifyConsumer.java
@@ -0,0 +1,57 @@
+package com.elink.esua.epdc.rocketmq.consumer;
+
+import com.alibaba.fastjson.JSONObject;
+import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
+import com.elink.esua.epdc.service.BannerService;
+import com.elink.esua.epdc.service.NewsService;
+import com.elink.esua.epdc.service.NoticeService;
+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:44
+ */
+@Slf4j
+@Component
+@RocketMQMessageListener(topic = RocketMqConstant.MQ_TOPIC_ORGANIZATION, consumerGroup = "${rocketmq.consumer.group}", messageModel = MessageModel.BROADCASTING)
+public class OrganizationModifyConsumer implements RocketMQListener {
+
+ @Autowired
+ private BannerService bannerService;
+
+ @Autowired
+ private NewsService newsService;
+
+ @Autowired
+ private NoticeService noticeService;
+
+ @Override
+ public void onMessage(MessageExt messageExt) {
+ log.info("EPDC-NEWS-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);
+ // banner表修改组织机构信息
+ bannerService.modifyOrganizationInfo(dto);
+ // 新闻表修改组织机构信息
+ newsService.modifyOrganizationInfo(dto);
+ // 通知表修改组织机构信息
+ noticeService.modifyOrganizationInfo(dto);
+ log.info("EPDC-NEWS-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body);
+ } catch (Exception e) {
+ log.info("EPDC-NEWS-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/rocketmq/dto/OrganizationModifyDTO.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/rocketmq/dto/OrganizationModifyDTO.java
new file mode 100644
index 00000000..9fc4a617
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/rocketmq/dto/OrganizationModifyDTO.java
@@ -0,0 +1,37 @@
+package com.elink.esua.epdc.rocketmq.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ *
+ * 组织机构信息修改-接收MQ消息DTO
+ *
+ * @Author:liuchuang
+ * @Date:2020/3/7 13:43
+ */
+@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-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerService.java
index ae4c8b19..a5846dd4 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerService.java
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerService.java
@@ -24,6 +24,7 @@ import com.elink.esua.epdc.dto.BannerDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcBannerListFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO;
import com.elink.esua.epdc.entity.BannerEntity;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -131,4 +132,15 @@ public interface BannerService extends BaseService {
* @date 2020/1/8 18:14
*/
void updateSoltOut(String newsId);
+
+ /**
+ *
+ * 修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsService.java
index a22bf378..93f96a33 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsService.java
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NewsService.java
@@ -28,6 +28,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcNewsStatementFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO;
import com.elink.esua.epdc.entity.NewsEntity;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -197,4 +198,15 @@ public interface NewsService extends BaseService {
* @date 2020/2/1 10:48
*/
PageData allPage(Map params);
+
+ /**
+ *
+ * 修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java
index 2203e62d..fd5dbcc3 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/NoticeService.java
@@ -26,6 +26,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcNoticeListFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeDetailResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeListResultDTO;
import com.elink.esua.epdc.entity.NoticeEntity;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -147,4 +148,15 @@ public interface NoticeService extends BaseService {
* @date 2020/2/1 11:37
*/
PageData pageForReadOnly(Map params);
+
+ /**
+ *
+ * 修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerServiceImpl.java
index 23d7a97a..3765802c 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerServiceImpl.java
@@ -38,6 +38,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcBannerListFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcBannerListResultDTO;
import com.elink.esua.epdc.entity.BannerEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.service.BannerDepartmentService;
import com.elink.esua.epdc.service.BannerService;
import com.elink.esua.epdc.util.NewsUtils;
@@ -186,4 +187,61 @@ public class BannerServiceImpl extends BaseServiceImpl
bannerDTO.setState(YesOrNoEnum.NO.value());
baseDao.updateSoltOut(newsId);
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
+ // 查询需要修改的组织机构信息
+ List bannerList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != bannerList && bannerList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, bannerList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+
+ // 更新部门名称
+ baseDao.updateDeptNameByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, bannerList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 14:41
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List bannerList) {
+ List entities = new ArrayList<>();
+ for (BannerDTO banner: bannerList) {
+ BannerEntity entity = new BannerEntity();
+ if (StringUtils.isNotEmpty(banner.getParentDeptIds()) && StringUtils.isNotEmpty(banner.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(banner.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(banner.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(banner.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(banner.getAllDeptIds()) && StringUtils.isNotEmpty(banner.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(banner.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(banner.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(banner.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java
index 4a1ec7df..ac65c9f8 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NewsServiceImpl.java
@@ -46,6 +46,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcNewsStatementFromDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcNewsDetailResultDTO;
import com.elink.esua.epdc.entity.NewsEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.service.*;
import com.elink.esua.epdc.util.NewsUtils;
import com.google.common.collect.Lists;
@@ -54,10 +55,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 新闻表
@@ -485,4 +483,61 @@ public class NewsServiceImpl extends BaseServiceImpl implem
List newsDaoList = baseDao.selectAllPage(params);
return new PageData<>(newsDaoList, page.getTotal());
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
+ // 查询需要修改的组织机构信息
+ List newsList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != newsList && newsList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, newsList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+
+ // 更新部门名称
+ baseDao.updateDeptNameByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, newsList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 14:47
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List newsList) {
+ List entities = new ArrayList<>();
+ for (NewsDTO news: newsList) {
+ NewsEntity entity = new NewsEntity();
+ if (StringUtils.isNotEmpty(news.getParentDeptIds()) && StringUtils.isNotEmpty(news.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(news.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(news.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(news.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(news.getAllDeptIds()) && StringUtils.isNotEmpty(news.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(news.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(news.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(news.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java
index f4775d52..a9532405 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/NoticeServiceImpl.java
@@ -40,6 +40,7 @@ import com.elink.esua.epdc.dto.epdc.result.EpdcNoticeListResultDTO;
import com.elink.esua.epdc.entity.NoticeEntity;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.redis.NoticeRedis;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.service.NoticeDepartmentService;
import com.elink.esua.epdc.service.NoticeService;
import com.elink.esua.epdc.util.NewsUtils;
@@ -228,4 +229,61 @@ public class NoticeServiceImpl extends BaseServiceImpl
this.baseDao.updateReadingAmount(formDto.getNoticeId());
return new Result();
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void modifyOrganizationInfo(OrganizationModifyDTO dto) {
+ // 查询需要修改的组织机构信息
+ List noticeList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != noticeList && noticeList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, noticeList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+
+ // 更新部门名称
+ baseDao.updateDeptNameByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, noticeList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 14:56
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List noticeList) {
+ List entities = new ArrayList<>();
+ for (NoticeDTO notice: noticeList) {
+ NoticeEntity entity = new NoticeEntity();
+ if (StringUtils.isNotEmpty(notice.getParentDeptIds()) && StringUtils.isNotEmpty(notice.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(notice.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(notice.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(notice.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(notice.getAllDeptIds()) && StringUtils.isNotEmpty(notice.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(notice.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(notice.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(notice.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml
index 5e6f0761..32703a61 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/application.yml
@@ -85,3 +85,8 @@ mybatis-plus:
cache-enabled: false
call-setters-on-nulls: true
jdbc-type-for-null: 'null'
+
+rocketmq:
+ name-server: @rocketmq.name.server@
+ consumer:
+ group: @rocketmq.consumer.group@
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDao.xml
index 1a50a0bb..be64882b 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDao.xml
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDao.xml
@@ -42,4 +42,21 @@
AND bn.DEL_FLAG = '0'
+
+
+
+ UPDATE epdc_banner SET DEPT_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE DEPT_ID = #{deptId}
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml
index 53ae1df6..db811eb6 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NewsDao.xml
@@ -132,4 +132,21 @@
n.CREATED_TIME DESC
+
+
+
+
+ UPDATE epdc_news SET DEPT_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE DEPT_ID = #{deptId}
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml
index 6f7f5d09..c87bd37f 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/NoticeDao.xml
@@ -78,4 +78,21 @@
ORDER BY n.CREATED_TIME DESC
+
+
+
+ UPDATE epdc_notice SET DEPT_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE DEPT_ID = #{deptId}
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news.iml b/esua-epdc/epdc-module/epdc-news/epdc-news.iml
index 318fbe19..d1f05fac 100644
--- a/esua-epdc/epdc-module/epdc-news/epdc-news.iml
+++ b/esua-epdc/epdc-module/epdc-news/epdc-news.iml
@@ -45,5 +45,7 @@
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyAuthenticationFailedDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyAuthenticationFailedDTO.java
index feb2309d..5bae33b4 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyAuthenticationFailedDTO.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyAuthenticationFailedDTO.java
@@ -163,4 +163,17 @@ public class PartyAuthenticationFailedDTO implements Serializable {
*/
private String allDeptNames;
+ /**
+ * 父所有部门ID
+ */
+ private String parentDeptIds;
+ /**
+ * 父所有部门名称
+ */
+ private String parentDeptNames;
+ /**
+ * 所有部门ID
+ */
+ private String allDeptIds;
+
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMembersDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMembersDTO.java
index 6a1b156e..1c61109e 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMembersDTO.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMembersDTO.java
@@ -95,4 +95,17 @@ public class PartyMembersDTO implements Serializable {
private String partyOrganization;
+ /**
+ * 父所有部门ID
+ */
+ private String parentDeptIds;
+ /**
+ * 父所有部门名称
+ */
+ private String parentDeptNames;
+ /**
+ * 所有部门ID
+ */
+ private String allDeptIdsStr;
+
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/epdc-user-server.iml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/epdc-user-server.iml
index 4aab42ff..e0878cce 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/epdc-user-server.iml
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/epdc-user-server.iml
@@ -144,7 +144,7 @@
-
+
@@ -199,6 +199,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -217,5 +229,7 @@
+
+
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml
index 0d99e488..4e7b72fe 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/pom.xml
@@ -50,6 +50,12 @@
spring-boot-admin-starter-client
${spring.boot.admin.version}
+
+
+ org.apache.rocketmq
+ rocketmq-spring-boot-starter
+ 2.0.2
+
@@ -129,6 +135,9 @@
false
47.104.224.45:8848
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
@@ -152,6 +161,9 @@
true
47.104.224.45:8848
+
+ 47.104.85.99:9876;114.215.125.123:9876
+ jinshui-organizationGroup
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyAuthenticationFailedDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyAuthenticationFailedDao.java
index 352315cb..aa369090 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyAuthenticationFailedDao.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyAuthenticationFailedDao.java
@@ -42,4 +42,26 @@ public interface PartyAuthenticationFailedDao extends BaseDao selectListDto(Map params);
+
+ /**
+ *
+ * 查询需要修改的组织机构信息
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 15:31
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新网格名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateGridByDeptId(String newDeptName, Long deptId);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyMembersDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyMembersDao.java
index ed047ccf..3d422439 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyMembersDao.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyMembersDao.java
@@ -40,4 +40,26 @@ public interface PartyMembersDao extends BaseDao {
PartyMembersDTO selectByIdNew(String id);
List hasAuthenticationPartyPage(Map params);
+
+ /**
+ *
+ * 查询需要修改的组织机构信息
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 15:31
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新网格名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateGridByDeptId(String newDeptName, Long deptId);
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
index 664a84a2..bf9e4561 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
@@ -165,4 +165,15 @@ public interface UserDao extends BaseDao {
* @Date 2019/12/19 15:05
**/
List selectListGridUserResultDTO(@Param("gridIdList") List gridIdList);
+
+ /**
+ *
+ * 查询需要修改的组织机构信息
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 15:31
+ */
+ List selectListOfOrganizationInfo(String deptId);
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserGridRelationDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserGridRelationDao.java
index d6886cad..cb3a4041 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserGridRelationDao.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserGridRelationDao.java
@@ -22,6 +22,8 @@ import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.entity.UserGridRelationEntity;
import org.apache.ibatis.annotations.Mapper;
+import java.util.List;
+
/**
* 网格长与网格关系表
*
@@ -42,4 +44,26 @@ public interface UserGridRelationDao extends BaseDao {
* @since 2019/12/6 10:45
*/
UserGridRelationDTO selectOneOfGird(String userId);
+
+ /**
+ *
+ * 查询需要修改的组织机构信息
+ *
+ * @params [deptId]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 15:31
+ */
+ List selectListOfOrganizationInfo(String deptId);
+
+ /**
+ *
+ * 更新网格名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateGridByDeptId(String newDeptName, Long deptId);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserInvitationRecordDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserInvitationRecordDao.java
index 9468758c..cfcba25c 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserInvitationRecordDao.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserInvitationRecordDao.java
@@ -43,5 +43,16 @@ public interface UserInvitationRecordDao extends BaseDao invitationRecord(@Param("userId") Long userId);
+
+ /**
+ *
+ * 更新网格名称
+ *
+ * @params [newDeptName, deptId]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:20
+ */
+ void updateGridByDeptId(String newDeptName, Long deptId);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/rocketmq/consumer/OrganizationModifyConsumer.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/rocketmq/consumer/OrganizationModifyConsumer.java
new file mode 100644
index 00000000..b8ef0d0f
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/rocketmq/consumer/OrganizationModifyConsumer.java
@@ -0,0 +1,65 @@
+package com.elink.esua.epdc.rocketmq.consumer;
+
+import com.alibaba.fastjson.JSONObject;
+import com.elink.esua.epdc.commons.tools.constant.RocketMqConstant;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
+import com.elink.esua.epdc.service.*;
+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 PartyAuthenticationFailedService partyAuthenticationFailedService;
+
+ @Autowired
+ private PartyMembersService partyMembersService;
+
+ @Autowired
+ private UserService userService;
+
+ @Autowired
+ private UserGridRelationService userGridRelationService;
+
+ @Autowired
+ private UserInvitationRecordService userInvitationRecordService;
+
+ @Override
+ public void onMessage(MessageExt messageExt) {
+ log.info("EPDC-USER-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);
+ // 党员认证失败表修改组织机构信息
+ partyAuthenticationFailedService.modifyOrganizationInfo(dto);
+ // 党员表修改组织机构信息
+ partyMembersService.modifyOrganizationInfo(dto);
+ // 用户表修改组织机构信息
+ userService.modifyOrganizationInfo(dto);
+ // 用户网格关系表修改组织机构信息
+ userGridRelationService.modifyOrganizationInfo(dto);
+ // 用户邀请记录表修改组织机构信息
+ userInvitationRecordService.modifyOrganizationInfo(dto);
+ log.info("EPDC-USER-SERVER消费消息END:{topic:{}, msgId:{}, body:{}}", RocketMqConstant.MQ_TOPIC_ORGANIZATION, messageExt.getMsgId(), body);
+ } catch (Exception e) {
+ log.info("EPDC-USER-SERVER消费消息失败:msgId:{}", messageExt.getMsgId());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/rocketmq/dto/OrganizationModifyDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/rocketmq/dto/OrganizationModifyDTO.java
new file mode 100644
index 00000000..636d7b74
--- /dev/null
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/rocketmq/dto/OrganizationModifyDTO.java
@@ -0,0 +1,37 @@
+package com.elink.esua.epdc.rocketmq.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-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyAuthenticationFailedService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyAuthenticationFailedService.java
index 3901c8c7..63d50a8e 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyAuthenticationFailedService.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyAuthenticationFailedService.java
@@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.dto.PartyAuthenticationFailedDTO;
import com.elink.esua.epdc.entity.PartyAuthenticationFailedEntity;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -92,4 +93,15 @@ public interface PartyAuthenticationFailedService extends BaseService {
* @date 2019/12/29 14:47
*/
List exportHasMoudle(Map params);
+
+ /**
+ *
+ * 事件修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java
index 65df6d8e..c4009747 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java
@@ -25,6 +25,7 @@ import com.elink.esua.epdc.dto.epdc.form.EpdcAppRemoveGridFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcLeaderSwitchGridFormDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserGridResultDTO;
import com.elink.esua.epdc.entity.UserGridRelationEntity;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -176,4 +177,15 @@ public interface UserGridRelationService extends BaseService invitationRecord(Long userId);
+
+ /**
+ *
+ * 事件修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
index 1df248fc..f9e253a8 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
@@ -32,6 +32,7 @@ import com.elink.esua.epdc.dto.epdc.result.EpdcUserGroupInviteResultDTO;
import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcWorkUserResultDTO;
import com.elink.esua.epdc.entity.UserEntity;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import java.util.List;
import java.util.Map;
@@ -267,4 +268,15 @@ public interface UserService extends BaseService {
* @Date 2019/12/19 15:03
**/
Result> listGridUserResultDTO(List gridIdList);
+
+ /**
+ *
+ * 事件修改组织机构信息
+ *
+ * @params [dto]
+ * @return void
+ * @author liuchuang
+ * @since 2020/3/7 1:23
+ */
+ void modifyOrganizationInfo(OrganizationModifyDTO dto);
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyAuthenticationFailedServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyAuthenticationFailedServiceImpl.java
index c526738b..555dd122 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyAuthenticationFailedServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyAuthenticationFailedServiceImpl.java
@@ -27,12 +27,14 @@ import com.elink.esua.epdc.dao.PartyAuthenticationFailedDao;
import com.elink.esua.epdc.dto.PartyAuthenticationFailedDTO;
import com.elink.esua.epdc.entity.PartyAuthenticationFailedEntity;
import com.elink.esua.epdc.redis.PartyAuthenticationFailedRedis;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.service.PartyAuthenticationFailedService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -116,4 +118,61 @@ public class PartyAuthenticationFailedServiceImpl extends BaseServiceImpl partyList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != partyList && partyList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, partyList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+
+ // 更新网格名称
+ baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, partyList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 15:13
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List partyList) {
+ List entities = new ArrayList<>();
+ for (PartyAuthenticationFailedDTO party: partyList) {
+ PartyAuthenticationFailedEntity entity = new PartyAuthenticationFailedEntity();
+ if (StringUtils.isNotEmpty(party.getParentDeptIds()) && StringUtils.isNotEmpty(party.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(party.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(party.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(party.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(party.getAllDeptIds()) && StringUtils.isNotEmpty(party.getAllDeptNames())) {
+ List allDeptIds = Arrays.asList(party.getAllDeptIds().split(","));
+ List allDeptNames = Arrays.asList(party.getAllDeptNames().split("-"));
+ int index = allDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && allDeptNames.size() > index) {
+ allDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(party.getId());
+ entity.setAllDeptNames(StringUtils.join(allDeptNames, "-"));
+ }
+ }
+
+ entities.add(entity);
+ }
+
+ return entities;
+ }
+
}
\ No newline at end of file
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java
index e710d8e6..20854d54 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java
@@ -40,6 +40,7 @@ import com.elink.esua.epdc.enums.PartyMemberRegFlagEnum;
import com.elink.esua.epdc.excel.PartyMembersExcel;
import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.redis.PartyMembersRedis;
+import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO;
import com.elink.esua.epdc.service.PartyMembersService;
import com.elink.esua.epdc.service.PartyTagRelationService;
import org.apache.commons.lang3.StringUtils;
@@ -325,4 +326,61 @@ public class PartyMembersServiceImpl extends BaseServiceImpl partyList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString());
+ if (null != partyList && partyList.size() > 0) {
+ // 组织机构信息处理
+ List entities = handleOrganizationInfo(dto, partyList);
+ // 更新事件组织机构信息
+ updateBatchById(entities);
+ }
+
+ // 更新网格名称
+ baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
+ }
+
+ /**
+ *
+ * 组织机构信息处理
+ *
+ * @params [dto, partyList]
+ * @return java.util.List
+ * @author liuchuang
+ * @since 2020/3/7 15:17
+ */
+ private List handleOrganizationInfo(OrganizationModifyDTO dto, List partyList) {
+ List entities = new ArrayList<>();
+ for (PartyMembersDTO party: partyList) {
+ PartyMembersEntity entity = new PartyMembersEntity();
+ if (StringUtils.isNotEmpty(party.getParentDeptIds()) && StringUtils.isNotEmpty(party.getParentDeptNames())) {
+ List parentDeptIds = Arrays.asList(party.getParentDeptIds().split(","));
+ List parentDeptNames = Arrays.asList(party.getParentDeptNames().split("-"));
+ int index = parentDeptIds.indexOf(dto.getDeptId().toString());
+ if (index >= 0 && parentDeptNames.size() > index) {
+ parentDeptNames.set(index, dto.getNewDeptName());
+ entity.setId(party.getId());
+ entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-"));
+ }
+ }
+
+ if (StringUtils.isNotEmpty(party.getAllDeptIdsStr()) && StringUtils.isNotEmpty(party.getAllDeptNames())) {
+ List