allen 1 yıl önce
ebeveyn
işleme
9e90dc1ed4

+ 1 - 1
cirs-admin/src/main/resources/application-druid.yml

@@ -6,7 +6,7 @@ spring:
         druid:
             # 主库数据源
             master:
-                url: jdbc:mysql://47.108.150.237:3306/cirs?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+                url: jdbc:mysql://47.108.150.237:3306/cirs?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
                 username: root
                 password: w.cf123321
             # 从库数据源

+ 5 - 2
cirs-biz/src/main/java/com/cirs/biz/controller/TVerificationTaskDetailController.java

@@ -15,6 +15,7 @@ import com.alibaba.fastjson2.JSONObject;
 import com.cirs.biz.domain.*;
 import com.cirs.biz.service.ITElectronComponentService;
 import com.cirs.biz.service.ITVerificationTaskService;
+import com.cirs.biz.utils.WebClientUtils;
 import com.cirs.common.utils.DictUtils;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.pagehelper.PageHelper;
@@ -195,7 +196,7 @@ public class TVerificationTaskDetailController extends BaseController
             logger.info("request payload: {}", JSON.toJSONString(objectMap));
 
             // 发送请求
-            Mono<String> mono = webClient
+            Mono<String> mono = WebClientUtils.createWebClient()
                     .post() // POST 请求
                     .uri(verification_uri)  // 请求路径
                     .contentType(MediaType.APPLICATION_JSON_UTF8)
@@ -205,6 +206,7 @@ public class TVerificationTaskDetailController extends BaseController
 
             AjaxResult res = new AjaxResult();
             String result = mono.block();//返回值有accuracyRate和recallRate属性
+            logger.info("response: {}", result);
             task.setEndTime(new Date());
             task.setTaskStatus("运行成功");
             JSONObject jsonObject = JSONObject.parseObject(result);
@@ -216,7 +218,7 @@ public class TVerificationTaskDetailController extends BaseController
             List<VerificationData> dataSet = JSONArray.parseArray(jsonArray.toJSONString(),VerificationData.class);
 
             tVerificationTaskService.updateTVerificationTask(task);
-            updateDetails(dataSet);
+            tElectronComponentService.updateDetails(dataSet);
 
             logger.info(result);
             if(jsonObject.getIntValue("code")!=200){
@@ -271,6 +273,7 @@ public class TVerificationTaskDetailController extends BaseController
         }
     }
 
+
 //    @PostMapping("/getUpdatedDetails")
 //    public TableDataInfo getUpdatedDetails(@RequestBody List<Long> taskids){
 //        try{

+ 3 - 0
cirs-biz/src/main/java/com/cirs/biz/mapper/TElectronComponentMapper.java

@@ -1,6 +1,7 @@
 package com.cirs.biz.mapper;
 
 import java.util.List;
+import java.util.Set;
 
 import com.cirs.biz.domain.ElectronComponent;
 import com.cirs.biz.domain.TElectronComponent;
@@ -67,4 +68,6 @@ public interface TElectronComponentMapper
     public ElectronComponent getDetailById(@Param("id") Long id);
 
     List<TElectronComponent> getByIds(@Param("ids") List<Long> ids);
+
+    void updateTestedSetAndTrainedSet(@Param("testedIds") Set<Long> testedIds, @Param("trainedIds") Set<Long> trainedIds);
 }

+ 3 - 0
cirs-biz/src/main/java/com/cirs/biz/service/ITElectronComponentService.java

@@ -2,6 +2,7 @@ package com.cirs.biz.service;
 
 import java.util.List;
 import com.cirs.biz.domain.TElectronComponent;
+import com.cirs.biz.domain.VerificationData;
 
 /**
  * 元器件Service接口
@@ -66,4 +67,6 @@ public interface ITElectronComponentService
     public String getDetailById(Long id);
 
     public List<TElectronComponent> getByIds(List<Long> ids);
+
+    void updateDetails(List<VerificationData> dataset);
 }

+ 19 - 0
cirs-biz/src/main/java/com/cirs/biz/service/impl/TElectronComponentServiceImpl.java

@@ -1,8 +1,11 @@
 package com.cirs.biz.service.impl;
 
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import com.cirs.biz.domain.ElectronComponent;
+import com.cirs.biz.domain.VerificationData;
 import com.cirs.common.exception.ServiceException;
 import com.cirs.common.utils.DateUtils;
 import com.cirs.common.utils.StringUtils;
@@ -165,4 +168,20 @@ public class TElectronComponentServiceImpl implements ITElectronComponentService
     public List<TElectronComponent> getByIds(List<Long> ids){
         return tElectronComponentMapper.getByIds(ids);
     }
+
+    @Override
+    public void updateDetails(List<VerificationData> dataset) {
+        Set<Long> testedIds = new HashSet<>(dataset.size());
+        Set<Long> trainedIds = new HashSet<>(dataset.size());
+        // 找出训练集和测试集
+        for (VerificationData verificationData : dataset) {
+            if(verificationData.getTested() == 1){
+                testedIds.add(verificationData.getId());
+            }
+            if(verificationData.getTrained() == 1){
+                trainedIds.add(verificationData.getId());
+            }
+        }
+        tElectronComponentMapper.updateTestedSetAndTrainedSet(testedIds, trainedIds);
+    }
 }

+ 2 - 1
cirs-biz/src/main/java/com/cirs/biz/service/impl/TVerificationTaskDetailServiceImpl.java

@@ -155,10 +155,11 @@ public class TVerificationTaskDetailServiceImpl implements ITVerificationTaskDet
             }
             catch (Exception e)
             {
+                log.error("导入失败!!!taskDetail:{}", taskDetail, e);
                 failureNum++;
                 String msg = "<br/>" + failureNum + "、任务 " + taskDetail.getTaskId() + " 详情导入失败:";
                 failureMsg.append(msg + e.getMessage());
-                log.error(msg, e);
+
             }
         }
         if (failureNum > 0)

+ 12 - 0
cirs-biz/src/main/resources/mapper/biz/TElectronComponentMapper.xml

@@ -289,4 +289,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </select>
+    <update id="updateTestedSetAndTrainedSet">
+        update t_verification_task_detail set tested = 1,trained = 0 where id IN
+        <foreach collection="testedIds" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+        ;
+        update t_verification_task_detail set tested = 0,trained = 1 where id IN
+        <foreach collection="trainedIds" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+        ;
+    </update>
 </mapper>