This commit is contained in:
2026-01-14 14:55:30 +08:00
4 changed files with 37 additions and 16 deletions

View File

@@ -654,7 +654,7 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
taskMemberNode.setType(MemberTypeEnum.EXECUTOR.getCode());
projectNodeMemberList.add(taskMemberNode);
// 发送消息通知
sendMessage(MessageTemplateEnum.TASK_ISSUE, task.getNodeName(), userId);
sendMessage(MessageTemplateEnum.TASK_ISSUE, task.getNodeName(), userId, task.getUuid());
}
}
List<TaskExtraNode> extraList = task.getExtras();
@@ -791,12 +791,12 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
return response;
}
private void sendMessage(MessageTemplateEnum templateEnum, String taskName, String uuid) {
private void sendMessage(MessageTemplateEnum templateEnum, String taskName, String userId, String uuid) {
SendMsgReq req = new SendMsgReq();
req.setTitle(templateEnum.getTitle());
req.setContent(templateEnum.getContent(taskName));
req.setTenantId(ThreadLocalContext.getTenantId().toString());
req.setUserId(ThreadLocalContext.getUserId().toString());
req.setUserId(userId);
JSONObject params = new JSONObject();
params.put("taskId", uuid);
req.setParams(JSONObject.toJSONString(params));

View File

@@ -267,12 +267,20 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
if (StringUtils.isNotBlank(taskEditNodeReq.getEMemberList())) {
String[] userIdArr = taskEditNodeReq.getEMemberList().split(",");
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
List<SimulationTaskMember> oldEMemberList = simulationTaskMemberService.lambdaQuery()
.eq(SimulationTaskMember::getTaskId, taskEditNodeReq.getUuid())
.eq(SimulationTaskMember::getType, MemberTypeEnum.EXECUTOR.getCode()).list();
if (CollectionUtils.isNotEmpty(oldEMemberList)) {
List<Long> oldEMemberIdList = oldEMemberList.stream().map(SimulationTaskMember::getUserId).collect(Collectors.toList());
// 发送消息通知
longUserIdList.forEach(i -> {
if (!oldEMemberIdList.contains(i)) {
sendMessage(MessageTemplateEnum.TASK_ISSUE, taskEditNodeReq.getNodeName(), String.valueOf(i), taskEditNodeReq.getUuid());
}
});
}
simulationTaskMemberService.deleteTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.EXECUTOR.getCode());
simulationTaskMemberService.saveTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.EXECUTOR.getCode(), longUserIdList);
// 发送消息通知
longUserIdList.forEach(userId -> {
sendMessage(MessageTemplateEnum.TASK_ISSUE, taskEditNodeReq.getNodeName(), String.valueOf(userId));
});
}
// 修改仿真负责人
if (StringUtils.isNotBlank(taskEditNodeReq.getPMemberList())) {
@@ -1291,7 +1299,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
simulationTaskMemberService.saveTaskMemberList(projectNode.getUuid(), MemberTypeEnum.EXECUTOR.getCode(), longUserIdList);
// 发送消息通知
longUserIdList.forEach(userId -> {
sendMessage(MessageTemplateEnum.TASK_ISSUE, projectNode.getNodeName(), String.valueOf(userId));
sendMessage(MessageTemplateEnum.TASK_ISSUE, projectNode.getNodeName(), String.valueOf(userId), projectNode.getUuid());
});
}
// 设置仿真负责人
@@ -1314,12 +1322,12 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
}
}
private void sendMessage(MessageTemplateEnum templateEnum, String taskName, String uuid) {
private void sendMessage(MessageTemplateEnum templateEnum, String taskName, String userId, String uuid) {
SendMsgReq req = new SendMsgReq();
req.setTitle(templateEnum.getTitle());
req.setContent(templateEnum.getContent(taskName));
req.setTenantId(ThreadLocalContext.getTenantId().toString());
req.setUserId(ThreadLocalContext.getUserId().toString());
req.setUserId(userId);
JSONObject params = new JSONObject();
params.put("taskId", uuid);
req.setParams(JSONObject.toJSONString(params));

View File

@@ -780,14 +780,22 @@ public class TaskServiceImpl implements ITaskService {
if (StringUtils.isNotBlank(req.getEMemberList())) {
String[] userIdArr = req.getEMemberList().split(",");
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
List<SimulationTaskMember> oldEMemberList = simulationTaskMemberService.lambdaQuery()
.eq(SimulationTaskMember::getTaskId, taskId)
.eq(SimulationTaskMember::getType, MemberTypeEnum.EXECUTOR.getCode()).list();
if (CollectionUtils.isNotEmpty(oldEMemberList)) {
List<Long> oldEMemberIdList = oldEMemberList.stream().map(SimulationTaskMember::getUserId).collect(Collectors.toList());
// 发送消息通知
longUserIdList.forEach(i -> {
if (!oldEMemberIdList.contains(i)) {
sendMessage(MessageTemplateEnum.TASK_ISSUE, req.getNodeName(), String.valueOf(i), taskId);
}
});
}
simulationTaskMemberService.deleteTaskMemberList(taskId, MemberTypeEnum.EXECUTOR.getCode());
if (!simulationTaskMemberService.saveTaskMemberList(taskId, MemberTypeEnum.EXECUTOR.getCode(), longUserIdList)) {
return SdmResponse.failed("编辑仿真执行人失败");
}
// 发送消息通知
longUserIdList.forEach(i -> {
sendMessage(MessageTemplateEnum.TASK_ISSUE, req.getNodeName(), String.valueOf(i));
});
}
// 新增拓展属性
List<SimulationTaskExtra> extraList = req.getExtras();
@@ -817,12 +825,12 @@ public class TaskServiceImpl implements ITaskService {
return SdmResponse.success();
}
private void sendMessage(MessageTemplateEnum templateEnum, String taskName, String uuid) {
private void sendMessage(MessageTemplateEnum templateEnum, String taskName, String userId, String uuid) {
SendMsgReq req = new SendMsgReq();
req.setTitle(templateEnum.getTitle());
req.setContent(templateEnum.getContent(taskName));
req.setTenantId(ThreadLocalContext.getTenantId().toString());
req.setUserId(ThreadLocalContext.getUserId().toString());
req.setUserId(userId);
JSONObject params = new JSONObject();
params.put("taskId", uuid);
req.setParams(JSONObject.toJSONString(params));

View File

@@ -1,6 +1,7 @@
package com.sdm.system.controller;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.common.ThreadLocalContext;
import com.sdm.common.entity.req.system.QueryGroupDetailReq;
import com.sdm.common.entity.req.system.UserListReq;
import com.sdm.common.entity.req.system.UserQueryReq;
@@ -14,6 +15,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotNull;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.validation.annotation.Validated;
@@ -242,6 +244,9 @@ public class SysUserController implements ISysUserFeignClient {
@Operation(summary = "查询用户菜单权限", description = "查询用户菜单权限")
@GetMapping("/getUserPermissions")
public SdmResponse<List<String>> getUserPermissions(@Parameter(description = "查询用户菜单权限请求参数") @RequestParam("userId") String userId) {
if (StringUtils.isEmpty(userId)) {
userId = String.valueOf(ThreadLocalContext.getUserId());
}
return rolePermissionService.getUserPermissions(Long.valueOf(userId));
}