From 37682d2e0160c1e19523e4cdcd3dfb078ac8e2d2 Mon Sep 17 00:00:00 2001
From: gulongcheng <474084054@qq.com>
Date: Mon, 3 Nov 2025 14:45:00 +0800
Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=AE=AD=E7=BB=83=E5=AE=9E?=
=?UTF-8?q?=E6=97=B6=E6=97=A5=E5=BF=97=E5=B1=95=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/sdm/common/common/CommonHeader.java | 4 +-
.../sdm/common/common/ThreadLocalContext.java | 9 +
.../controller/DataAnalysisController.java | 2 +-
.../java/com/sdm/data/filter/AuthFilter.java | 2 +
.../model/req/GetSimulationTaskFileReq.java | 2 +-
.../service/impl/DataAnalysisServiceImpl.java | 3 +
.../SimulationAnalysisController.java | 16 +-
.../controller/SimulationNodeController.java | 3 +-
.../dao/SimulationPerformanceMapper.java | 16 ++
.../sdm/project/dao/SimulationRunMapper.java | 16 ++
.../sdm/project/dao/SimulationTaskMapper.java | 4 +-
.../com/sdm/project/filter/AuthFilter.java | 13 +-
.../model/entity/SimulationPerformance.java | 138 ++++++++++++
.../project/model/entity/SimulationRun.java | 97 +++++++++
.../project/model/entity/SimulationTask.java | 199 ++++++++++++++++++
...GetUserGroupTaskCompleteStatisticsReq.java | 2 +-
.../req/SpdmAnalysisPerformanceListReq.java | 7 +
.../model/req/SpdmAnalysisRunListReq.java | 7 +
.../model/req/SpdmAnalysisTaskListReq.java | 37 ++++
.../ISimulationPerformanceService.java | 16 ++
.../service/ISimulationRunService.java | 16 ++
.../service/ISimulationTaskService.java | 16 ++
.../com/sdm/project/service/ITaskService.java | 2 +
.../SimulationPerformanceServiceImpl.java | 20 ++
.../impl/SimulationRunServiceImpl.java | 20 ++
.../impl/SimulationTaskServiceImpl.java | 20 ++
.../project/service/impl/TaskServiceImpl.java | 11 +
.../mapper/SimulationPerformanceMapper.xml | 5 +
.../resources/mapper/SimulationRunMapper.xml | 5 +
.../system/controller/SysUserController.java | 12 +-
.../dao/SysUserGroupRelationMapper.java | 2 +-
.../com/sdm/system/filter/AuthFilter.java | 19 +-
.../model/req/user/GroupMemberQueryReq.java | 2 +-
.../model/req/user/QueryGroupDetailReq.java | 15 ++
.../model/resp/SysUserGroupDetailResp.java | 35 +++
.../service/ISysUserGroupRelationService.java | 2 +-
.../sdm/system/service/ISysUserService.java | 9 +-
.../impl/CID/CIDISysUserServiceImpl.java | 56 ++++-
.../service/impl/LocalUserServiceImpl.java | 7 +-
.../impl/SysUserGroupRelationServiceImpl.java | 2 +-
system/src/main/resources/application-dev.yml | 3 +
.../src/main/resources/application-local.yml | 3 +
.../src/main/resources/application-prod.yml | 3 +
.../src/main/resources/application-test.yml | 3 +
.../java/com/sdm/task/filter/AuthFilter.java | 13 +-
45 files changed, 847 insertions(+), 47 deletions(-)
create mode 100644 project/src/main/java/com/sdm/project/dao/SimulationPerformanceMapper.java
create mode 100644 project/src/main/java/com/sdm/project/dao/SimulationRunMapper.java
create mode 100644 project/src/main/java/com/sdm/project/model/entity/SimulationPerformance.java
create mode 100644 project/src/main/java/com/sdm/project/model/entity/SimulationRun.java
create mode 100644 project/src/main/java/com/sdm/project/model/entity/SimulationTask.java
create mode 100644 project/src/main/java/com/sdm/project/service/ISimulationPerformanceService.java
create mode 100644 project/src/main/java/com/sdm/project/service/ISimulationRunService.java
create mode 100644 project/src/main/java/com/sdm/project/service/ISimulationTaskService.java
create mode 100644 project/src/main/java/com/sdm/project/service/impl/SimulationPerformanceServiceImpl.java
create mode 100644 project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java
create mode 100644 project/src/main/java/com/sdm/project/service/impl/SimulationTaskServiceImpl.java
create mode 100644 project/src/main/resources/mapper/SimulationPerformanceMapper.xml
create mode 100644 project/src/main/resources/mapper/SimulationRunMapper.xml
create mode 100644 system/src/main/java/com/sdm/system/model/req/user/QueryGroupDetailReq.java
create mode 100644 system/src/main/java/com/sdm/system/model/resp/SysUserGroupDetailResp.java
diff --git a/common/src/main/java/com/sdm/common/common/CommonHeader.java b/common/src/main/java/com/sdm/common/common/CommonHeader.java
index 50084375..f331486d 100644
--- a/common/src/main/java/com/sdm/common/common/CommonHeader.java
+++ b/common/src/main/java/com/sdm/common/common/CommonHeader.java
@@ -9,14 +9,16 @@ public class CommonHeader {
private String sessionId;
private Long userId;
private Long tenantId;
+ private String userName;
private UserContext userContext;
- public CommonHeader(String jobNumber, String company, UserContext userContext,Long userId) {
+ public CommonHeader(String jobNumber, String company, UserContext userContext,Long userId,String userName) {
this.jobNumber = jobNumber;
this.company = company;
this.userContext = userContext;
this.userId = userId;
+ this.userName = userName;
}
public CommonHeader() {
diff --git a/common/src/main/java/com/sdm/common/common/ThreadLocalContext.java b/common/src/main/java/com/sdm/common/common/ThreadLocalContext.java
index 424e0193..f33133a3 100644
--- a/common/src/main/java/com/sdm/common/common/ThreadLocalContext.java
+++ b/common/src/main/java/com/sdm/common/common/ThreadLocalContext.java
@@ -63,6 +63,15 @@ public class ThreadLocalContext {
current.get().setTenantId(tenantId);
}
+ // userName
+ public static String getUserName() {
+ return current.get().getUserName();
+ }
+
+ public static void setUserName(String userName) {
+ current.get().setUserName(userName);
+ }
+
public static CommonHeader getCommonHeader() {
return current.get();
diff --git a/data/src/main/java/com/sdm/data/controller/DataAnalysisController.java b/data/src/main/java/com/sdm/data/controller/DataAnalysisController.java
index cf7a4c13..d60b65c0 100644
--- a/data/src/main/java/com/sdm/data/controller/DataAnalysisController.java
+++ b/data/src/main/java/com/sdm/data/controller/DataAnalysisController.java
@@ -24,7 +24,7 @@ public class DataAnalysisController {
private IDataAnalysisService dataAnalysisService;
/**
- * 数据分析-获取 simulationtTask的文件
+ * 数据分析(数据查询)-获取 simulationtTask的文件
*
*/
@Operation(summary = "获取 simulationtTask的文件,文件类型: 1:模型文件 2:仿真报告 3:计算文件 4:曲线文件 5:云图文件")
diff --git a/data/src/main/java/com/sdm/data/filter/AuthFilter.java b/data/src/main/java/com/sdm/data/filter/AuthFilter.java
index 16963021..45d73663 100644
--- a/data/src/main/java/com/sdm/data/filter/AuthFilter.java
+++ b/data/src/main/java/com/sdm/data/filter/AuthFilter.java
@@ -28,11 +28,13 @@ public class AuthFilter implements Filter {
String jobNumber = StringUtils.isEmpty(req.getHeader("jobNumber")) ? "" : req.getHeader("jobNumber");
Long usrId = StringUtils.isEmpty(req.getHeader("userId")) ? null : Long.valueOf(req.getHeader("userId"));
Long tenantId = StringUtils.isEmpty(req.getHeader("tenantId")) ? null : Long.valueOf(req.getHeader("tenantId"));
+ String userName = StringUtils.isEmpty(req.getHeader("userName")) ? null : req.getHeader("userName");
ThreadLocalContext.setJobNumber(jobNumber);
ThreadLocalContext.setCompany(req.getHeader("company"));
ThreadLocalContext.setSessionId(req.getHeader("sessionId"));
ThreadLocalContext.setUserId(usrId);
ThreadLocalContext.setTenantId(tenantId);
+ ThreadLocalContext.setUserName(userName);
// User user = userService.getUserByIdCode(idCode);
// if (user != null) {
diff --git a/data/src/main/java/com/sdm/data/model/req/GetSimulationTaskFileReq.java b/data/src/main/java/com/sdm/data/model/req/GetSimulationTaskFileReq.java
index 33941a8c..6df2b7be 100644
--- a/data/src/main/java/com/sdm/data/model/req/GetSimulationTaskFileReq.java
+++ b/data/src/main/java/com/sdm/data/model/req/GetSimulationTaskFileReq.java
@@ -10,7 +10,7 @@ import java.time.LocalDateTime;
@Data
public class GetSimulationTaskFileReq extends BaseReq {
@Schema(description = "任务ID(simulationtTask的id)")
- Integer taskId;
+ Long taskId;
@Schema(description = "文件类型", implementation = Constants.FileType.class)
Integer fileType;
diff --git a/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java
index 672ccc16..4c87f317 100644
--- a/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java
+++ b/data/src/main/java/com/sdm/data/service/impl/DataAnalysisServiceImpl.java
@@ -40,6 +40,9 @@ public class DataAnalysisServiceImpl implements IDataAnalysisService {
String objectKey = null;
if (ObjectUtils.isNotNull(getSimulationTaskFileReq.getTaskId())) {
FileMetadataInfo nodeFileMetadataInfo = fileMetadataInfoService.lambdaQuery().eq(FileMetadataInfo::getNodeId, getSimulationTaskFileReq.getTaskId()).one();
+ if(nodeFileMetadataInfo == null ){
+ return SdmResponse.failed("节点不存在");
+ }
objectKey = nodeFileMetadataInfo.getObjectKey();
}
diff --git a/project/src/main/java/com/sdm/project/controller/SimulationAnalysisController.java b/project/src/main/java/com/sdm/project/controller/SimulationAnalysisController.java
index 4bf4d929..a3259323 100644
--- a/project/src/main/java/com/sdm/project/controller/SimulationAnalysisController.java
+++ b/project/src/main/java/com/sdm/project/controller/SimulationAnalysisController.java
@@ -22,7 +22,7 @@ public class SimulationAnalysisController {
private ITaskService taskService;
/**
- * 仿真工况
+ * 数据分析(数据查询)-根据节点id获取仿真工况
*
* @param req
* @return
@@ -34,7 +34,7 @@ public class SimulationAnalysisController {
}
/**
- * 指标
+ * 数据分析(数据查询)-根据节点id获取指标
*
* @param req
* @return
@@ -46,7 +46,7 @@ public class SimulationAnalysisController {
}
/**
- * 算例
+ * 数据分析(数据查询)-根据节点id获取算例
*
* @param req
* @return
@@ -57,4 +57,14 @@ public class SimulationAnalysisController {
return taskService.analysisRunList(req);
}
+
+ /**
+ * 数据分析(数据查询)-根据任务id获取所有算列结果和5种文件
+ */
+ @GetMapping("/getAllRunResult")
+ public SdmResponse getAllRunResultByTaskId(String taskId) {
+ return taskService.getAllRunResultByTaskId(taskId);
+ }
+
+
}
diff --git a/project/src/main/java/com/sdm/project/controller/SimulationNodeController.java b/project/src/main/java/com/sdm/project/controller/SimulationNodeController.java
index 6e7ee150..bd68d551 100644
--- a/project/src/main/java/com/sdm/project/controller/SimulationNodeController.java
+++ b/project/src/main/java/com/sdm/project/controller/SimulationNodeController.java
@@ -8,6 +8,7 @@ import com.sdm.project.service.INodeService;
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.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -152,7 +153,7 @@ public class SimulationNodeController implements ISimuluationNodeFeignClient {
*/
@GetMapping("/getUserGroupProjectStatistics")
@Operation(summary = "用户组项目统计", description = "用户组项目统计")
- public SdmResponse getUserGroupProjectStatistics(@Parameter(description = "用户组ID")@RequestParam( value = "userGroupId") Integer userGroupId,@Parameter(description = "用户ID")@RequestParam( value = "userId", required = false) Integer userId) {
+ public SdmResponse getUserGroupProjectStatistics(@Parameter(description = "用户组ID")@RequestParam( value = "userGroupId" )@NotNull(message = "用户组ID(userGroupId)为必传参数,请补充后重试") Integer userGroupId, @Parameter(description = "用户ID")@RequestParam( value = "userId", required = false) Integer userId) {
return nodeService.getUserGroupProjectStatistics(userGroupId,userId);
}
diff --git a/project/src/main/java/com/sdm/project/dao/SimulationPerformanceMapper.java b/project/src/main/java/com/sdm/project/dao/SimulationPerformanceMapper.java
new file mode 100644
index 00000000..9c88669f
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/dao/SimulationPerformanceMapper.java
@@ -0,0 +1,16 @@
+package com.sdm.project.dao;
+
+import com.sdm.project.model.entity.SimulationPerformance;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+public interface SimulationPerformanceMapper extends BaseMapper {
+
+}
diff --git a/project/src/main/java/com/sdm/project/dao/SimulationRunMapper.java b/project/src/main/java/com/sdm/project/dao/SimulationRunMapper.java
new file mode 100644
index 00000000..aebfe60c
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/dao/SimulationRunMapper.java
@@ -0,0 +1,16 @@
+package com.sdm.project.dao;
+
+import com.sdm.project.model.entity.SimulationRun;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+public interface SimulationRunMapper extends BaseMapper {
+
+}
diff --git a/project/src/main/java/com/sdm/project/dao/SimulationTaskMapper.java b/project/src/main/java/com/sdm/project/dao/SimulationTaskMapper.java
index da5266db..8eeff2a4 100644
--- a/project/src/main/java/com/sdm/project/dao/SimulationTaskMapper.java
+++ b/project/src/main/java/com/sdm/project/dao/SimulationTaskMapper.java
@@ -1,6 +1,8 @@
package com.sdm.project.dao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sdm.common.common.SdmResponse;
+import com.sdm.project.model.entity.SimulationTask;
import com.sdm.project.model.req.SpdmAnalysisTaskListReq;
import com.sdm.project.model.req.*;
import com.sdm.project.model.vo.*;
@@ -10,7 +12,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
-public interface SimulationTaskMapper {
+public interface SimulationTaskMapper extends BaseMapper {
SdmResponse list(SpdmTaskListReq req);
diff --git a/project/src/main/java/com/sdm/project/filter/AuthFilter.java b/project/src/main/java/com/sdm/project/filter/AuthFilter.java
index b950ae92..d93a5dbb 100644
--- a/project/src/main/java/com/sdm/project/filter/AuthFilter.java
+++ b/project/src/main/java/com/sdm/project/filter/AuthFilter.java
@@ -24,9 +24,16 @@ public class AuthFilter implements Filter {
if (servletRequest instanceof HttpServletRequest) {
HttpServletRequest req = (HttpServletRequest) servletRequest;
String jobNumber = StringUtils.isEmpty(req.getHeader("jobNumber")) ? "" : req.getHeader("jobNumber");
- ThreadLocalContext.getCommonHeader().setJobNumber(jobNumber);
- ThreadLocalContext.getCommonHeader().setCompany(req.getHeader("company"));
- ThreadLocalContext.getCommonHeader().setSessionId(req.getHeader("sessionId"));
+ Long usrId = StringUtils.isEmpty(req.getHeader("userId")) ? null : Long.valueOf(req.getHeader("userId"));
+ Long tenantId = StringUtils.isEmpty(req.getHeader("tenantId")) ? null : Long.valueOf(req.getHeader("tenantId"));
+ String userName = StringUtils.isEmpty(req.getHeader("userName")) ? null : req.getHeader("userName");
+ ThreadLocalContext.setJobNumber(jobNumber);
+ ThreadLocalContext.setCompany(req.getHeader("company"));
+ ThreadLocalContext.setSessionId(req.getHeader("sessionId"));
+ ThreadLocalContext.setUserId(usrId);
+ ThreadLocalContext.setTenantId(tenantId);
+ ThreadLocalContext.setUserName(userName);
+
// User user = userService.getUserByIdCode(idCode);
// if (user != null) {
// ThreadLocalContext.setUserContext(new UserContext(user));
diff --git a/project/src/main/java/com/sdm/project/model/entity/SimulationPerformance.java b/project/src/main/java/com/sdm/project/model/entity/SimulationPerformance.java
new file mode 100644
index 00000000..f0f46dcf
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/model/entity/SimulationPerformance.java
@@ -0,0 +1,138 @@
+package com.sdm.project.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ *
+ *
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("simulation_performance")
+@ApiModel(value="SimulationPerformance对象", description="")
+public class SimulationPerformance implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @TableField("uuid")
+ private String uuid;
+
+ @TableField("nodeId")
+ private String nodeId;
+
+ @TableField("taskId")
+ private String taskId;
+
+ @ApiModelProperty(value = "算列runId")
+ @TableField("runId")
+ private String runId;
+
+ @TableField("performanceName")
+ private String performanceName;
+
+ @TableField("nodeName")
+ private String nodeName;
+
+ @TableField("englishName")
+ private String englishName;
+
+ @TableField("nodeCode")
+ private String nodeCode;
+
+ @TableField("poolName")
+ private String poolName;
+
+ @TableField("performanceType")
+ private String performanceType;
+
+ @TableField("unit")
+ private String unit;
+
+ @TableField("targetValue")
+ private String targetValue;
+
+ @TableField("lowValue")
+ private String lowValue;
+
+ @TableField("highValue")
+ private String highValue;
+
+ @TableField("method")
+ private String method;
+
+ @ApiModelProperty(value = " 指标完成情况 未分析 不合格 合格")
+ @TableField("completeStatus")
+ private String completeStatus;
+
+ @ApiModelProperty(value = "计算及结果值")
+ @TableField("resultValue")
+ private String resultValue;
+
+ @TableField("description")
+ private String description;
+
+ @TableField("taskName")
+ private String taskName;
+
+ @TableField("standard")
+ private String standard;
+
+ @TableField("tenantId")
+ private String tenantId;
+
+ @TableField("createTime")
+ private LocalDateTime createTime;
+
+ @TableField("pid")
+ private Integer pid;
+
+ @TableField("tag1")
+ private String tag1;
+
+ @TableField("tag2")
+ private String tag2;
+
+ @TableField("tag3")
+ private String tag3;
+
+ @TableField("tag4")
+ private String tag4;
+
+ @TableField("tag5")
+ private String tag5;
+
+ @TableField("tag6")
+ private String tag6;
+
+ @TableField("tag7")
+ private String tag7;
+
+ @TableField("tag8")
+ private String tag8;
+
+ @TableField("tag9")
+ private String tag9;
+
+ @TableField("tag10")
+ private String tag10;
+
+
+}
diff --git a/project/src/main/java/com/sdm/project/model/entity/SimulationRun.java b/project/src/main/java/com/sdm/project/model/entity/SimulationRun.java
new file mode 100644
index 00000000..775d8174
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/model/entity/SimulationRun.java
@@ -0,0 +1,97 @@
+package com.sdm.project.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ *
+ *
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("simulation_run")
+@ApiModel(value="SimulationRun对象", description="")
+public class SimulationRun implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @TableField("uuid")
+ private String uuid;
+
+ @TableField("run_name")
+ private String runName;
+
+ @ApiModelProperty(value = "1:server 2:pbs 3:local only")
+ @TableField("type")
+ private Integer type;
+
+ @TableField("task_id")
+ private String taskId;
+
+ @ApiModelProperty(value = "Run状态 0:未执行 1:执行中 2:完成 3:失败")
+ @TableField("status")
+ private Integer status;
+
+ @ApiModelProperty(value = "Run执行结果 0:gray 1:red 2:yellow 3:green")
+ @TableField("achieve_status")
+ private Integer achieveStatus;
+
+ @ApiModelProperty(value = "run描述信息")
+ @TableField("description")
+ private String description;
+
+ @ApiModelProperty(value = "Run对应在文件系统中的路径")
+ @TableField("folder_id")
+ private String folderId;
+
+ @TableField("tenant_id")
+ private String tenantId;
+
+ @TableField("tag1")
+ private String tag1;
+
+ @TableField("tag2")
+ private String tag2;
+
+ @TableField("tag3")
+ private String tag3;
+
+ @TableField("tag4")
+ private String tag4;
+
+ @TableField("tag5")
+ private String tag5;
+
+ @TableField("tag6")
+ private String tag6;
+
+ @TableField("tag7")
+ private String tag7;
+
+ @TableField("tag8")
+ private String tag8;
+
+ @TableField("tag9")
+ private String tag9;
+
+ @TableField("tag10")
+ private String tag10;
+
+
+}
diff --git a/project/src/main/java/com/sdm/project/model/entity/SimulationTask.java b/project/src/main/java/com/sdm/project/model/entity/SimulationTask.java
new file mode 100644
index 00000000..eb2cfea8
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/model/entity/SimulationTask.java
@@ -0,0 +1,199 @@
+package com.sdm.project.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ *
+ *
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("simulation_task")
+@ApiModel(value="SimulationTask对象", description="")
+public class SimulationTask implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty(value = "loadcase名称")
+ @TableField("uuid")
+ private String uuid;
+
+ @ApiModelProperty(value = "loadcase所属学科名称")
+ @TableField("task_name")
+ private String taskName;
+
+ @TableField("task_code")
+ private String taskCode;
+
+ @ApiModelProperty(value = "loadcase 库名称")
+ @TableField("task_pool_name")
+ private String taskPoolName;
+
+ @TableField("task_pool_version")
+ private String taskPoolVersion;
+
+ @ApiModelProperty(value = "task所属节点Id,0表示不从属任何节点")
+ @TableField("node_id")
+ private String nodeId;
+
+ @ApiModelProperty(value = "loadcase预估的工作周期")
+ @TableField("days")
+ private Integer days;
+
+ @TableField("real_days")
+ private Integer realDays;
+
+ @ApiModelProperty(value = "loadcase参照的标准")
+ @TableField("standard")
+ private String standard;
+
+ @TableField("fold_id")
+ private String foldId;
+
+ @ApiModelProperty(value = "loadcase当前状态 1:red 2:yellow 3:grey 4:green")
+ @TableField("status")
+ private Integer status;
+
+ @TableField("achieve_status")
+ private String achieveStatus;
+
+ @ApiModelProperty(value = "loadcase开始时间")
+ @TableField("begin_time")
+ private String beginTime;
+
+ @ApiModelProperty(value = "loadcase执行结束时间")
+ @TableField("end_time")
+ private String endTime;
+
+ @TableField("finish_time")
+ private String finishTime;
+
+ @ApiModelProperty(value = "loadcase进度")
+ @TableField("progress")
+ private Integer progress;
+
+ @ApiModelProperty(value = "上汽大众:SVW 德国大众:VW")
+ @TableField("exe_status")
+ private String exeStatus;
+
+ @ApiModelProperty(value = "置信度")
+ @TableField("confidence")
+ private String confidence;
+
+ @TableField("analyse_target")
+ private String analyseTarget;
+
+ @ApiModelProperty(value = "分析软件")
+ @TableField("analyse_software")
+ private String analyseSoftware;
+
+ @TableField("approval_status")
+ private String approvalStatus;
+
+ @TableField("comfirm_status")
+ private String comfirmStatus;
+
+ @TableField("description")
+ private String description;
+
+ @TableField("difficult")
+ private Float difficult;
+
+ @TableField("tenant_id")
+ private String tenantId;
+
+ @TableField("pid")
+ private Integer pid;
+
+ @ApiModelProperty(value = "创建人")
+ @TableField("creator")
+ private String creator;
+
+ @ApiModelProperty(value = "创建时间")
+ @TableField("create_time")
+ private String createTime;
+
+ @ApiModelProperty(value = "更新人")
+ @TableField("updater")
+ private String updater;
+
+ @ApiModelProperty(value = "更新时间")
+ @TableField("update_time")
+ private String updateTime;
+
+ @ApiModelProperty(value = "部门")
+ @TableField("department")
+ private String department;
+
+ @ApiModelProperty(value = "科")
+ @TableField("sectionName")
+ private String sectionName;
+
+ @ApiModelProperty(value = "组")
+ @TableField("groupName")
+ private String groupName;
+
+ @ApiModelProperty(value = "仿真能力")
+ @TableField("bCapacity")
+ private String bCapacity;
+
+ @ApiModelProperty(value = "任务流程模板")
+ @TableField("flowTemplateName")
+ private String flowTemplateName;
+
+ @TableField("englishName")
+ private String englishName;
+
+ @ApiModelProperty(value = "关联的需求id")
+ @TableField("demand_id")
+ private String demandId;
+
+ @TableField("tag1")
+ private String tag1;
+
+ @TableField("tag2")
+ private String tag2;
+
+ @TableField("tag3")
+ private String tag3;
+
+ @TableField("tag4")
+ private String tag4;
+
+ @TableField("tag5")
+ private String tag5;
+
+ @TableField("tag6")
+ private String tag6;
+
+ @TableField("tag7")
+ private String tag7;
+
+ @TableField("tag8")
+ private String tag8;
+
+ @TableField("tag9")
+ private String tag9;
+
+ @TableField("tag10")
+ private String tag10;
+
+
+}
diff --git a/project/src/main/java/com/sdm/project/model/req/GetUserGroupTaskCompleteStatisticsReq.java b/project/src/main/java/com/sdm/project/model/req/GetUserGroupTaskCompleteStatisticsReq.java
index e8acf103..35d6f4d2 100644
--- a/project/src/main/java/com/sdm/project/model/req/GetUserGroupTaskCompleteStatisticsReq.java
+++ b/project/src/main/java/com/sdm/project/model/req/GetUserGroupTaskCompleteStatisticsReq.java
@@ -11,7 +11,7 @@ import lombok.Data;
@Schema(description = "用户组任务完成情况统计请求参数")
public class GetUserGroupTaskCompleteStatisticsReq {
@Schema(description = "用户组ID")
- @NotNull
+ @NotNull(message = "用户组ID不能为空")
private Integer userGroupId;
@Schema(description = "用户ID")
diff --git a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisPerformanceListReq.java b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisPerformanceListReq.java
index 290b9686..ca3daab5 100644
--- a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisPerformanceListReq.java
+++ b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisPerformanceListReq.java
@@ -1,6 +1,7 @@
package com.sdm.project.model.req;
import com.sdm.common.entity.pojo.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@@ -13,16 +14,22 @@ public class SpdmAnalysisPerformanceListReq extends BaseEntity {
@NotNull(message = "size不能为空")
private Integer size;
+ @Schema( description = "项目节点id")
private String projectNodeId;
+ @Schema( description = "阶段节点id")
private String phaseNodeId;
+ @Schema( description = "专业节点id")
private String disciplineNodeId;
+ @Schema( description = "指标名称")
private String performanceName;
+ @Schema( description = "开始时间")
private String beginTime;
+ @Schema( description = "结束时间")
private String endTime;
}
diff --git a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisRunListReq.java b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisRunListReq.java
index b804b3ae..aa3ea443 100644
--- a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisRunListReq.java
+++ b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisRunListReq.java
@@ -1,6 +1,7 @@
package com.sdm.project.model.req;
import com.sdm.common.entity.pojo.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@@ -13,16 +14,22 @@ public class SpdmAnalysisRunListReq extends BaseEntity {
@NotNull(message = "size不能为空")
private Integer size;
+ @Schema( description = "项目节点id")
private String projectNodeId;
+ @Schema( description = "阶段节点id")
private String phaseNodeId;
+ @Schema( description = "专业节点id")
private String disciplineNodeId;
+ @Schema( description = "算例名称")
private String runName;
+ @Schema( description = "开始时间")
private String beginTime;
+ @Schema( description = "结束时间")
private String endTime;
}
diff --git a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisTaskListReq.java b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisTaskListReq.java
index eef85e09..636dc1ea 100644
--- a/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisTaskListReq.java
+++ b/project/src/main/java/com/sdm/project/model/req/SpdmAnalysisTaskListReq.java
@@ -1,6 +1,7 @@
package com.sdm.project.model.req;
import com.sdm.common.entity.pojo.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@@ -13,16 +14,52 @@ public class SpdmAnalysisTaskListReq extends BaseEntity {
@NotNull(message = "size不能为空")
private Integer size;
+ @Schema( description = "项目节点id")
private String projectNodeId;
+ @Schema( description = "阶段节点id")
private String phaseNodeId;
+ @Schema( description = "专业节点id")
private String disciplineNodeId;
+ @Schema(description = "标签1")
+ private String tag1;
+
+ @Schema(description = "标签2")
+ private String tag2;
+
+ @Schema(description = "标签3")
+ private String tag3;
+
+ @Schema(description = "标签4")
+ private String tag4;
+
+ @Schema(description = "标签5")
+ private String tag5;
+
+ @Schema(description = "标签6")
+ private String tag6;
+
+ @Schema(description = "标签7")
+ private String tag7;
+
+ @Schema(description = "标签8")
+ private String tag8;
+
+ @Schema(description = "标签9")
+ private String tag9;
+
+ @Schema(description = "标签10")
+ private String tag10;
+
+ @Schema( description = "任务名称")
private String taskName;
+ @Schema( description = "开始时间")
private String beginTime;
+ @Schema( description = "结束时间")
private String endTime;
}
diff --git a/project/src/main/java/com/sdm/project/service/ISimulationPerformanceService.java b/project/src/main/java/com/sdm/project/service/ISimulationPerformanceService.java
new file mode 100644
index 00000000..a4495f49
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/service/ISimulationPerformanceService.java
@@ -0,0 +1,16 @@
+package com.sdm.project.service;
+
+import com.sdm.project.model.entity.SimulationPerformance;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+public interface ISimulationPerformanceService extends IService {
+
+}
diff --git a/project/src/main/java/com/sdm/project/service/ISimulationRunService.java b/project/src/main/java/com/sdm/project/service/ISimulationRunService.java
new file mode 100644
index 00000000..ff29349f
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/service/ISimulationRunService.java
@@ -0,0 +1,16 @@
+package com.sdm.project.service;
+
+import com.sdm.project.model.entity.SimulationRun;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+public interface ISimulationRunService extends IService {
+
+}
diff --git a/project/src/main/java/com/sdm/project/service/ISimulationTaskService.java b/project/src/main/java/com/sdm/project/service/ISimulationTaskService.java
new file mode 100644
index 00000000..1566a78d
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/service/ISimulationTaskService.java
@@ -0,0 +1,16 @@
+package com.sdm.project.service;
+
+import com.sdm.project.model.entity.SimulationTask;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 服务类
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+public interface ISimulationTaskService extends IService {
+
+}
diff --git a/project/src/main/java/com/sdm/project/service/ITaskService.java b/project/src/main/java/com/sdm/project/service/ITaskService.java
index 74476a71..3d121e62 100644
--- a/project/src/main/java/com/sdm/project/service/ITaskService.java
+++ b/project/src/main/java/com/sdm/project/service/ITaskService.java
@@ -27,4 +27,6 @@ public interface ITaskService {
SdmResponse attention(String taskId, List addUserIdList,List cancelUserIdList);
SdmResponse edit(ModifyTaskNode req);
+
+ SdmResponse getAllRunResultByTaskId(String taskId);
}
diff --git a/project/src/main/java/com/sdm/project/service/impl/SimulationPerformanceServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/SimulationPerformanceServiceImpl.java
new file mode 100644
index 00000000..a9838c5a
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/service/impl/SimulationPerformanceServiceImpl.java
@@ -0,0 +1,20 @@
+package com.sdm.project.service.impl;
+
+import com.sdm.project.model.entity.SimulationPerformance;
+import com.sdm.project.dao.SimulationPerformanceMapper;
+import com.sdm.project.service.ISimulationPerformanceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+@Service
+public class SimulationPerformanceServiceImpl extends ServiceImpl implements ISimulationPerformanceService {
+
+}
diff --git a/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java
new file mode 100644
index 00000000..9249c935
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/service/impl/SimulationRunServiceImpl.java
@@ -0,0 +1,20 @@
+package com.sdm.project.service.impl;
+
+import com.sdm.project.model.entity.SimulationRun;
+import com.sdm.project.dao.SimulationRunMapper;
+import com.sdm.project.service.ISimulationRunService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+@Service
+public class SimulationRunServiceImpl extends ServiceImpl implements ISimulationRunService {
+
+}
diff --git a/project/src/main/java/com/sdm/project/service/impl/SimulationTaskServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/SimulationTaskServiceImpl.java
new file mode 100644
index 00000000..076e1e20
--- /dev/null
+++ b/project/src/main/java/com/sdm/project/service/impl/SimulationTaskServiceImpl.java
@@ -0,0 +1,20 @@
+package com.sdm.project.service.impl;
+
+import com.sdm.project.model.entity.SimulationTask;
+import com.sdm.project.dao.SimulationTaskMapper;
+import com.sdm.project.service.ISimulationTaskService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ * 服务实现类
+ *
+ *
+ * @author author
+ * @since 2025-11-03
+ */
+@Service
+public class SimulationTaskServiceImpl extends ServiceImpl implements ISimulationTaskService {
+
+}
diff --git a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java
index 7f2ac7eb..0dbcefc1 100644
--- a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java
+++ b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java
@@ -13,12 +13,14 @@ import com.sdm.project.model.bo.ModifyTaskNode;
import com.sdm.project.model.bo.TaskExtraNode;
import com.sdm.project.model.bo.TaskMemberNode;
import com.sdm.project.model.bo.TaskNodeTag;
+import com.sdm.project.model.entity.SimulationRun;
import com.sdm.project.model.po.PerformanceNodePo;
import com.sdm.project.model.po.ProjectNodePo;
import com.sdm.project.model.po.TaskNodeMemberPo;
import com.sdm.project.model.po.TaskRunPo;
import com.sdm.project.model.req.*;
import com.sdm.project.model.vo.*;
+import com.sdm.project.service.ISimulationRunService;
import com.sdm.project.service.ITaskService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -53,6 +55,9 @@ public class TaskServiceImpl implements ITaskService {
@Resource
private SimulationDemandMapper demandMapper;
+ @Autowired
+ private ISimulationRunService simulationRunService;
+
@Override
public SdmResponse list(SpdmTaskListReq req) {
@@ -697,4 +702,10 @@ public class TaskServiceImpl implements ITaskService {
}
}
+ @Override
+ public SdmResponse getAllRunResultByTaskId(String taskId) {
+ List list = simulationRunService.lambdaQuery().eq(SimulationRun::getTaskId, taskId).list();
+
+ return null;
+ }
}
diff --git a/project/src/main/resources/mapper/SimulationPerformanceMapper.xml b/project/src/main/resources/mapper/SimulationPerformanceMapper.xml
new file mode 100644
index 00000000..3cc71cd7
--- /dev/null
+++ b/project/src/main/resources/mapper/SimulationPerformanceMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/project/src/main/resources/mapper/SimulationRunMapper.xml b/project/src/main/resources/mapper/SimulationRunMapper.xml
new file mode 100644
index 00000000..e5221776
--- /dev/null
+++ b/project/src/main/resources/mapper/SimulationRunMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/system/src/main/java/com/sdm/system/controller/SysUserController.java b/system/src/main/java/com/sdm/system/controller/SysUserController.java
index 51a55d09..a9682842 100644
--- a/system/src/main/java/com/sdm/system/controller/SysUserController.java
+++ b/system/src/main/java/com/sdm/system/controller/SysUserController.java
@@ -9,6 +9,8 @@ import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.feign.inter.system.ISysUserFeignClient;
import com.sdm.system.model.entity.SysRole;
import com.sdm.system.model.req.user.*;
+import com.sdm.system.model.resp.SysUserGroupDetailResp;
+import com.sdm.system.model.resp.SysUserGroupResp;
import com.sdm.system.service.ISysUserService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -164,7 +166,7 @@ public class SysUserController implements ISysUserFeignClient {
*/
@Operation(summary = "查询用户组", description = "查询用户组接口,支持分页和条件查询")
@PostMapping("/queryGroup")
- public SdmResponse queryGroup(@Parameter(description = "用户组查询请求参数") @RequestBody @Validated GroupQueryReq req) {
+ public SdmResponse>> queryGroup(@Parameter(description = "用户组查询请求参数") @RequestBody @Validated GroupQueryReq req) {
return ISysUserService.queryGroup(req);
}
@@ -172,9 +174,9 @@ public class SysUserController implements ISysUserFeignClient {
* 根据用户组id查询用户组详情
*/
@Operation(summary = "根据用户组id查询用户组详情", description = "根据用户组id查询用户组详细信息")
- @GetMapping("/queryGroupDetail")
- public SdmResponse queryGroupDetail(@Parameter(description = "用户组id") @NotNull @RequestParam Integer id) {
- return ISysUserService.queryGroupDetail(id);
+ @PostMapping("/queryGroupDetail")
+ public SdmResponse queryGroupDetail(@RequestBody @Validated QueryGroupDetailReq req) {
+ return ISysUserService.queryGroupDetail(req);
}
/**
@@ -209,7 +211,7 @@ public class SysUserController implements ISysUserFeignClient {
*/
@Operation(summary = "查询用户组成员", description = "查询用户组成员接口,用于查询指定用户组的成员列表")
@PostMapping("/queryGroupMember")
- public SdmResponse queryGroupMember(@Parameter(description = "用户组成员查询请求参数") @RequestBody @Validated GroupMemberQueryReq req) {
+ public SdmResponse queryGroupMember(@Parameter(description = "用户组成员查询请求参数") @RequestBody @Validated GroupMemberQueryReq req) {
return ISysUserService.queryGroupMember(req);
}
diff --git a/system/src/main/java/com/sdm/system/dao/SysUserGroupRelationMapper.java b/system/src/main/java/com/sdm/system/dao/SysUserGroupRelationMapper.java
index dfce4d7d..818686bd 100644
--- a/system/src/main/java/com/sdm/system/dao/SysUserGroupRelationMapper.java
+++ b/system/src/main/java/com/sdm/system/dao/SysUserGroupRelationMapper.java
@@ -16,5 +16,5 @@ import java.util.List;
* @since 2025-09-28
*/
public interface SysUserGroupRelationMapper extends BaseMapper {
- List queryUserByGroupId(@Param("groupId") Integer groupId, @Param("userName") String userName);
+ List queryUserByGroupId(@Param("groupId") Long groupId, @Param("userName") String userName);
}
diff --git a/system/src/main/java/com/sdm/system/filter/AuthFilter.java b/system/src/main/java/com/sdm/system/filter/AuthFilter.java
index 83ac374b..35be5e51 100644
--- a/system/src/main/java/com/sdm/system/filter/AuthFilter.java
+++ b/system/src/main/java/com/sdm/system/filter/AuthFilter.java
@@ -1,13 +1,11 @@
package com.sdm.system.filter;
import com.sdm.common.common.ThreadLocalContext;
-//import com.sdm.system.service.UserService;
import jakarta.servlet.*;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import javax.annotation.Resource;
import java.io.IOException;
@Slf4j
@@ -23,17 +21,24 @@ public class AuthFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
- /*if (servletRequest instanceof HttpServletRequest) {
+ if (servletRequest instanceof HttpServletRequest) {
HttpServletRequest req = (HttpServletRequest) servletRequest;
String jobNumber = StringUtils.isEmpty(req.getHeader("jobNumber")) ? "" : req.getHeader("jobNumber");
- ThreadLocalContext.getCommonHeader().setJobNumber(jobNumber);
- ThreadLocalContext.getCommonHeader().setCompany(req.getHeader("company"));
- ThreadLocalContext.getCommonHeader().setSessionId(req.getHeader("sessionId"));
+ Long usrId = StringUtils.isEmpty(req.getHeader("userId")) ? null : Long.valueOf(req.getHeader("userId"));
+ Long tenantId = StringUtils.isEmpty(req.getHeader("tenantId")) ? null : Long.valueOf(req.getHeader("tenantId"));
+ String userName = StringUtils.isEmpty(req.getHeader("userName")) ? null : req.getHeader("userName");
+ ThreadLocalContext.setJobNumber(jobNumber);
+ ThreadLocalContext.setCompany(req.getHeader("company"));
+ ThreadLocalContext.setSessionId(req.getHeader("sessionId"));
+ ThreadLocalContext.setUserId(usrId);
+ ThreadLocalContext.setTenantId(tenantId);
+ ThreadLocalContext.setUserName(userName);
+
// User user = userService.getUserByIdCode(idCode);
// if (user != null) {
// ThreadLocalContext.setUserContext(new UserContext(user));
// }
- }*/
+ }
filterChain.doFilter(servletRequest, servletResponse);
}
diff --git a/system/src/main/java/com/sdm/system/model/req/user/GroupMemberQueryReq.java b/system/src/main/java/com/sdm/system/model/req/user/GroupMemberQueryReq.java
index ee560723..3a5b2c41 100644
--- a/system/src/main/java/com/sdm/system/model/req/user/GroupMemberQueryReq.java
+++ b/system/src/main/java/com/sdm/system/model/req/user/GroupMemberQueryReq.java
@@ -10,7 +10,7 @@ public class GroupMemberQueryReq {
@NotBlank(message = "groupID不能为空")
@Schema(description = "groupID", requiredMode = Schema.RequiredMode.REQUIRED)
- private Integer groupID;
+ private Long groupId;
@Schema(description = "用户名")
private String userName;
diff --git a/system/src/main/java/com/sdm/system/model/req/user/QueryGroupDetailReq.java b/system/src/main/java/com/sdm/system/model/req/user/QueryGroupDetailReq.java
new file mode 100644
index 00000000..d0a93561
--- /dev/null
+++ b/system/src/main/java/com/sdm/system/model/req/user/QueryGroupDetailReq.java
@@ -0,0 +1,15 @@
+package com.sdm.system.model.req.user;
+
+import com.sdm.system.model.req.BaseReq;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import org.springframework.web.bind.annotation.RequestParam;
+
+@Data
+public class QueryGroupDetailReq extends BaseReq {
+ @Schema(description = "用户组id")
+ @NotNull(message = "用户组id不能为空")
+ Long id;
+}
diff --git a/system/src/main/java/com/sdm/system/model/resp/SysUserGroupDetailResp.java b/system/src/main/java/com/sdm/system/model/resp/SysUserGroupDetailResp.java
new file mode 100644
index 00000000..479f090e
--- /dev/null
+++ b/system/src/main/java/com/sdm/system/model/resp/SysUserGroupDetailResp.java
@@ -0,0 +1,35 @@
+package com.sdm.system.model.resp;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sdm.common.entity.resp.PageDataResp;
+import com.sdm.common.entity.resp.system.CIDUserResp;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ *
+ * 用户组
+ *
+ *
+ * @author author
+ * @since 2025-09-28
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@Schema( description="用户组和组成员信息查询")
+public class SysUserGroupDetailResp implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @Schema(description = "用户组信息")
+ SysUserGroupResp sysUserGroup;
+
+ @Schema(description = "用户信息")
+ PageDataResp> users;
+}
diff --git a/system/src/main/java/com/sdm/system/service/ISysUserGroupRelationService.java b/system/src/main/java/com/sdm/system/service/ISysUserGroupRelationService.java
index edd585d9..99627e4a 100644
--- a/system/src/main/java/com/sdm/system/service/ISysUserGroupRelationService.java
+++ b/system/src/main/java/com/sdm/system/service/ISysUserGroupRelationService.java
@@ -15,7 +15,7 @@ import java.util.List;
* @since 2025-09-28
*/
public interface ISysUserGroupRelationService extends IService {
- List queryUserByGroupId(Integer groupId, String userName);
+ List queryUserByGroupId(Long groupId, String userName);
diff --git a/system/src/main/java/com/sdm/system/service/ISysUserService.java b/system/src/main/java/com/sdm/system/service/ISysUserService.java
index 102a5301..f8ab2c7e 100644
--- a/system/src/main/java/com/sdm/system/service/ISysUserService.java
+++ b/system/src/main/java/com/sdm/system/service/ISysUserService.java
@@ -7,9 +7,10 @@ import com.sdm.common.entity.req.system.UserQueryReq;
import com.sdm.common.entity.resp.system.CIDRoleResp;
import com.sdm.common.entity.resp.system.CIDUserResp;
import com.sdm.common.entity.resp.PageDataResp;
-import com.sdm.system.model.entity.SysRole;
import com.sdm.system.model.entity.SysUser;
import com.sdm.system.model.req.user.*;
+import com.sdm.system.model.resp.SysUserGroupDetailResp;
+import com.sdm.system.model.resp.SysUserGroupResp;
import java.util.List;
@@ -38,13 +39,13 @@ public interface ISysUserService extends IService {
SdmResponse delGroup(Integer id);
- SdmResponse queryGroup(GroupQueryReq req);
+ SdmResponse>> queryGroup(GroupQueryReq req);
- SdmResponse queryGroupDetail(Integer id);
+ SdmResponse queryGroupDetail(QueryGroupDetailReq req);
SdmResponse updateGroup(GroupUpdateReq req);
SdmResponse updateGroupMember(UpdateGroupMemberBatchReq req);
- SdmResponse queryGroupMember(GroupMemberQueryReq req);
+ SdmResponse queryGroupMember(GroupMemberQueryReq req);
}
diff --git a/system/src/main/java/com/sdm/system/service/impl/CID/CIDISysUserServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/CID/CIDISysUserServiceImpl.java
index 4ad07f96..c14994ff 100644
--- a/system/src/main/java/com/sdm/system/service/impl/CID/CIDISysUserServiceImpl.java
+++ b/system/src/main/java/com/sdm/system/service/impl/CID/CIDISysUserServiceImpl.java
@@ -14,6 +14,8 @@ import com.sdm.system.model.entity.SysRole;
import com.sdm.system.model.entity.SysUser;
import com.sdm.system.model.req.user.*;
import com.sdm.common.entity.resp.system.CIDUserResp;
+import com.sdm.system.model.resp.SysUserGroupDetailResp;
+import com.sdm.system.model.resp.SysUserGroupResp;
import com.sdm.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
@@ -41,6 +43,15 @@ public class CIDISysUserServiceImpl extends ServiceImpl
@Value("${cid.user.queryUserRole}")
private String queryUserRole;
+ @Value("${cid.user.queryGroup}")
+ private String queryGroup;
+
+ @Value("${cid.user.queryGroupDetail}")
+ private String queryGroupDetail;
+
+ @Value("${cid.user.queryGroupMember}")
+ private String queryGroupMember;
+
@Override
public String getType() {
return type;
@@ -91,9 +102,6 @@ public class CIDISysUserServiceImpl extends ServiceImpl
try {
String userJson = HttpUtil.post(cidUrl + listUser, JSONUtil.toJsonStr(req));
SdmResponse>> cidUserAddReq = JSON.parseObject(userJson, SdmResponse.class);
- if (cidUserAddReq.getCode() != 0 ) {
- return SdmResponse.failed("用户不存在");
- }
return cidUserAddReq;
} catch (Exception e) {
log.error("查询用户失败", e);
@@ -157,13 +165,33 @@ public class CIDISysUserServiceImpl extends ServiceImpl
}
@Override
- public SdmResponse queryGroup(GroupQueryReq req) {
- return null;
+ public SdmResponse>> queryGroup(GroupQueryReq req) {
+ try {
+ String userJson = HttpUtil.post(cidUrl + queryGroup, JSONUtil.toJsonStr(req));
+ SdmResponse>> CIDGroupRespose = JSON.parseObject(userJson, SdmResponse.class);
+ if (CIDGroupRespose != null) {
+ return CIDGroupRespose;
+ }
+ return SdmResponse.failed("用户组不存在");
+ } catch (Exception e) {
+ log.error("查询用户组失败", e);
+ return SdmResponse.failed("查询用户组失败: ");
+ }
}
@Override
- public SdmResponse queryGroupDetail(Integer id) {
- return null;
+ public SdmResponse queryGroupDetail(QueryGroupDetailReq req) {
+ try {
+ String userJson = HttpUtil.post(cidUrl + queryGroupDetail, JSONUtil.toJsonStr(req));
+ SdmResponse CIDGroupDetailRespose = JSON.parseObject(userJson, SdmResponse.class);
+ if (CIDGroupDetailRespose != null) {
+ return CIDGroupDetailRespose;
+ }
+ return SdmResponse.failed("用户组不存在");
+ } catch (Exception e) {
+ log.error("查询用户组失败", e);
+ return SdmResponse.failed("查询用户组失败: ");
+ }
}
@Override
@@ -177,7 +205,17 @@ public class CIDISysUserServiceImpl extends ServiceImpl
}
@Override
- public SdmResponse queryGroupMember(GroupMemberQueryReq req) {
- return null;
+ public SdmResponse queryGroupMember(GroupMemberQueryReq req) {
+ try {
+ String userJson = HttpUtil.post(cidUrl + queryGroupDetail, JSONUtil.toJsonStr(req));
+ SdmResponse cIDUserResp = JSON.parseObject(userJson, SdmResponse.class);
+ if (cIDUserResp != null) {
+ return cIDUserResp;
+ }
+ return SdmResponse.failed("用户组成员不存在");
+ } catch (Exception e) {
+ log.error("查询用户组成员失败", e);
+ return SdmResponse.failed("查询用户组成员失败: ");
+ }
}
}
diff --git a/system/src/main/java/com/sdm/system/service/impl/LocalUserServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/LocalUserServiceImpl.java
index bd0883da..d60cc19a 100644
--- a/system/src/main/java/com/sdm/system/service/impl/LocalUserServiceImpl.java
+++ b/system/src/main/java/com/sdm/system/service/impl/LocalUserServiceImpl.java
@@ -201,7 +201,7 @@ public class LocalUserServiceImpl extends ServiceImpl im
}
@Override
- public SdmResponse queryGroup(GroupQueryReq req) {
+ public SdmResponse>> queryGroup(GroupQueryReq req) {
PageHelper.startPage(req.getCurrent(), req.getSize());
List sysUserGroups = sysUserGroupService.lambdaQuery()
.like(ObjectUtils.isNotEmpty(req.getGroupName()), SysUserGroup::getGroupName, req.getGroupName()).list();
@@ -217,7 +217,8 @@ public class LocalUserServiceImpl extends ServiceImpl im
}
@Override
- public SdmResponse queryGroupDetail(Integer id) {
+ public SdmResponse queryGroupDetail(QueryGroupDetailReq req) {
+ Long id = req.getId();
SysUserGroup sysUserGroup = sysUserGroupService.lambdaQuery().eq(SysUserGroup::getId, id).one();
List list = sysUserGroupRelationService.queryUserByGroupId(id,null);
JSONObject jsonObject = new JSONObject();
@@ -289,7 +290,7 @@ public class LocalUserServiceImpl extends ServiceImpl im
@Override
public SdmResponse queryGroupMember(GroupMemberQueryReq req) {
- List sysUsers = sysUserGroupRelationService.queryUserByGroupId(req.getGroupID(), req.getUserName());
+ List sysUsers = sysUserGroupRelationService.queryUserByGroupId(req.getGroupId(), req.getUserName());
return SdmResponse.success(sysUsers);
}
diff --git a/system/src/main/java/com/sdm/system/service/impl/SysUserGroupRelationServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/SysUserGroupRelationServiceImpl.java
index c0fbac27..0727c9e3 100644
--- a/system/src/main/java/com/sdm/system/service/impl/SysUserGroupRelationServiceImpl.java
+++ b/system/src/main/java/com/sdm/system/service/impl/SysUserGroupRelationServiceImpl.java
@@ -21,7 +21,7 @@ import java.util.List;
public class SysUserGroupRelationServiceImpl extends ServiceImpl implements ISysUserGroupRelationService {
@Override
- public List queryUserByGroupId(Integer groupId, String userName) {
+ public List queryUserByGroupId(Long groupId, String userName) {
return baseMapper.queryUserByGroupId(groupId, userName);
}
}
diff --git a/system/src/main/resources/application-dev.yml b/system/src/main/resources/application-dev.yml
index 5f3033f7..f161038f 100644
--- a/system/src/main/resources/application-dev.yml
+++ b/system/src/main/resources/application-dev.yml
@@ -130,6 +130,9 @@ cid:
listUser: /spdm-user/listUser
queryUserDetail: /spdm-user/queryUserDetail
queryUserRole: /spdm-user/queryUserRole
+ queryGroup: /spdm-user/queryGroup
+ queryGroupDetail: /spdm-user/queryGroupDetail
+ queryGroupMember: /spdm-user/queryGroupMember
role:
getRoleByRoleName: /spdm-role/getRoleByRoleName
getRoleByRoleCode: /spdm-role/getRoleByRoleCode
diff --git a/system/src/main/resources/application-local.yml b/system/src/main/resources/application-local.yml
index 26f04108..f553474e 100644
--- a/system/src/main/resources/application-local.yml
+++ b/system/src/main/resources/application-local.yml
@@ -121,6 +121,9 @@ cid:
listUser: /spdm-user/listUser
queryUserDetail: /spdm-user/queryUserDetail
queryUserRole: /spdm-user/queryUserRole
+ queryGroup: /spdm-user/queryGroup
+ queryGroupDetail: /spdm-user/queryGroupDetail
+ queryGroupMember: /spdm-user/queryGroupMember
role:
getRoleByRoleName: /spdm-role/getRoleByRoleName
getRoleByRoleCode: /spdm-role/getRoleByRoleCode
diff --git a/system/src/main/resources/application-prod.yml b/system/src/main/resources/application-prod.yml
index a1db1678..2f4e4bad 100644
--- a/system/src/main/resources/application-prod.yml
+++ b/system/src/main/resources/application-prod.yml
@@ -149,6 +149,9 @@ cid:
listUser: /spdm-user/listUser
queryUserDetail: /spdm-user/queryUserDetail
queryUserRole: /spdm-user/queryUserRole
+ queryGroup: /spdm-user/queryGroup
+ queryGroupDetail: /spdm-user/queryGroupDetail
+ queryGroupMember: /spdm-user/queryGroupMember
role:
getRoleByRoleName: /spdm-role/getRoleByRoleName
getRoleByRoleCode: /spdm-role/getRoleByRoleCode
diff --git a/system/src/main/resources/application-test.yml b/system/src/main/resources/application-test.yml
index 9ffe980d..9524593f 100644
--- a/system/src/main/resources/application-test.yml
+++ b/system/src/main/resources/application-test.yml
@@ -148,6 +148,9 @@ cid:
listUser: /spdm-user/listUser
queryUserDetail: /spdm-user/queryUserDetail
queryUserRole: /spdm-user/queryUserRole
+ queryGroup: /spdm-user/queryGroup
+ queryGroupDetail: /spdm-user/queryGroupDetail
+ queryGroupMember: /spdm-user/queryGroupMember
role:
getRoleByRoleName: /spdm-role/getRoleByRoleName
getRoleByRoleCode: /spdm-role/getRoleByRoleCode
diff --git a/task/src/main/java/com/sdm/task/filter/AuthFilter.java b/task/src/main/java/com/sdm/task/filter/AuthFilter.java
index 476c9016..7d2187af 100644
--- a/task/src/main/java/com/sdm/task/filter/AuthFilter.java
+++ b/task/src/main/java/com/sdm/task/filter/AuthFilter.java
@@ -24,9 +24,16 @@ public class AuthFilter implements Filter {
if (servletRequest instanceof HttpServletRequest) {
HttpServletRequest req = (HttpServletRequest) servletRequest;
String jobNumber = StringUtils.isEmpty(req.getHeader("jobNumber")) ? "" : req.getHeader("jobNumber");
- ThreadLocalContext.getCommonHeader().setJobNumber(jobNumber);
- ThreadLocalContext.getCommonHeader().setCompany(req.getHeader("company"));
- ThreadLocalContext.getCommonHeader().setSessionId(req.getHeader("sessionId"));
+ Long usrId = StringUtils.isEmpty(req.getHeader("userId")) ? null : Long.valueOf(req.getHeader("userId"));
+ Long tenantId = StringUtils.isEmpty(req.getHeader("tenantId")) ? null : Long.valueOf(req.getHeader("tenantId"));
+ String userName = StringUtils.isEmpty(req.getHeader("userName")) ? null : req.getHeader("userName");
+ ThreadLocalContext.setJobNumber(jobNumber);
+ ThreadLocalContext.setCompany(req.getHeader("company"));
+ ThreadLocalContext.setSessionId(req.getHeader("sessionId"));
+ ThreadLocalContext.setUserId(usrId);
+ ThreadLocalContext.setTenantId(tenantId);
+ ThreadLocalContext.setUserName(userName);
+
// User user = userService.getUserByIdCode(idCode);
// if (user != null) {
// ThreadLocalContext.setUserContext(new UserContext(user));