Эх сурвалжийг харах

执行模型,生成csv文件修改

wanggaokun 1 жил өмнө
parent
commit
fba3a6e2b8

+ 8 - 0
PHM-admin/phm-manage/src/main/java/com/phm/manage/domain/dto/ModelRequest.java

@@ -1,5 +1,8 @@
 package com.phm.manage.domain.dto;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 import lombok.Data;
 
 /**
@@ -11,18 +14,23 @@ import lombok.Data;
 public class ModelRequest {
 
     // 模型ID
+    @NotNull(message = "模型ID不能为空")
     private long modelId;
 
     // 架次号
+    @NotBlank(message = "架次号不能为空")
     private String sortieNo;
 
     // 批次号
+    @NotNull(message = "批次号不能为空")
     private long batchNo;
 
     // 选择的数据类型
+    @NotNull(message = "数据类型不能为空")
     private Integer dataType;
 
     // 选择的数据id
+    @NotNull(message = "数据Id不能为空")
     private long dataId;
 
 }

+ 11 - 4
PHM-admin/phm-manage/src/main/java/com/phm/manage/service/impl/ModelServiceImpl.java

@@ -10,6 +10,7 @@ import java.util.Objects;
 import com.phm.manage.enums.DataTypeEnum;
 import com.phm.manage.service.IFaultCaseService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import com.phm.common.config.PHMConfig;
@@ -45,6 +46,9 @@ import lombok.extern.slf4j.Slf4j;
 @Slf4j
 public class ModelServiceImpl implements IModelService {
 
+    @Value("${server.port:8080}")
+    private long port;
+
     @Autowired
     ModelInfoMapper modelInfoMapper;
 
@@ -113,6 +117,7 @@ public class ModelServiceImpl implements IModelService {
         Map<String, String> parms = new HashMap<>();
         parms.put("data_url", url);
         String result = HttpClientUtils.postJson(modelInfo.getUrl(), parms);
+        // TODO 需要判断结果状态
         JSONObject jsonObject = JSONUtil.parseObj(result);
         String jsonString = jsonObject.getStr("data");
         // 故障深度隔离无结果。需要匹配故障案例
@@ -123,6 +128,8 @@ public class ModelServiceImpl implements IModelService {
         // CSV文件路径
         String csvFilePath =
                 PHMConfig.getCsvFilePath() + CsvUtils.RESULT_DATA_PATH + CsvUtils.extractFilename("model_result");
+
+        // 将csv文件持久化到磁盘
         CsvUtils.jsonToFileCsv(jsonString, csvFilePath);
         SortieParameter parameter = new SortieParameter();
         parameter.setDataPath(csvFilePath).setSortieNo(sortieParameter.getSortieNo())
@@ -151,18 +158,18 @@ public class ModelServiceImpl implements IModelService {
         return parmsMap;
     }
 
-    private String getFileUrl(String dataParms, String dataPath) throws IOException {
-        JSONArray jsonArray = new JSONArray(dataParms);
+    private String getFileUrl(String dataParams, String dataPath) throws IOException {
+        JSONArray jsonArray = new JSONArray(dataParams);
         // 查询数据源
         JSONArray dataJson = CsvUtils.getCsvDataByHeaders(dataPath, jsonArray.toList(String.class));
         // 生成新的csv文件
         String filePath =
-            PHMConfig.getCsvFilePath() + CsvUtils.MODEL_DATA_PATH + CsvUtils.extractFilename("parameter_result");
+            PHMConfig.getCsvFilePath() + CsvUtils.MODEL_DATA_PATH + CsvUtils.getFilename("parameter_result");
         File file = CsvUtils.jsonToFileCsvByJsonArray(dataJson, filePath);
         // 上传并返回新文件名称以及路径
         String fileName = FileUploadUtils.upload(PHMConfig.getUploadPath(), FileUtil.fileToMultipartFile(file));
         log.info("上传的文件名称:{}", fileName);
-        String url = Constants.HTTP + IpUtils.getIpAddr() + ":8080" + fileName;
+        String url = Constants.HTTP + IpUtils.getIpAddr() + ":" +port + fileName;
         log.info("上传的文件地址:{}", url);
         return url;
     }

+ 5 - 1
PHM-admin/phm-manage/src/main/java/com/phm/manage/util/CsvUtils.java

@@ -37,7 +37,7 @@ public class CsvUtils {
 
     // 源参数数据
     public static final String PARAMETER_DATA_PATH = "/parameterData/";
-    public static final String CSV_TYPE = ".csv";
+    public static final String CSV_TYPE = "csv";
 
     /**
      * 编码文件名
@@ -47,6 +47,10 @@ public class CsvUtils {
             CSV_TYPE);
     }
 
+    public static final String getFilename(String fileName) {
+        return StringUtils.format("{}/{}.{}", DateUtils.datePath(), fileName, CSV_TYPE);
+    }
+
     /**
      * json 转 csv数据
      *