Compare commits

..

2 Commits

Author SHA1 Message Date
zhaokai 540a2d7c26 Merge remote-tracking branch 'origin/master' 2026-03-26 14:58:20 +08:00
zhaokai 3fca101701 消息待办 2026-03-26 14:58:10 +08:00
7 changed files with 61 additions and 14 deletions

View File

@ -56,6 +56,7 @@ public class ProjectTaskAddExe {
private final DomainDepartmentRepository domainDepartmentRepository; private final DomainDepartmentRepository domainDepartmentRepository;
private final TodoListEventPusherUtil todoListEventPusherUtil; private final TodoListEventPusherUtil todoListEventPusherUtil;
private final DomainGroupRepository domainGroupRepository; private final DomainGroupRepository domainGroupRepository;
private final CorpInfoRepository corpInfoRepository;
@DubboReference @DubboReference
private MessageFacade messageFacade; private MessageFacade messageFacade;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@ -127,41 +128,67 @@ public class ProjectTaskAddExe {
} else if (CollUtil.isNotEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isEmpty(projectTaskScoreInfoAddCmdList)) { } else if (CollUtil.isNotEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isEmpty(projectTaskScoreInfoAddCmdList)) {
// 只有group user列表不为空等待评分设置 // 只有group user列表不为空等待评分设置
projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.SCORE_WAIT_SET.getCode()); projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.SCORE_WAIT_SET.getCode());
//通知department
String domainDepartmentId = projectTaskE.getDomainDepartmentId();
DomainDepartmentDO infoByUUID = domainDepartmentRepository.getInfoByUUID(domainDepartmentId);
messageNotice(infoByUUID.getMasterUserId(),"MS000105",projectTaskE.getId(),null);
//股份端主账号
List<CorpInfoDO> gufen = corpInfoRepository.getGufen();
gufen.forEach(info -> {
messageNotice(info.getId(),"MS000105",projectTaskE.getId(),null);
});
} else if (CollUtil.isEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isNotEmpty(projectTaskScoreInfoAddCmdList)) { } else if (CollUtil.isEmpty(projectTaskGroupUserAddCmdList) && CollUtil.isNotEmpty(projectTaskScoreInfoAddCmdList)) {
// 只有score info列表不为空等待项目组设置 // 只有score info列表不为空等待项目组设置
//通知group
projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.PROJECT_GROUP_WAIT_SET.getCode()); projectTaskE.setExecuteStatus(ProjectTaskExecuteStatusEnum.PROJECT_GROUP_WAIT_SET.getCode());
String domainGroupId = projectTaskE.getDomainGroupId();
DomainGroupDO info = domainGroupRepository.getInfoByGroupId(domainGroupId);
DomainDepartmentDO infoByUUID = domainDepartmentRepository.getInfoByUUID(projectTaskE.getDomainDepartmentId());
Map<String, Object> sendParams = new HashMap<String, Object>();
sendParams.put("DomainDepartment", infoByUUID.getMasterDepartmentName());
messageNotice(info.getTeamUserId(),"MS000108",projectTaskE.getId(),sendParams);
messageNotice(info.getCorpinfoId(),"MS000108",projectTaskE.getId(),sendParams);
} }
projectTaskGateway.update(projectTaskE); projectTaskGateway.update(projectTaskE);
return true;
}
// Map<String, Object> sendParams = new HashMap<String, Object>();
//
// sendParams.put("SpecialTaskForceName", infoByGroupId.getDomainGroupName());
// sendParams.put("ResearchTask", infoByTaskId.getProjectName());
// sendParams.put("AverageScore", averageScore);
// messageSendCmd.setParams(sendParams);
private void messageNotice(Long userId,String sourceCode,Long foreignKey,Map<String, Object> sendParams) {
//消息通知 //消息通知
try{ try{
String domainDepartmentId = projectTaskE.getDomainDepartmentId();
DomainDepartmentDO infoByUUID = domainDepartmentRepository.getInfoByUUID(domainDepartmentId);
MessageSendCmd messageSendCmd = new MessageSendCmd(); MessageSendCmd messageSendCmd = new MessageSendCmd();
messageSendCmd.setBusinessId(UuidUtil.get32UUID()); messageSendCmd.setBusinessId(UuidUtil.get32UUID());
MessageTargetCmd messageTargetCmd = new MessageTargetCmd(); MessageTargetCmd messageTargetCmd = new MessageTargetCmd();
messageTargetCmd.setUserId(infoByUUID.getMasterUserId()); messageTargetCmd.setUserId(userId);
messageSendCmd.setTargetCmd(messageTargetCmd); messageSendCmd.setTargetCmd(messageTargetCmd);
messageSendCmd.setSourceCode("MS000105"); messageSendCmd.setSourceCode(sourceCode);
messageSendCmd.setNeedTokenEnum(false); messageSendCmd.setNeedTokenEnum(false);
Map<String, Object> sendParams = new HashMap<String, Object>();
messageSendCmd.setParams(sendParams); messageSendCmd.setParams(sendParams);
log.info("评分完成消息提醒发送消息参数:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd)); log.info("评分完成消息提醒发送消息参数:messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd));
SingleResponse<Boolean> d = messageFacade.send(messageSendCmd); SingleResponse<Boolean> d = messageFacade.send(messageSendCmd);
log.info("评分完成消息提醒发送消息结果:d: {}", JSONUtil.toJsonStr(d)); log.info("评分完成消息提醒发送消息结果:d: {}", JSONUtil.toJsonStr(d));
// 发送待办 // 发送待办
TodoListAddEvent event = new TodoListAddEvent(); TodoListAddEvent event = new TodoListAddEvent();
event.setTitle("您有一条【专项领域】待处理"); event.setTitle("您有一条【专项领域】待处理");
event.setContent("待开始"); event.setContent("待开始");
event.setForeignKey(projectTaskE.getId()); // 业务表ID -申请 event.setForeignKey(foreignKey); // 业务表ID -申请
event.setForeignSubsidiaryKey(projectTaskE.getId()); // 业务附表ID 没有附表时为foreignKey的值 event.setForeignSubsidiaryKey(foreignKey); // 业务附表ID 没有附表时为foreignKey的值
event.setReceiveUser(infoByUUID.getMasterUserId());// user表ID event.setReceiveUser(userId);// user表ID
event.setPcFlag(1); // 是否PC端待办 1是 0否 event.setPcFlag(1); // 是否PC端待办 1是 0否
event.setAppFlag(0); // 是否APP端待办 1是 0否 event.setAppFlag(0); // 是否APP端待办 1是 0否
event.setOtherParams(new JSONObject()); event.setOtherParams(new JSONObject());
@ -170,8 +197,6 @@ public class ProjectTaskAddExe {
}catch (Exception e) { }catch (Exception e) {
log.error("评分完成消息提醒发送消息异常:", e); log.error("评分完成消息提醒发送消息异常:", e);
} }
return true;
} }
} }

