添加利元亨集成代码,添加任务置信度和难度系数统计接口

This commit is contained in:
daiqy88
2025-12-18 15:02:53 +08:00
parent 0528654a39
commit 894ad983d9
23 changed files with 940 additions and 38 deletions

View File

@@ -1,5 +1,6 @@
package com.sdm.project.controller;
import com.alibaba.fastjson2.JSONObject;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.task.TaskExportExcelFormat;
import com.sdm.common.feign.inter.project.ISimulationTaskFeignClient;
@@ -221,7 +222,7 @@ public class SimulationTaskController implements ISimulationTaskFeignClient {
@SysLog("仿真任务置信度统计")
@GetMapping("/getTaskConfidenceStatistics")
@Operation(summary = "仿真任务置信度统计", description = "仿真任务置信度统计")
public SdmResponse getTaskConfidenceStatistics() {
public SdmResponse<List<JSONObject>> getTaskConfidenceStatistics() {
return taskService.getTaskConfidenceStatistics();
}
@@ -231,7 +232,7 @@ public class SimulationTaskController implements ISimulationTaskFeignClient {
@SysLog("仿真任务难度系数统计")
@GetMapping("/getTaskDifficultStatistics")
@Operation(summary = "仿真任务难度系数统计", description = "仿真任务难度系数统计")
public SdmResponse getTaskDifficultStatistics() {
public SdmResponse<List<JSONObject>> getTaskDifficultStatistics() {
return taskService.getTaskDifficultStatistics();
}

View File

@@ -1,8 +1,10 @@
package com.sdm.project.controller;
import com.alibaba.fastjson2.JSONObject;
import com.auth0.jwt.interfaces.DecodedJWT;
import com.github.pagehelper.PageInfo;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.bo.JwtToken;
import com.sdm.common.entity.enums.NodeTypeEnum;
import com.sdm.common.entity.req.data.GetSimulationTaskFileReq;
import com.sdm.common.entity.req.data.UploadFilesReq;
@@ -12,6 +14,8 @@ import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
import com.sdm.common.feign.impl.data.DataAnalysisFeignClientImpl;
import com.sdm.common.feign.inter.data.IDataFeignClient;
import com.sdm.common.service.lyric.LyricIntegrateService;
import com.sdm.common.utils.SystemOperate;
import com.sdm.project.common.KeyResultTypeEnum;
import com.sdm.project.model.entity.SimulationRunKeyResult;
import com.sdm.project.model.req.KeyResultReq;
@@ -58,7 +62,16 @@ public class YAModelController {
@Resource
ISimulationRunService runService;
@Autowired
private LyricIntegrateService lyricIntegrateService;
private final String PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo4hmt4m5CpMIE5DL8G60" +
"cg63X6nEiNPt1yWB+kXDXQA0RaiqXhT4O78HT9BldrQVpyj6g4Z2mwPMfLBP6LjR" +
"8QyLlwfMBJ2uUV5B4PlEWiF9pUK9tU0lPlByS+p0oIxX8XlvzbbGbkyWQaOQ6Sfl" +
"FxB7eHu3r/hDOYtsMDcNe4hsuz1BnrAuRY6Yj+Hq2d4zPDetDgXeXs066z3qO6bL" +
"N9r/2UkHZc4tdkpMJgxucwTuvAvmgRgdDfnd6sAVDHYPaIVuJHqWnEnEcQzq6zWb" +
"1YPItc2FgDbXWpi8noz7wSjXDfBiTHU11nU5vv//xLVF83h5mbhk8dWHKq7bLUGp" +
"9QIDAQAB";
/**
* 保存仿真模型数据
*
@@ -336,4 +349,41 @@ public class YAModelController {
return taskService.syncCidTask(req);
}
@GetMapping("verityCidWebToken")
public SdmResponse verityCidWebToken(@RequestParam("token") String token)
{
//SystemOperate.decodeJwt(token);
SdmResponse response = SdmResponse.success();
JwtToken jwtToken = new JwtToken("keyId","","qinwei","spdm");
String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCjz2pItCtM2Itf3knLhA1ZWzTVtKKY692Eptk3ZUy4qjlv+2e6u78/cBYZsVa/1nOyHPtb2j9xZAsHYGKZGoh64UWSewUhRdUO15xBRr5DyGEdTWHjwc1GHf7c99rKCjKDO2Xdp7cpqYABOAxgkSA2vP5zqhSCq0FCqwleEPLG1aAa/kh/oUzCZLUoSjZIdqQOgHJTZojqNeQCOC6U8Q+kUcHdKbptewu1A6XK8DHV0WqiJJEG3kyaoAZ1kGtr6ETtGy++aRvJT9gZN4M4bIgucKtAu2dcqQHj9jZ1i2xwhY3nmLjqaz3y313/IEYpMTG8pnPb8eP5usHDaDmH8RqJAgMBAAECggEAAzz05WYGWxkGvEjpHYhJOUR3yWeuNSaodNhVf+ZVO2tGAmQuWz8d2zOshCqAw/8Jv3IaN+kbCvNG0okBufQP0ZoFZY1f/xXhzc7OTG4JEc7yuIEQl897btDl+lk97nOAJx7z9ws7MCwlFyEUAY6s29glkYTBrgmTmy1FXKIqImsLfVV3LgfL2Mkixn0YSSsbUh2b+dki1zxjct3hTGZVh29bKOpbflOaG0LqEO0UwSX92Y/ir+fKmC8zEFbi5HZANYODivm8DiwF7khpraayf78kG3liccOTMMLVxIHwNiS9wcLG8WPuVEphlXMT4Ev4lq5VFM3mVxtd9g21ESbuvwKBgQDmsgE8u66qKVBsndp2K9FV9VWYDA4fYfRswDAWnZDCzIdanT0NFPp8s3nZCVU4FfX4m958yOrJ/MVp6d58z6fgkYQh2qL2Wy6zRPaIxCc6JG3FheFSxfWyULU/mBBK02ntUZCXEs8XKjAfDvmxaVVeonv0nCSgVwxJ4ypB5BZ+owKBgQC1x0GDnWtMbNGUMx6tYtFGWQIgop4hVQe6ZNgkKaQX7gtMa5egEda6ga6wCTV3+ZvQ9tBa1DxUFb5N/TrtQdFm39gOSXyhWSrntUKqaSFo03GvXXvvze2D3+uXpk7S8yzWuuD3OYyYj9S3nFVZffymabfukuY7oY3AN0E0PALw4wKBgQDQiyGrMU6X7HkTdy9BnCLEvd7+cAdkPzyiAqp2B0IRlqrVM0c5SDmX+PaxSEqNROzyLJVX4Ji+t44OTKgf0+hCjckQgYDHi24QCMuEny2G1d+Vq40hMmsFIwh10JUJz0v2iMFYkFw86JpPuU3nHv1ZazD60xwZBhfJw10z62iaWQKBgH+EVgsUJS8pryO9cKnFBnXI/tsR+Mf9NDynfZBwvbIjxT1IxMb/fJi9XGQVMbMGIS5H1gXBmMiLsEJZgDrrzw/Ru2jaWFl/ib+dwjR1J4C3w6p3c/fXh+TY8hYiDm2hNTU1R5dmgaCMVXawbpcm8FN1Ghh8aJIwVJYgrNcNuiptAoGAO14DHGqUXZZ//erIYWVfL0CAMXqy38dqNmfbzSAXYyLDl6cn49CCHF0GXOfCOesQN9ToQbqpLrntFgcFe0hil5dIWYafk9fHjjR8N8g74ijErQmCEAQy22b06V0q7rLzEsU/HDVL+RZg2aY4hDN+ODHRdpdFkOxsCYV73gevVeo=";
String pubKeyToken = SystemOperate.generateToken(jwtToken,privateKey,false);
String pubKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo89qSLQrTNiLX95Jy4QNWVs01bSimOvdhKbZN2VMuKo5b/tnuru/P3AWGbFWv9Zzshz7W9o/cWQLB2BimRqIeuFFknsFIUXVDtecQUa+Q8hhHU1h48HNRh3+3Pfaygoygztl3ae3KamAATgMYJEgNrz+c6oUgqtBQqsJXhDyxtWgGv5If6FMwmS1KEo2SHakDoByU2aI6jXkAjgulPEPpFHB3Sm6bXsLtQOlyvAx1dFqoiSRBt5MmqAGdZBra+hE7RsvvmkbyU/YGTeDOGyILnCrQLtnXKkB4/Y2dYtscIWN55i46ms98t9d/yBGKTExvKZz2/Hj+brBw2g5h/EaiQIDAQAB";
if(!SystemOperate.verify(pubKey,token))
{
response = SdmResponse.failed("登录验证失败");
}
else
{
DecodedJWT decodedJWT = SystemOperate.decodeJwt(token);
String issure = decodedJWT.getIssuer();
if(issure != null)
{
response.setData(issure);
}
}
lyricIntegrateService.getHKCloudSimpleUserInfo("05687");
return response;
}
/**
* 接口调用token验证
* @param token
* @return
*/
private boolean verifyCidJwt(String token)
{
return SystemOperate.verify(PUBLIC_KEY, token);
}
}

View File

@@ -1,5 +1,6 @@
package com.sdm.project.service;
import com.alibaba.fastjson2.JSONObject;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.ExportExcelFormat;
import com.sdm.common.entity.req.task.TaskExportExcelFormat;
@@ -73,8 +74,8 @@ public interface ITaskService {
SdmResponse getTaskAchieveStatistics(TaskCompleteStatisticsReq req);
SdmResponse getTaskConfidenceStatistics();
SdmResponse<List<JSONObject>> getTaskConfidenceStatistics();
SdmResponse getTaskDifficultStatistics();
SdmResponse<List<JSONObject>> getTaskDifficultStatistics();
}

View File

@@ -2394,8 +2394,27 @@ public class TaskServiceImpl implements ITaskService {
return SdmResponse.success(resultResponse);
}
/**
* 将自定义对象List转换为List<JSONObject>
* @param objList 自定义对象列表
* @param <T> 泛型(自定义对象类型)
* @return List<JSONObject>
*/
public static <T> List<JSONObject> convertToJSONObjectList(List<T> objList) {
if (objList == null || objList.isEmpty()) {
return new ArrayList<>(); // 空列表返回空避免NPE
}
List<JSONObject> jsonList = new ArrayList<>();
for (T obj : objList) {
JSONObject jsonObj = JSONObject.from(obj);
jsonList.add(jsonObj);
}
return jsonList;
}
@Override
public SdmResponse getTaskConfidenceStatistics() {
public SdmResponse<List<JSONObject>> getTaskConfidenceStatistics() {
// 查询所有任务再通过tag6去过滤兼容多层级学科的情况
// .eq(SimulationTask::getExeStatus,TaskExeStatusEnum.COMPLETED.getCode()) 暂时去掉筛选条件,方便调试
List<SimulationTask> allTaskList= simulationTaskService.lambdaQuery()
@@ -2450,11 +2469,11 @@ public class TaskServiceImpl implements ITaskService {
taskConfidenceStatisticsRespList.add(taskConfidenceStatisticsResp);
}
}
return SdmResponse.success(taskConfidenceStatisticsRespList);
return SdmResponse.success(convertToJSONObjectList(taskConfidenceStatisticsRespList));
}
@Override
public SdmResponse getTaskDifficultStatistics() {
public SdmResponse<List<JSONObject>> getTaskDifficultStatistics() {
// 查询所有任务再通过tag6去过滤兼容多层级学科的情况
// .eq(SimulationTask::getExeStatus,TaskExeStatusEnum.COMPLETED.getCode()) 暂时去掉筛选条件,方便调试
List<SimulationTask> allTaskList= simulationTaskService.lambdaQuery()
@@ -2509,7 +2528,7 @@ public class TaskServiceImpl implements ITaskService {
taskDifficultStatisticsRespList.add(taskDifficultStatisticsResp);
}
}
return SdmResponse.success(taskDifficultStatisticsRespList);
return SdmResponse.success(convertToJSONObjectList(taskDifficultStatisticsRespList));
}
}