diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskAddExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskAddExe.java index a28a6e9..8462564 100644 --- a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskAddExe.java +++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskAddExe.java @@ -1,8 +1,13 @@ package com.zcloud.domain.command; import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.exception.BizException; import com.alibaba.fastjson.JSONObject; +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.domain.command.convertor.ProjectTaskGroupUserCoConvertor; import com.zcloud.domain.command.convertor.ProjectTaskInfoCoConvertor; import com.zcloud.domain.command.convertor.ProjectTaskScoreInfoCoConvertor; @@ -25,13 +30,18 @@ import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository; import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil; import com.zcloud.gbscommon.todolistmq.event.TodoListAddEvent; import com.zcloud.gbscommon.utils.Tools; +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.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** @@ -42,6 +52,7 @@ import java.util.List; */ @Component @AllArgsConstructor +@Slf4j public class ProjectTaskAddExe { private final ProjectTaskGateway projectTaskGateway; private final ProjectTaskGroupUserCoConvertor projectTaskGroupUserCoConvertor; @@ -52,7 +63,8 @@ public class ProjectTaskAddExe { private final ProjectTaskScoreInfoCoConvertor projectTaskScoreInfoCoConvertor; private final DomainDepartmentRepository domainDepartmentRepository; private final TodoListEventPusherUtil todoListEventPusherUtil; - + @DubboReference + private MessageFacade messageFacade; @Transactional(rollbackFor = Exception.class) public boolean execute(ProjectTaskAddCmd cmd) { ProjectTaskE projectTaskE = new ProjectTaskE(); @@ -130,19 +142,39 @@ public class ProjectTaskAddExe { projectTaskGateway.update(projectTaskE); - String domainDepartmentId = projectTaskE.getDomainDepartmentId(); - DomainDepartmentDO infoByUUID = domainDepartmentRepository.getInfoByUUID(domainDepartmentId); - // 发送待办 - TodoListAddEvent event = new TodoListAddEvent(); - event.setTitle("您有一条【专项领域】待处理"); - event.setContent("待开始"); - event.setForeignKey(projectTaskE.getId()); // 业务表ID -申请 - event.setForeignSubsidiaryKey(projectTaskE.getId()); // 业务附表ID 没有附表时为foreignKey的值 - event.setReceiveUser(infoByUUID.getMasterUserId());// user表ID - event.setPcFlag(1); // 是否PC端待办 1是 0否 - event.setAppFlag(0); // 是否APP端待办 1是 0否 - event.setOtherParams(new JSONObject()); - todoListEventPusherUtil.sendMessageAddEvent( event); + //消息通知 + try{ + String domainDepartmentId = projectTaskE.getDomainDepartmentId(); + DomainDepartmentDO infoByUUID = domainDepartmentRepository.getInfoByUUID(domainDepartmentId); + MessageSendCmd messageSendCmd = new MessageSendCmd(); + messageSendCmd.setBusinessId(UuidUtil.get32UUID()); + MessageTargetCmd messageTargetCmd = new MessageTargetCmd(); + messageTargetCmd.setUserId(infoByUUID.getMasterUserId()); + messageSendCmd.setTargetCmd(messageTargetCmd); + messageSendCmd.setSourceCode("MS000105"); + messageSendCmd.setNeedTokenEnum(false); + Map sendParams = new HashMap(); + messageSendCmd.setParams(sendParams); + + log.info("评分完成消息提醒发送消息参数:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd)); + SingleResponse d = messageFacade.send(messageSendCmd); + log.info("评分完成消息提醒发送消息结果:d: {}", JSONUtil.toJsonStr(d)); + + + // 发送待办 + TodoListAddEvent event = new TodoListAddEvent(); + event.setTitle("您有一条【专项领域】待处理"); + event.setContent("待开始"); + event.setForeignKey(projectTaskE.getId()); // 业务表ID -申请 + event.setForeignSubsidiaryKey(projectTaskE.getId()); // 业务附表ID 没有附表时为foreignKey的值 + event.setReceiveUser(infoByUUID.getMasterUserId());// user表ID + event.setPcFlag(1); // 是否PC端待办 1是 0否 + event.setAppFlag(0); // 是否APP端待办 1是 0否 + event.setOtherParams(new JSONObject()); + todoListEventPusherUtil.sendMessageAddEvent( event); + }catch (Exception e) { + log.error("评分完成消息提醒发送消息异常:", e); + } return true; } diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoUpdateExe.java index a041e7a..db8d46a 100644 --- a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskScoreInfoUpdateExe.java @@ -14,13 +14,11 @@ import com.zcloud.domain.domain.model.CorpInfoE; import com.zcloud.domain.domain.model.ProjectTaskScoreInfoE; import com.zcloud.domain.dto.ProjectTaskScoreInfoUpdateCmd; import com.zcloud.domain.dto.ProjectTaskSetScoreCmd; +import com.zcloud.domain.persistence.dataobject.DomainGroupDO; import com.zcloud.domain.persistence.dataobject.ProjectTaskDO; import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO; import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO; -import com.zcloud.domain.persistence.repository.CorpInfoRepository; -import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository; -import com.zcloud.domain.persistence.repository.ProjectTaskRepository; -import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository; +import com.zcloud.domain.persistence.repository.*; import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil; import com.zcloud.gbscommon.todolistmq.event.TodoListCompleteEvent; import com.zcloud.gbscommon.todolistmq.event.TodoListDeleteEvent; @@ -57,6 +55,7 @@ public class ProjectTaskScoreInfoUpdateExe { @DubboReference private final MessageFacade messageFacade; private final TodoListEventPusherUtil todoListEventPusherUtil; + private final DomainGroupRepository domainGroupRepository; @Transactional(rollbackFor = Exception.class) public void execute(ProjectTaskScoreInfoUpdateCmd projectTaskScoreInfoUpdateCmd) { @@ -117,6 +116,9 @@ public class ProjectTaskScoreInfoUpdateExe { if(finish && averageScore !=null){ + ProjectTaskDO infoByTaskId = projectTaskRepository.getInfoByTaskId(info.getProjectTaskId()); + DomainGroupDO infoByGroupId = domainGroupRepository.getInfoByGroupId(infoByTaskId.getDomainGroupId()); + //完成后,发送消息通知 List projectTaskGroupUserDOList = projectTaskGroupUserRepository.getListByTaskId(info.getProjectTaskId()); for (ProjectTaskGroupUserDO projectTaskGroupUserDO : projectTaskGroupUserDOList) { @@ -125,11 +127,13 @@ public class ProjectTaskScoreInfoUpdateExe { MessageTargetCmd messageTargetCmd = new MessageTargetCmd(); messageTargetCmd.setUserId(projectTaskGroupUserDO.getUserId()); messageSendCmd.setTargetCmd(messageTargetCmd); - messageSendCmd.setSourceCode(""); + messageSendCmd.setSourceCode("MS000107"); messageSendCmd.setNeedTokenEnum(false); Map sendParams = new HashMap(); -// sendParams.put("FirefightinglistName", info.getFireCheckName()); -// sendParams.put("checkPeriod", info.getFireCheckTypeName()); + + sendParams.put("SpecialTaskForceName", infoByGroupId.getDomainGroupName()); + sendParams.put("ResearchTask", infoByTaskId.getProjectName()); + sendParams.put("AverageScore", averageScore); messageSendCmd.setParams(sendParams); try{ log.info("评分完成消息提醒发送消息参数:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd)); @@ -140,7 +144,6 @@ public class ProjectTaskScoreInfoUpdateExe { log.error("评分完成消息提醒发送消息异常:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd), e); } } - ProjectTaskDO infoByTaskId = projectTaskRepository.getInfoByTaskId(info.getProjectTaskId()); //任务完成待办 TodoListCompleteEvent event1 = new TodoListCompleteEvent(); event1.setForeignSubsidiaryKey(infoByTaskId.getId());// 业务附表ID 没有附表时为foreignKey的值 diff --git a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskUpdateExe.java b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskUpdateExe.java index bb771af..c76584c 100644 --- a/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/domain/command/ProjectTaskUpdateExe.java @@ -19,10 +19,7 @@ import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd; import com.zcloud.domain.dto.ProjectTaskInfoAddCmd; import com.zcloud.domain.dto.ProjectTaskScoreInfoAddCmd; import com.zcloud.domain.dto.ProjectTaskUpdateCmd; -import com.zcloud.domain.persistence.dataobject.ProjectTaskDO; -import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO; -import com.zcloud.domain.persistence.dataobject.ProjectTaskInfoDO; -import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO; +import com.zcloud.domain.persistence.dataobject.*; import com.zcloud.domain.persistence.repository.*; import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil; import com.zcloud.gbscommon.todolistmq.event.TodoListAddBatchEvent; @@ -59,6 +56,7 @@ public class ProjectTaskUpdateExe { private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository; private final ProjectTaskScoreInfoCoConvertor projectTaskScoreInfoCoConvertor; private final TodoListEventPusherUtil todoListEventPusherUtil; + private final DomainGroupRepository domainGroupRepository; @DubboReference private MessageFacade messageFacade; @@ -177,6 +175,8 @@ public class ProjectTaskUpdateExe { //每一个都需要 消息提醒和待办 for (ProjectTaskDO projectTaskDO : projectTaskDOExecutingList) { try{ + DomainGroupDO infoByGroupId = domainGroupRepository.getInfoByGroupId(projectTaskDO.getDomainGroupId()); + List todoListAddEventList = new ArrayList<>(); List projectTaskScoreInfoDOList = projectTaskScoreInfoRepository.getListByTaskId(projectTaskDO.getProjectTaskId()); for (ProjectTaskScoreInfoDO projectTaskScoreInfoDO : projectTaskScoreInfoDOList) { @@ -186,11 +186,10 @@ public class ProjectTaskUpdateExe { MessageTargetCmd messageTargetCmd = new MessageTargetCmd(); messageTargetCmd.setUserId(projectTaskScoreInfoDO.getUserId()); messageSendCmd.setTargetCmd(messageTargetCmd); - messageSendCmd.setSourceCode(""); + messageSendCmd.setSourceCode("MS000106"); messageSendCmd.setNeedTokenEnum(false); Map sendParams = new HashMap(); -// sendParams.put("FirefightinglistName", info.getFireCheckName()); -// sendParams.put("checkPeriod", info.getFireCheckTypeName()); + sendParams.put("SpecialLaskForceName", infoByGroupId.getDomainGroupName()); messageSendCmd.setParams(sendParams); try{ log.info("任务结束消息提醒发送消息参数:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd)); diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java index 9dd4ea5..88f3242 100644 --- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java +++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/mapper/DomainGroupMapper.java @@ -27,5 +27,7 @@ public interface DomainGroupMapper extends BaseMapper { DomainGroupDO getInfoById(Long id); List listAll(Map params); + + DomainGroupDO getInfoByGroupId(String domainGroupId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/DomainGroupRepository.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/DomainGroupRepository.java index 20ee4fe..f1d3b17 100644 --- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/DomainGroupRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/DomainGroupRepository.java @@ -23,5 +23,7 @@ public interface DomainGroupRepository extends BaseRepository { List listAll(Map params); List getListByCorpinfoId(@NotNull(message = "主责企业不能为空") Long corpinfoId); + + DomainGroupDO getInfoByGroupId(String domainGroupId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainGroupRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainGroupRepositoryImpl.java index f26f93c..fee947b 100644 --- a/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainGroupRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/domain/persistence/repository/impl/DomainGroupRepositoryImpl.java @@ -61,5 +61,10 @@ public class DomainGroupRepositoryImpl extends BaseRepositoryImpl order by dg.create_time desc +