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 allDeptIds = Arrays.asList(party.getAllDeptIdsStr().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; + } } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java index 7ddb0984..76a97635 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java @@ -34,16 +34,14 @@ 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 com.elink.esua.epdc.service.UserGridRelationService; 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.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 网格长与网格关系表 @@ -218,4 +216,61 @@ public class UserGridRelationServiceImpl extends BaseServiceImpl gridList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString()); + if (null != gridList && gridList.size() > 0) { + // 组织机构信息处理 + List entities = handleOrganizationInfo(dto, gridList); + // 更新事件组织机构信息 + updateBatchById(entities); + } + + // 更新网格名称 + baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId()); + } + + /** + * + * 组织机构信息处理 + * + * @params [dto, gridList] + * @return java.util.List + * @author liuchuang + * @since 2020/3/7 15:25 + */ + private List handleOrganizationInfo(OrganizationModifyDTO dto, List gridList) { + List entities = new ArrayList<>(); + for (UserGridRelationDTO grid: gridList) { + UserGridRelationEntity entity = new UserGridRelationEntity(); + if (StringUtils.isNotEmpty(grid.getParentDeptIds()) && StringUtils.isNotEmpty(grid.getParentDeptNames())) { + List parentDeptIds = Arrays.asList(grid.getParentDeptIds().split(",")); + List parentDeptNames = Arrays.asList(grid.getParentDeptNames().split("-")); + int index = parentDeptIds.indexOf(dto.getDeptId().toString()); + if (index >= 0 && parentDeptNames.size() > index) { + parentDeptNames.set(index, dto.getNewDeptName()); + entity.setId(grid.getId()); + entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-")); + } + } + + if (StringUtils.isNotEmpty(grid.getAllDeptIds()) && StringUtils.isNotEmpty(grid.getAllDeptNames())) { + List allDeptIds = Arrays.asList(grid.getAllDeptIds().split(",")); + List allDeptNames = Arrays.asList(grid.getAllDeptNames().split("-")); + int index = allDeptIds.indexOf(dto.getDeptId().toString()); + if (index >= 0 && allDeptNames.size() > index) { + allDeptNames.set(index, dto.getNewDeptName()); + entity.setId(grid.getId()); + entity.setAllDeptNames(StringUtils.join(allDeptNames, "-")); + } + } + + entities.add(entity); + } + + return entities; + } } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserInvitationRecordServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserInvitationRecordServiceImpl.java index 86c9a771..7105d2c9 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserInvitationRecordServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserInvitationRecordServiceImpl.java @@ -28,6 +28,7 @@ import com.elink.esua.epdc.dto.UserInvitationRecordDTO; import com.elink.esua.epdc.dto.epdc.result.UserInvitationRecordResultDTO; import com.elink.esua.epdc.entity.UserInvitationRecordEntity; import com.elink.esua.epdc.redis.UserInvitationRecordRedis; +import com.elink.esua.epdc.rocketmq.dto.OrganizationModifyDTO; import com.elink.esua.epdc.service.UserInvitationRecordService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -106,4 +107,11 @@ public class UserInvitationRecordServiceImpl extends BaseServiceImpl implem return ConvertUtils.sourceToTarget(userEntity, UserDTO.class); } + @Override + @Transactional(rollbackFor = Exception.class) + public void modifyOrganizationInfo(OrganizationModifyDTO dto) { + // 查询需要修改的组织机构信息 + List userList = baseDao.selectListOfOrganizationInfo(dto.getDeptId().toString()); + if (null != userList && userList.size() > 0) { + // 组织机构信息处理 + List entities = handleOrganizationInfo(dto, userList); + // 更新事件组织机构信息 + updateBatchById(entities); + } + } + + /** + * + * 组织机构信息处理 + * + * @params [dto, userList] + * @return java.util.List + * @author liuchuang + * @since 2020/3/7 15:22 + */ + private List handleOrganizationInfo(OrganizationModifyDTO dto, List userList) { + List entities = new ArrayList<>(); + for (UserDTO user: userList) { + UserEntity entity = new UserEntity(); + if (StringUtils.isNotEmpty(user.getParentDeptIds()) && StringUtils.isNotEmpty(user.getParentDeptNames())) { + List parentDeptIds = Arrays.asList(user.getParentDeptIds().split(",")); + List parentDeptNames = Arrays.asList(user.getParentDeptNames().split("-")); + int index = parentDeptIds.indexOf(dto.getDeptId().toString()); + if (index >= 0 && parentDeptNames.size() > index) { + parentDeptNames.set(index, dto.getNewDeptName()); + entity.setId(user.getId()); + entity.setParentDeptNames(StringUtils.join(parentDeptNames, "-")); + } + } + + if (StringUtils.isNotEmpty(user.getAllDeptIds()) && StringUtils.isNotEmpty(user.getAllDeptNames())) { + List allDeptIds = Arrays.asList(user.getAllDeptIds().split(",")); + List allDeptNames = Arrays.asList(user.getAllDeptNames().split("-")); + int index = allDeptIds.indexOf(dto.getDeptId().toString()); + if (index >= 0 && allDeptNames.size() > index) { + allDeptNames.set(index, dto.getNewDeptName()); + entity.setId(user.getId()); + entity.setAllDeptNames(StringUtils.join(allDeptNames, "-")); + } + } + + entities.add(entity); + } + + return entities; + } + } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml index 4bde8c8c..324812c3 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/application.yml @@ -75,3 +75,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-user/epdc-user-server/src/main/resources/mapper/PartyAuthenticationFailedDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyAuthenticationFailedDao.xml index 3655396b..1d3aa5f8 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyAuthenticationFailedDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyAuthenticationFailedDao.xml @@ -55,5 +55,21 @@ epaf.CREATED_TIME desc + + + + UPDATE epdc_party_authentication_failed SET GRID_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId} + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml index 708f55c5..76a0407a 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml @@ -161,5 +161,21 @@ pm.ID; + + + + UPDATE epdc_party_members SET GRID_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId} + diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml index 42330c87..72d1432a 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml @@ -382,4 +382,17 @@ + + diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserGridRelationDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserGridRelationDao.xml index f09ba43d..722d56e3 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserGridRelationDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserGridRelationDao.xml @@ -16,4 +16,21 @@ LIMIT 1 + + + + UPDATE epdc_user_grid_relation SET GRID = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId} + + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserInvitationRecordDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserInvitationRecordDao.xml index 16ba7ae2..bbafa7ef 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserInvitationRecordDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserInvitationRecordDao.xml @@ -41,5 +41,8 @@ AND record.INVITE_USER_ID =#{userId} + + UPDATE epdc_user_invitation_record SET GRID = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId} + \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user.iml b/esua-epdc/epdc-module/epdc-user/epdc-user.iml index 318fbe19..d1f05fac 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user.iml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user.iml @@ -45,5 +45,7 @@ + + \ No newline at end of file