消息提醒

main
zhaokai 2026-03-18 11:42:13 +08:00
parent 8ab176c18b
commit 0fa393e8aa
1 changed files with 39 additions and 1 deletions

View File

@ -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<FireCheckListUserDO> listByFireCheckId = fireCheckListUserRepository.getListByFireCheckId(byId.getFireCheckId());
List<Long> 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<String, Object> sendParams = new HashMap<String, Object>();
sendParams.put("FirefightinglistName", byId.getFireCheckName());
sendParams.put("checkPeriod", byId.getFireCheckTypeName());
messageSendCmd.setParams(sendParams);
log.info("启动清单,提醒发送消息参数:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd));
SingleResponse<Boolean> d = messageFacade.send(messageSendCmd);
log.info("启动清单,超期提醒发送消息结果:d: {}", JSONUtil.toJsonStr(d));
});
}
}
}