Explorar o código

算法名称问题

martin %!s(int64=2) %!d(string=hai) anos
pai
achega
fd9bd84728

+ 1 - 2
api-common/src/main/java/api/common/pojo/constants/DictConstants.java

@@ -36,7 +36,7 @@ public class DictConstants {
     // 算法镜像上传类型
     public static final String ALGORITHM_UPLOAD_MODE_FILE = "1";    // 文件上传
     public static final String ALGORITHM_UPLOAD_MODE_GIT = "2";     // git 仓库
-
+    public static final String ALGORITHM_UPLOAD_MODE_PLATFORM = "3";     // 算法平台
 
 
     //常用值
@@ -75,7 +75,6 @@ public class DictConstants {
     public static final String TASK_TIMEOUT = "Timeout"; // 非常用状态,任务超时
 
 
-
     //算法校验状态
     public static final String WAITING = "1"; //等待校验
     public static final String RUNNING = "2"; //校验中

+ 26 - 7
simulation-resource-common/src/main/java/com/css/simulation/resource/common/controller/AlgPlatformCtrl.java

@@ -7,6 +7,7 @@ import api.common.util.JsonUtil;
 import api.common.util.ObjectUtil;
 import com.css.simulation.resource.common.configuration.algPlatform.ClientDetail;
 import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.SneakyThrows;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -31,11 +32,11 @@ public class AlgPlatformCtrl {
     @RequestMapping("/getAlgorithmList")
     @ResponseBody
     @SneakyThrows
-    public ResponseBodyVO getAlgorithmList(@RequestBody String param){
+    public ResponseBodyVO getAlgorithmList(@RequestBody String param) {
         //取得token
         String token = getToken();
-        if(ObjectUtil.isNull(token)){
-           return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE, "获取算法平台token失败!");
+        if (ObjectUtil.isNull(token)) {
+            return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE, "获取算法平台token失败!");
         }
         String algorithmListUri = clientDetail.getAlgorithmListUri() + "?access_token=" + token + param;
         String result = HttpUtil.get(HttpUtil.getHttpClient(), HttpUtil.getRequestConfig(), algorithmListUri);
@@ -43,12 +44,30 @@ public class AlgPlatformCtrl {
         return responseBodyVO;
     }
 
-    private  String getToken() throws Exception {
+    @RequestMapping("/selectAlgorithmNameByAlgorithmId")
+    @ResponseBody
+    @SneakyThrows
+    public ResponseBodyVO<String> selectAlgorithmNameByAlgorithmId(@RequestBody String algorithmId) {
+        //取得token
+        String token = getToken();
+        if (ObjectUtil.isNull(token)) {
+            return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE, "AlgPlatformCtrl--selectAlgorithmNameByAlgorithmId 获取算法平台token失败。");
+        }
+        String algorithmListUri = clientDetail.getAlgorithmListUri()
+                + "?algorithmId=" + algorithmId
+                + "&page=1&size=10&sort=algorithmId-desc&access_token=" + token;
+        String httpResponseString = HttpUtil.get(HttpUtil.getHttpClient(), HttpUtil.getRequestConfig(), algorithmListUri);
+        String algorithmName = new ObjectMapper().readTree(httpResponseString).path("data").path("content").get(0).path("algorithmName").asText();
+
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, "请求成功!", algorithmName);
+    }
+
+    private String getToken() throws Exception {
         RedisParameter redisParameter = new RedisParameter();
         redisParameter.setKey(TOKEN_KEY);
         ResponseBodyVO<String> responseBodyVO = redisController.get(redisParameter);
         String token = responseBodyVO.getInfo();
-        if(ObjectUtil.isNull(token)){//token失效重新获取
+        if (ObjectUtil.isNull(token)) {//token失效重新获取
             String tokenUri = clientDetail.getTokenUri();
             String appid = clientDetail.getAppid();
             String secret = clientDetail.getSecret();
@@ -56,9 +75,9 @@ public class AlgPlatformCtrl {
             String result = HttpUtil.get(HttpUtil.getHttpClient(), HttpUtil.getRequestConfig(), URI);
             JsonNode jsonNode = JsonUtil.readTree(result);
             JsonNode dataNode = jsonNode.path("data");
-            if(ObjectUtil.isNotNull(dataNode)){
+            if (ObjectUtil.isNotNull(dataNode)) {
                 token = dataNode.path("access_token").asText();
-                if(ObjectUtil.isNotNull(token)){
+                if (ObjectUtil.isNotNull(token)) {
                     int expiresSec = dataNode.path("expires_in_sec").asInt();
                     redisParameter.setMinutes(expiresSec / 60);
                     redisParameter.setValue(token);

+ 1 - 1
simulation-resource-scheduler/src/main/resources/kubernetes/template/pod/pod-template.yaml

@@ -13,7 +13,7 @@ spec:
         - cicvtest002
     - ip: 172.17.0.188
       hostnames:
-        - SCGPU001
+        - scgpu001
   containers:
     - name: vtd-container
       image: vtd.run.perception:latest

+ 3 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/AlgoPlatformService.java

@@ -21,6 +21,9 @@ public interface AlgoPlatformService {
     @PostMapping(value = "/algPlatform/getAlgorithmList")
     ResponseBodyVO getAlgorithmList(@RequestBody String param);
 
+    @PostMapping(value = "/algPlatform/selectAlgorithmNameByAlgorithmId")
+    ResponseBodyVO<String> selectAlgorithmNameByAlgorithmId(@RequestBody String algorithmId);
+
 
 
 }

+ 6 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/fallback/AlgoPlatformServiceFallback.java

@@ -2,10 +2,16 @@ package com.css.simulation.resource.feign.fallback;
 
 import api.common.pojo.common.ResponseBodyVO;
 import com.css.simulation.resource.feign.AlgoPlatformService;
+import org.springframework.web.bind.annotation.RequestBody;
 
 public class AlgoPlatformServiceFallback implements AlgoPlatformService {
     @Override
     public ResponseBodyVO<String> getAlgorithmList(String param) {
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE);
     }
+
+    @Override
+    public ResponseBodyVO<String> selectAlgorithmNameByAlgorithmId(@RequestBody String algorithmId){
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE);
+    }
 }

+ 38 - 32
simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java

@@ -159,16 +159,16 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     }
 
     @Override
-    public ResponseBodyVO selectProject(SimulationManualProjectParam param) {
+    public ResponseBodyVO<PageInfo<SimulationManualProjectVo>> selectProject(SimulationManualProjectParam param) {
 
-        //当前用户id
+        // 设置当前用户id
         param.setCreateUserId(AuthUtil.getCurrentUserId());
 
         if (!isEmpty(param.getCreateStartDate())) {
             String createStartDate = param.getCreateStartDate();
             Date startDate = getDate(createStartDate + " 00:00:00", 1);
             if (startDate == null) {
-                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE);
+                return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
             }
             param.setCreateTimeStart(startDate);
         }
@@ -176,7 +176,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
             String createEndDate = param.getCreateEndDate();
             Date endDate = getDate(createEndDate + " 23:59:59", 1);
             if (endDate == null) {
-                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE);
+                return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
             }
             param.setCreateTimeEnd(endDate);
         }
@@ -185,32 +185,32 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
             String finishDateStart = param.getFinishDateStart();
             Date startDate = getDate(finishDateStart + " 00:00:00", 1);
             if (startDate == null) {
-                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE);
+                return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
             }
             param.setFinishTimeStart(startDate);
 
         }
         if (!isEmpty(param.getFinishDateEnd())) {
             String finishDateEnd = param.getFinishDateEnd();
-            Date enddate = getDate(finishDateEnd + " 23:59:59", 1);
-            if (enddate == null) {
-                return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE);
+            Date endDate = getDate(finishDateEnd + " 23:59:59", 1);
+            if (endDate == null) {
+                return new ResponseBodyVO<>(ResponseBodyVO.Response.CLIENT_FAILURE);
             }
-            param.setFinishTimeEnd(enddate);
+            param.setFinishTimeEnd(endDate);
         }
 
         //查询有效数据
         param.setIsDeleted("0");
 
         setPage(param.getCurrentPage() == null ? 1 : param.getCurrentPage(), param.getPageSize() == null ? 10 : param.getPageSize());
-        List<SimulationManualProjectVo> vos = simulationProjectMapper.selectProjectList(param);
-        PageInfo<SimulationManualProjectVo> pageInfo = new PageInfo(vos);
+        List<SimulationManualProjectVo> vos = simulationProjectMapper.selectProjectList(param); // 查出来的 algorithm 字段内容是算法 id
+        PageInfo<SimulationManualProjectVo> pageInfo = new PageInfo<>(vos);
 
-        for (SimulationManualProjectVo p : pageInfo.getList()) {
-            convertPoToVo(p, false);
+        for (SimulationManualProjectVo simulationManualProjectVo : pageInfo.getList()) {
+            convertPoToVo(simulationManualProjectVo, false);    // 同时将算法 id 转换成算法名称
         }
 
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, pageInfo);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, pageInfo);
     }
 
     @Override
@@ -1519,26 +1519,32 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
 
     }
 
-    private SimulationManualProjectVo convertPoToVo(SimulationManualProjectVo vo, boolean isAuto) {
-        Date createTime = vo.getCreateTime();
-        vo.setCreateTimeFmt(getRqStr(createTime, 1));
-        String algorithm = vo.getAlgorithm();
-
-        AlgorithmPO algorithmPO = new AlgorithmPO();
-        algorithmPO.setId(algorithm);
-        List<AlgorithmPO> algorithmBaseInfoVos = simulationProjectMapper.selectAlgorithmBaseInfoById(algorithmPO);
-        if (!isEmpty(algorithmBaseInfoVos)) {
-            AlgorithmPO algorithmBaseInfoVo = algorithmBaseInfoVos.get(0);
-            vo.setAlgorithm(algorithmBaseInfoVo.getAlgorithmName());
+    private void convertPoToVo(SimulationManualProjectVo simulationManualProjectVo, boolean isAuto) {
+        //1 查询算法名称
+        String algorithmId = simulationManualProjectVo.getAlgorithm();
+        String algorithmType = simulationManualProjectVo.getAlgorithmType();
+        String algorithmName = "算法平台已删除该算法";
+        if(DictConstants.ALGORITHM_UPLOAD_MODE_PLATFORM.equals(algorithmType)){
+            //1 获取 token
+            algorithmName = algoPlatformService.selectAlgorithmNameByAlgorithmId(algorithmId).getInfo();
+        }else {
+            AlgorithmPO algorithmPO = new AlgorithmPO();
+            algorithmPO.setId(algorithmId);
+            List<AlgorithmPO> algorithmBaseInfoVos = simulationProjectMapper.selectAlgorithmBaseInfoById(algorithmPO);
+            if (!isEmpty(algorithmBaseInfoVos)) {
+                algorithmName = algorithmBaseInfoVos.get(0).getAlgorithmName();
+            }
         }
+        simulationManualProjectVo.setAlgorithm(algorithmName);
+        //2 是否是自动项目
         if (!isAuto) {
-            vo.setNowRunStateDict(getDictName(DictConstants.PROJECT_RUN_STATE, vo.getNowRunState()));
-            vo.setEvaluationLevelDict(getDictName(DictConstants.EVALUATION_LEVEL, vo.getEvaluationLevel()));
+            simulationManualProjectVo.setNowRunStateDict(getDictName(DictConstants.PROJECT_RUN_STATE, simulationManualProjectVo.getNowRunState()));
+            simulationManualProjectVo.setEvaluationLevelDict(getDictName(DictConstants.EVALUATION_LEVEL, simulationManualProjectVo.getEvaluationLevel()));
         } else {
-            vo.setLastRunTimeFmt(getRqStr(vo.getLastRunTime(), 1));
+            simulationManualProjectVo.setLastRunTimeFmt(getRqStr(simulationManualProjectVo.getLastRunTime(), 1));
         }
-
-        return vo;
+        //3 格式化创建时间字符串
+        simulationManualProjectVo.setCreateTimeFmt(getRqStr(simulationManualProjectVo.getCreateTime(), 1));
     }
 
     private void convertPoToVo(SimulationManualProjectPo po, SimulationManualProjectSingleVo vo) {
@@ -3873,8 +3879,8 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         List<SimulationManualProjectVo> simulationManualProjectVoList = simulationAutomaticProjectMapper.selectAutomaticProjectList(param);
         PageInfo<SimulationManualProjectVo> pageInfo = new PageInfo<>(simulationManualProjectVoList);
 
-        for (SimulationManualProjectVo p : pageInfo.getList()) {
-            convertPoToVo(p, true);
+        for (SimulationManualProjectVo simulationManualProjectVo : pageInfo.getList()) {
+            convertPoToVo(simulationManualProjectVo, true);
         }
 
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, pageInfo);

+ 1 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/project/service/SimulationProjectService.java

@@ -14,7 +14,7 @@ public interface SimulationProjectService {
 
     ResponseBodyVO addOrUpdateProject(SimulationManualProjectParam param);
 
-    ResponseBodyVO selectProject(SimulationManualProjectParam param);
+    ResponseBodyVO<PageInfo<SimulationManualProjectVo>> selectProject(SimulationManualProjectParam param);
 
     ResponseBodyVO selectProjectById(SimulationManualProjectParam param);
 

+ 1 - 2
simulation-resource-server/src/main/resources/mapper/project/SimulationProjectMapper.xml

@@ -126,8 +126,7 @@
     </select>
 
     <!--查询项目列表-->
-    <select id="selectProjectList" parameterType="api.common.pojo.param.project.SimulationManualProjectParam"
-            resultType="api.common.pojo.vo.project.SimulationManualProjectVo">
+    <select id="selectProjectList" parameterType="api.common.pojo.param.project.SimulationManualProjectParam" resultType="api.common.pojo.vo.project.SimulationManualProjectVo">
         select * from simulation_manual_project
         <where>
             is_deleted = '0'