diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/BaseMQMsgDTO.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/BaseMQMsgDTO.java new file mode 100644 index 0000000000..a4d24560a7 --- /dev/null +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/BaseMQMsgDTO.java @@ -0,0 +1,24 @@ +package com.epmet.commons.rocketmq.messages; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 基础消息体 + * @author liujianjun + */ +@Data +public class BaseMQMsgDTO implements Serializable { + private static final long serialVersionUID = 1019260278983535301L; + /** + * 客户Id + */ + private String customerId; + + /** + * 对象id + */ + private String objectId; + +} diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/StaffPatrolMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/StaffPatrolMQMsg.java index d8d68cac56..e6632a72ca 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/StaffPatrolMQMsg.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/StaffPatrolMQMsg.java @@ -7,12 +7,8 @@ import lombok.Data; * @author liujianjun */ @Data -public class StaffPatrolMQMsg { - /** - * 客户Id - */ - private String customerId; - +public class StaffPatrolMQMsg extends BaseMQMsgDTO { + private static final long serialVersionUID = 3039825049521866599L; /** * 巡查记录id */ diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java index 284be1cb95..60230d3a10 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java @@ -75,6 +75,11 @@ public interface SystemMessageType { */ String USER_PATROL_STOP = "user_patrol_stop"; + /** + * 添加例行工作 + */ + String PATROL_ROUTINE_WORK_ADD = "patrol_routine_work_add"; + /** * 项目变动 */ @@ -104,4 +109,5 @@ public interface SystemMessageType { * 需求完成,如果服务方是区域化党建单位,重新计算这个单位的满意度 */ String CAL_PARTY_UNIT_SATISFACTION = "cal_party_unit_satisfaction"; + } diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java index e232f5f635..fa5d21967a 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java @@ -132,7 +132,7 @@ public class SendMqMsgUtil { * @author wxz * @date 2021.06.21 12:46 */ - public boolean sendPatrolMqMsg(StaffPatrolMQMsg msg,String messageType) { + public boolean sendPatrolMqMsg(BaseMQMsgDTO msg, String messageType) { try { SystemMsgFormDTO msgForm = new SystemMsgFormDTO(); msgForm.setMessageType(messageType); diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java index 92703db76e..ac6a1ce8ee 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java @@ -181,6 +181,7 @@ public class SystemMessageServiceImpl implements SystemMessageService { break; case SystemMessageType.USER_PATROL_START: case SystemMessageType.USER_PATROL_STOP: + case SystemMessageType.PATROL_ROUTINE_WORK_ADD: topic = TopicConstants.PATROL; break; case SystemMessageType.PROJECT_ADD: @@ -195,6 +196,8 @@ public class SystemMessageServiceImpl implements SystemMessageService { case SystemMessageType.CAL_PARTY_UNIT_SATISFACTION: topic=TopicConstants.CAL_PARTY_UNIT_SATISFACTION; break; + default: + logger.info("getTopicByMsgType default topic:{}", msgType); } return topic; } @@ -244,6 +247,8 @@ public class SystemMessageServiceImpl implements SystemMessageService { l1LastAlertTime = now; } break; + default: + logger.info("blockedMqMsgScan default topic:{}", mcb.getTopic()); } } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolRoutineWorkFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolRoutineWorkFormDTO.java index 5a9f6d63e5..c97e3236af 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolRoutineWorkFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PatrolRoutineWorkFormDTO.java @@ -24,8 +24,6 @@ public class PatrolRoutineWorkFormDTO implements Serializable { public interface AddOrUpdateForm { } - private String customerId; - @NotBlank(message = "网格ID不能为空", groups = AddOrUpdateForm.class) private String gridId; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java index 61bb3d0e39..574b1be44c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java @@ -19,6 +19,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.messages.BaseMQMsgDTO; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.DictTreeResultDTO; @@ -28,6 +29,7 @@ import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.SystemMessageType; import com.epmet.dao.PatrolRoutineWorkDao; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.form.CustomerGridFormDTO; @@ -35,7 +37,9 @@ import com.epmet.dto.form.PatrolRoutineWorkFormDTO; import com.epmet.entity.PatrolRoutineWorkEntity; import com.epmet.entity.PatrolRoutineWorkTypeEntity; import com.epmet.feign.EpmetAdminOpenFeignClient; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.send.SendMqMsgUtil; import com.epmet.service.PatrolRoutineWorkService; import com.epmet.service.PatrolRoutineWorkTypeService; import lombok.extern.slf4j.Slf4j; @@ -66,7 +70,9 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl gridBaseInfoData = govOrgOpenFeignClient.getGridBaseInfoByGridId(gridFormDTO); - if (!gridBaseInfoData.success()) { - throw new EpmetException("查询网格基本信息失败......"); - } - CustomerGridDTO gridBaseInfo = gridBaseInfoData.getData(); - entity.setPids(gridBaseInfo.getPids()); - entity.setUserId(loginUserUtil.getLoginUserId()); - entity.setCustomerId(loginUserUtil.getLoginUserCustomerId()); - - //entity.setUserId("loginUserUtil.getLoginUserId()"); - //entity.setCustomerId("loginUserUtil.getLoginUserCustomerId()"); - baseDao.insert(entity); - - Result> mapResult = adminOpenFeignClient.dictTree(DictTypeEnum.PATROL_WORK_TYPE.getCode()); - if (mapResult == null || !mapResult.success() || CollectionUtils.isEmpty(mapResult.getData())) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "例行工作类型字典获取失败!"); + CustomerGridFormDTO gridFormDTO = new CustomerGridFormDTO(); + gridFormDTO.setGridId(formDTO.getGridId()); + Result gridBaseInfoData = govOrgOpenFeignClient.getGridBaseInfoByGridId(gridFormDTO); + if (!gridBaseInfoData.success()) { + throw new EpmetException("查询网格基本信息失败......"); + } + CustomerGridDTO gridBaseInfo = gridBaseInfoData.getData(); + entity.setPids(gridBaseInfo.getPids()); + entity.setUserId(loginUserUtil.getLoginUserId()); + entity.setCustomerId(loginUserUtil.getLoginUserCustomerId()); + + //entity.setUserId("loginUserUtil.getLoginUserId()"); + //entity.setCustomerId("loginUserUtil.getLoginUserCustomerId()"); + baseDao.insert(entity); + + Result> mapResult = adminOpenFeignClient.dictTree(DictTypeEnum.PATROL_WORK_TYPE.getCode()); + if (mapResult == null || !mapResult.success() || CollectionUtils.isEmpty(mapResult.getData())) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "例行工作类型字典获取失败!"); + } + List dictTree = mapResult.getData(); + + Map pidsMap = new HashMap<>(); + + dictTree.forEach(dto -> buildAllParentIdPath(pidsMap, dto)); + + //插入分类 + List workTypeList = new ArrayList<>(); + for (String code : formDTO.getWorkTypeList()) { + PatrolRoutineWorkTypeEntity typeEntity = new PatrolRoutineWorkTypeEntity(); + typeEntity.setCustomerId(loginUserUtil.getLoginUserCustomerId()); + typeEntity.setRoutineWorkId(entity.getId()); + typeEntity.setWorkTypeCode(code); + StringBuilder pids = pidsMap.get(code); + typeEntity.setAllPCode(pids.length() == NumConstant.ZERO ? NumConstant.ZERO_STR : pids.toString()); + workTypeList.add(typeEntity); + } + patrolRoutineWorkTypeService.insertBatch(workTypeList); + } finally { + if (entity != null){ + sendPatrolMsg(entity.getCustomerId(),entity.getId(),SystemMessageType.PATROL_ROUTINE_WORK_ADD); + } } - List dictTree = mapResult.getData(); - - Map pidsMap = new HashMap<>(); - - dictTree.forEach(dto -> buildAllParentIdPath(pidsMap, dto)); - - List workTypeList = new ArrayList<>(); - formDTO.getWorkTypeList().forEach(code -> { - PatrolRoutineWorkTypeEntity typeEntity = new PatrolRoutineWorkTypeEntity(); - typeEntity.setCustomerId(loginUserUtil.getLoginUserCustomerId()); - typeEntity.setRoutineWorkId(entity.getId()); - typeEntity.setWorkTypeCode(code); - StringBuilder pids = pidsMap.get(code); - typeEntity.setAllPCode(pids.length() == NumConstant.ZERO ? NumConstant.ZERO_STR : pids.toString()); - workTypeList.add(typeEntity); - }); - patrolRoutineWorkTypeService.insertBatch(workTypeList); } @@ -154,6 +168,18 @@ public class PatrolRoutineWorkServiceImpl extends BaseServiceImpl dtos = JSON.parseArray(str, DictTreeResultDTO.class);