From 0fa393e8aa83d84a241d2a06b988d74bb1710215 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Wed, 18 Mar 2026 11:42:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../check/command/FireCheckListUpdateExe.java | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/web-app/src/main/java/com/zcloud/fire/check/command/FireCheckListUpdateExe.java b/web-app/src/main/java/com/zcloud/fire/check/command/FireCheckListUpdateExe.java index 8f09912..f5761e4 100644 --- a/web-app/src/main/java/com/zcloud/fire/check/command/FireCheckListUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/fire/check/command/FireCheckListUpdateExe.java @@ -1,6 +1,11 @@ package com.zcloud.fire.check.command; +import cn.hutool.json.JSONUtil; +import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.exception.BizException; +import com.jjb.saas.message.client.message.facede.MessageFacade; +import com.jjb.saas.message.client.message.request.MessageSendCmd; +import com.jjb.saas.message.client.message.request.MessageTargetCmd; import com.zcloud.fire.check.domain.gateway.FireCheckListGateway; import com.zcloud.fire.check.domain.gateway.FireCheckListItemGateway; import com.zcloud.fire.check.domain.gateway.FireCheckListUserGateway; @@ -10,17 +15,24 @@ import com.zcloud.fire.check.domain.model.FireCheckListUserE; import com.zcloud.fire.check.dto.FireCheckListUpdateCmd; import com.zcloud.fire.check.dto.FireCheckListUpdateStateCmd; import com.zcloud.fire.check.persistence.dataobject.FireCheckListDO; +import com.zcloud.fire.check.persistence.dataobject.FireCheckListUserDO; import com.zcloud.fire.check.persistence.repository.FireCheckListItemRepository; import com.zcloud.fire.check.persistence.repository.FireCheckListRepository; import com.zcloud.fire.check.persistence.repository.FireCheckListUserRepository; import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil; import com.zcloud.gbscommon.todolistmq.event.TodoListDeleteEvent; +import com.zcloud.gbscommon.utils.UuidUtil; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** @@ -31,6 +43,7 @@ import java.util.List; */ @Component @AllArgsConstructor +@Slf4j public class FireCheckListUpdateExe { private final FireCheckListGateway fireCheckListGateway; private final FireCheckListRepository fireCheckListRepository; @@ -39,7 +52,8 @@ public class FireCheckListUpdateExe { private final FireCheckListUserRepository fireCheckListUserRepository; private final FireCheckListUserGateway fireCheckListUserGateway; private final TodoListEventPusherUtil todoListEventPusherUtil; - + @DubboReference + private MessageFacade messageFacade; @Transactional(rollbackFor = Exception.class) public void execute(FireCheckListUpdateCmd fireCheckListUpdateCmd) { //数据是否存在 @@ -91,6 +105,30 @@ public class FireCheckListUpdateExe { event2.setForeignSubsidiaryKey(fireCheckListUpdateStateCmd.getId());// 业务附表ID 没有附表时为foreignKey的值 todoListEventPusherUtil.sendMessageDeleteEvent(event2); } + + if(fireCheckListUpdateStateCmd.getState() == 0){ + FireCheckListDO byId = fireCheckListRepository.getById(fireCheckListUpdateStateCmd.getId()); + List listByFireCheckId = fireCheckListUserRepository.getListByFireCheckId(byId.getFireCheckId()); + List userIdList = listByFireCheckId.stream().map(FireCheckListUserDO::getUserId).collect(Collectors.toList()); + //启用清单 + userIdList.forEach(userId -> { + MessageSendCmd messageSendCmd = new MessageSendCmd(); + messageSendCmd.setBusinessId(UuidUtil.get32UUID()); + MessageTargetCmd messageTargetCmd = new MessageTargetCmd(); + messageTargetCmd.setUserId(userId); + messageSendCmd.setTargetCmd(messageTargetCmd); + messageSendCmd.setSourceCode("MS000103"); + messageSendCmd.setNeedTokenEnum(false); + Map sendParams = new HashMap(); + sendParams.put("FirefightinglistName", byId.getFireCheckName()); + sendParams.put("checkPeriod", byId.getFireCheckTypeName()); + messageSendCmd.setParams(sendParams); + log.info("启动清单,提醒发送消息参数:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd)); + SingleResponse d = messageFacade.send(messageSendCmd); + log.info("启动清单,超期提醒发送消息结果:d: {}", JSONUtil.toJsonStr(d)); + }); + + } } }