luotaiqian 2026-07-24 15:47:00 +08:00
parent 31957c6bd5
commit 5e29452c4d
1 changed files with 4 additions and 32 deletions

View File

@ -1,5 +1,6 @@
package org.qinan.safetyeval.app.executor.institution;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.qinan.safetyeval.app.convertor.EvalSignTaskCmdConvertor;
import org.qinan.safetyeval.client.api.institution.EvalSignTaskApi;
@ -13,6 +14,7 @@ import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskSaveCmd;
import org.qinan.safetyeval.domain.constant.*;
import org.qinan.safetyeval.domain.entity.EvalSignTaskEntity;
import org.qinan.safetyeval.domain.entity.SafetyMessageEntity;
import org.qinan.safetyeval.domain.exception.BizException;
import org.qinan.safetyeval.domain.exception.ErrorCode;
import org.qinan.safetyeval.domain.gateway.SafetyMessageGateway;
@ -63,6 +65,8 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
private EvalTechReviewMapper evalTechReviewMapper;
@Autowired
private EvalProcessControlMapper evalProcessControlMapper;
@Autowired
private EvalProjectMemberMapper evalProjectMemberMapper;
@Override
public SingleResponse<EvalSignTaskCO> save(EvalSignTaskSaveCmd cmd) {
@ -72,38 +76,6 @@ public class EvalSignTaskExecutor implements EvalSignTaskApi {
EvalSignTaskEntity result = evalSignTaskDomainService.add(entity);
// 发送签字任务通知消息
safetyMessageGateway.saveSignMsg(cmd.getTaskTitle(), cmd.getNodeCode(), cmd.getProjectId(), cmd.getSignerPersonnelId());
// todo 消息发送
SafetyMessageEntity safetyMessageEntity = new SafetyMessageEntity();
safetyMessageEntity.setSendName(MsgConstant.MSG_TYPE_SYSTEM);
safetyMessageEntity.setSendId(MsgConstant.MSG_TYPE_SYSTEM_ID);
safetyMessageEntity.setSendType(NoticeTypeEnum.SIGN_TASK_NOTICE.getMsg());
Map<String, Object> params = new HashMap<>();
params.put("title", cmd.getTaskTitle());
Map<String, String> fillMap = new HashMap<>();
ProjectStageEnum projectStageEnum = ProjectStageEnum.fromNode(cmd.getNodeCode());
if (projectStageEnum == null) {
throw new BizException(ErrorCode.EVAL_PROJECT_NODE_NOT_FOUND);
}
fillMap.put("fileName", projectStageEnum.getMsg());
EvalProjectDO evalProjectDO = evalProjectMapper.selectById(cmd.getProjectId());
fillMap.put("version", evalProjectDO.getProjectNo());
if (ProjectStageEnum.RISK_ANALYSIS.getMsg().equals(cmd.getNodeCode())) {
fillMap.put("role", "");
} else {
// 查询角色
List<EvalProjectMemberDO> evalProjectMemberDOS = evalProjectMemberMapper.selectList(new LambdaQueryWrapper<EvalProjectMemberDO>()
.select(EvalProjectMemberDO::getRole)
.eq(EvalProjectMemberDO::getProjectId, cmd.getProjectId())
.eq(EvalProjectMemberDO::getPersonnelId, cmd.getSignerPersonnelId())
.last("limit 1"));
fillMap.put("role", ProjectStageEnum.fromVals(evalProjectMemberDOS.get(0).getRole()));
}
params.put("content", NoticeTypeEnum.SIGN_TASK_NOTICE.fillTemplate(fillMap));
safetyMessageEntity.setSendContent(JSON.toJSONString(params));
safetyMessageEntity.setReceiveId(Long.valueOf(cmd.getSignerPersonnelId()));
safetyMessageEntity.setSendState(0);
safetyMessageEntity.setCreateTime(LocalDateTime.now());
safetyMessageGateway.save(safetyMessageEntity);
return SingleResponse.success(evalSignTaskCmdConvertor.convertEToCO(result));
}