消息待办

master
zhaokai 2026-03-23 09:19:33 +08:00
parent e411227d44
commit 85413e02d5
5 changed files with 58 additions and 8 deletions

View File

@ -2,6 +2,7 @@ package com.zcloud.domain.command;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.exception.BizException;
import com.alibaba.fastjson.JSONObject;
import com.zcloud.domain.command.convertor.ProjectTaskGroupUserCoConvertor;
import com.zcloud.domain.command.convertor.ProjectTaskInfoCoConvertor;
import com.zcloud.domain.command.convertor.ProjectTaskScoreInfoCoConvertor;
@ -13,12 +14,16 @@ import com.zcloud.domain.dto.ProjectTaskAddCmd;
import com.zcloud.domain.dto.ProjectTaskGroupUserAddCmd;
import com.zcloud.domain.dto.ProjectTaskInfoAddCmd;
import com.zcloud.domain.dto.ProjectTaskScoreInfoAddCmd;
import com.zcloud.domain.persistence.dataobject.DomainDepartmentDO;
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.repository.DomainDepartmentRepository;
import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
import com.zcloud.domain.persistence.repository.ProjectTaskInfoRepository;
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 lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
@ -45,6 +50,8 @@ public class ProjectTaskAddExe {
private final ProjectTaskInfoRepository projectTaskInfoRepository;
private final ProjectTaskScoreInfoRepository projectTaskScoreInfoRepository;
private final ProjectTaskScoreInfoCoConvertor projectTaskScoreInfoCoConvertor;
private final DomainDepartmentRepository domainDepartmentRepository;
private final TodoListEventPusherUtil todoListEventPusherUtil;
@Transactional(rollbackFor = Exception.class)
public boolean execute(ProjectTaskAddCmd cmd) {
@ -121,6 +128,21 @@ 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);
return true;
}

View File

@ -14,6 +14,7 @@ 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.ProjectTaskDO;
import com.zcloud.domain.persistence.dataobject.ProjectTaskGroupUserDO;
import com.zcloud.domain.persistence.dataobject.ProjectTaskScoreInfoDO;
import com.zcloud.domain.persistence.repository.CorpInfoRepository;
@ -21,6 +22,7 @@ import com.zcloud.domain.persistence.repository.ProjectTaskGroupUserRepository;
import com.zcloud.domain.persistence.repository.ProjectTaskRepository;
import com.zcloud.domain.persistence.repository.ProjectTaskScoreInfoRepository;
import com.zcloud.gbscommon.todolistmq.TodoListEventPusherUtil;
import com.zcloud.gbscommon.todolistmq.event.TodoListCompleteEvent;
import com.zcloud.gbscommon.todolistmq.event.TodoListDeleteEvent;
import com.zcloud.gbscommon.utils.UuidUtil;
import lombok.AllArgsConstructor;
@ -101,9 +103,17 @@ public class ProjectTaskScoreInfoUpdateExe {
projectTaskRepository.updateScoreStatus(info.getProjectTaskId(), ScoreStatusEnum.SCOREING.getCode(),null);
}
//删除对应待办
TodoListDeleteEvent event2 = new TodoListDeleteEvent();
event2.setForeignSubsidiaryKey(info.getId());// 业务附表ID 没有附表时为foreignKey的值
todoListEventPusherUtil.sendMessageDeleteEvent(event2);
try{
//评分完成待办
TodoListCompleteEvent event1 = new TodoListCompleteEvent();
event1.setForeignSubsidiaryKey(info.getId());// 业务附表ID 没有附表时为foreignKey的值
log.info("完成待办,请求:{}",info.getId());
boolean b = todoListEventPusherUtil.sendMessageCompleteEvent(event1);
log.info("完成待办,结果:{}",b);
}catch (Exception e){
log.error("删除待办失败",e);
}
if(finish && averageScore !=null){
@ -125,11 +135,18 @@ public class ProjectTaskScoreInfoUpdateExe {
log.info("评分完成消息提醒发送消息参数:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd));
SingleResponse<Boolean> d = messageFacade.send(messageSendCmd);
log.info("评分完成消息提醒发送消息结果:d: {}", JSONUtil.toJsonStr(d));
}catch (Exception e) {
log.error("评分完成消息提醒发送消息异常:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd), e);
}
}
ProjectTaskDO infoByTaskId = projectTaskRepository.getInfoByTaskId(info.getProjectTaskId());
//任务完成待办
TodoListCompleteEvent event1 = new TodoListCompleteEvent();
event1.setForeignSubsidiaryKey(infoByTaskId.getId());// 业务附表ID 没有附表时为foreignKey的值
log.info("完成待办,请求:{}",infoByTaskId.getId());
boolean b = todoListEventPusherUtil.sendMessageCompleteEvent(event1);
log.info("完成待办,结果:{}",b);
}
}

View File

@ -201,14 +201,13 @@ public class ProjectTaskUpdateExe {
}
//待排查 待办
TodoListAddEvent event = new TodoListAddEvent();
event.setTitle(projectTaskScoreInfoDO.getUserName() + "-课题评分");
// event.setContent("您有一条[" + cmd.getFireCheckName() + "(" + cmd.getFireCheckTypeName() + ")】待检查,请您及时排查,避免超期。");
event.setContent("["+projectTaskDO.getProjectName()+"]已结束,请及时对本次课题任务进行评分");
event.setTitle("您有一条【专项领域】待处理");
event.setContent("待评分");
event.setForeignKey(projectTaskDO.getId()); // 业务表ID -申请
event.setForeignSubsidiaryKey(projectTaskScoreInfoDO.getId()); // 业务附表ID 没有附表时为foreignKey的值
event.setReceiveUser(projectTaskScoreInfoDO.getUserId());// user表ID
event.setPcFlag(1); // 是否PC端待办 1是 0否
event.setAppFlag(1); // 是否APP端待办 1是 0否
event.setAppFlag(0); // 是否APP端待办 1是 0否
event.setOtherParams(new JSONObject());
todoListAddEventList.add(event);
}
@ -216,6 +215,8 @@ public class ProjectTaskUpdateExe {
TodoListAddBatchEvent event3 = new TodoListAddBatchEvent();
event3.setTodoListAddEventList(todoListAddEventList);
todoListEventPusherUtil.sendMessageAddBatchEvent(event3);
}catch (Exception e){
log.error("发送待办消息失败",e);
}

View File

@ -22,5 +22,7 @@ public interface DomainDepartmentRepository extends BaseRepository<DomainDepartm
DomainDepartmentDO getInfoById(Long id);
List<DomainDepartmentDO> listAll(Map<String, Object> params);
DomainDepartmentDO getInfoByUUID(String domainDepartmentId);
}

View File

@ -62,5 +62,13 @@ public class DomainDepartmentRepositoryImpl extends BaseRepositoryImpl<DomainDep
public List<DomainDepartmentDO> listAll(Map<String, Object> params) {
return domainDepartmentMapper.listAll(params);
}
@Override
public DomainDepartmentDO getInfoByUUID(String domainDepartmentId) {
QueryWrapper<DomainDepartmentDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("domain_department_id", domainDepartmentId);
DomainDepartmentDO domainDepartmentDO = getOne(queryWrapper);
return domainDepartmentDO;
}
}