View File

@ -27,5 +27,7 @@ public interface DomainDepartmentMapper extends BaseMapper<DomainDepartmentDO> {
IPage<DomainDepartmentDO> listPage(IPage<DomainDepartmentDO> iPage, Map<String, Object> params, String menuPerms); IPage<DomainDepartmentDO> listPage(IPage<DomainDepartmentDO> iPage, Map<String, Object> params, String menuPerms);
List<DomainDepartmentDO> listAll(Map<String, Object> params); List<DomainDepartmentDO> listAll(Map<String, Object> params);
DomainDepartmentDO getInfoByUUID(String domainDepartmentId);
} }

View File

@ -4,6 +4,7 @@ import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository; import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.domain.persistence.dataobject.CorpInfoDO; import com.zcloud.domain.persistence.dataobject.CorpInfoDO;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -22,5 +23,7 @@ public interface CorpInfoRepository extends BaseRepository<CorpInfoDO> {
boolean isSupper(); boolean isSupper();
Boolean checkCorp(); Boolean checkCorp();
List<CorpInfoDO> getGufen();
} }

View File

@ -25,5 +25,6 @@ public interface DomainGroupRepository extends BaseRepository<DomainGroupDO> {
List<DomainGroupDO> getListByCorpinfoId(@NotNull(message = "主责企业不能为空") Long corpinfoId); List<DomainGroupDO> getListByCorpinfoId(@NotNull(message = "主责企业不能为空") Long corpinfoId);
DomainGroupDO getInfoByGroupId(String domainGroupId); DomainGroupDO getInfoByGroupId(String domainGroupId);
} }

View File

@ -16,6 +16,7 @@ import com.zcloud.gbscommon.utils.Query;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -68,5 +69,13 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl<CorpInfoMapper, C
public Boolean checkCorp() { public Boolean checkCorp() {
return AuthContext.getUserId().equals(AuthContext.getTenantId()); return AuthContext.getUserId().equals(AuthContext.getTenantId());
} }
@Override
public List<CorpInfoDO> getGufen() {
QueryWrapper<CorpInfoDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", 2);
List<CorpInfoDO> corpInfoDOS = corpInfoMapper.selectList(queryWrapper);
return corpInfoDOS;
}
} }

View File

@ -65,9 +65,7 @@ public class DomainDepartmentRepositoryImpl extends BaseRepositoryImpl<DomainDep
@Override @Override
public DomainDepartmentDO getInfoByUUID(String domainDepartmentId) { public DomainDepartmentDO getInfoByUUID(String domainDepartmentId) {
QueryWrapper<DomainDepartmentDO> queryWrapper = new QueryWrapper<>(); DomainDepartmentDO domainDepartmentDO = domainDepartmentMapper.getInfoByUUID(domainDepartmentId);
queryWrapper.eq("domain_department_id", domainDepartmentId);
DomainDepartmentDO domainDepartmentDO = getOne(queryWrapper);
return domainDepartmentDO; return domainDepartmentDO;
} }
} }

View File

@ -44,5 +44,14 @@
group by dd.id group by dd.id
order by dd.create_time desc order by dd.create_time desc
</select> </select>
<select id="getInfoByUUID" resultType="com.zcloud.domain.persistence.dataobject.DomainDepartmentDO">
select dd.*, d.name as masterDepartmentName, u.name as masterUserName
from domain_department dd
left join department d on dd.master_department_id = d.id
left join user u on dd.master_user_id = u.id
where dd.delete_enum = 'FALSE'
and dd.domain_department_id = #{domainDepartmentId}
</select>
</mapper> </mapper>