|
@@ -7,8 +7,6 @@ import java.util.List;
|
|
|
import java.util.Map;
|
|
|
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;
|
|
@@ -18,10 +16,13 @@ import com.phm.common.constant.Constants;
|
|
|
import com.phm.common.exception.GlobalException;
|
|
|
import com.phm.common.utils.file.FileUploadUtils;
|
|
|
import com.phm.common.utils.ip.IpUtils;
|
|
|
+import com.phm.manage.domain.FaultCase;
|
|
|
import com.phm.manage.domain.ModelInfo;
|
|
|
import com.phm.manage.domain.SortieParameter;
|
|
|
import com.phm.manage.domain.dto.ModelRequest;
|
|
|
+import com.phm.manage.enums.DataTypeEnum;
|
|
|
import com.phm.manage.mapper.ModelInfoMapper;
|
|
|
+import com.phm.manage.service.IFaultCaseService;
|
|
|
import com.phm.manage.service.IModelService;
|
|
|
import com.phm.manage.service.ISortieParameterService;
|
|
|
import com.phm.manage.util.CsvUtils;
|
|
@@ -31,6 +32,7 @@ import com.phm.manage.util.SnowFlakeIdGenerator;
|
|
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONArray;
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
@@ -114,27 +116,36 @@ public class ModelServiceImpl implements IModelService {
|
|
|
log.error(e.getMessage());
|
|
|
throw new GlobalException("上传文件失败");
|
|
|
}
|
|
|
- Map<String, String> parms = new HashMap<>();
|
|
|
- parms.put("data_url", url);
|
|
|
- String result = HttpClientUtils.postJson(modelInfo.getUrl(), parms);
|
|
|
+ // Map<String, String> parms = new HashMap<>();
|
|
|
+ parmsMap.put("data_url", url);
|
|
|
+ String result = HttpClientUtils.postJson(modelInfo.getUrl(), parmsMap);
|
|
|
// TODO 需要判断结果状态
|
|
|
JSONObject jsonObject = JSONUtil.parseObj(result);
|
|
|
+ String status = jsonObject.getStr("status");
|
|
|
String jsonString = jsonObject.getStr("data");
|
|
|
// 故障深度隔离无结果。需要匹配故障案例
|
|
|
- if (Objects.equals(modelInfo.getType(), DataTypeEnum.DEEP_ISOLATION.getType())) {
|
|
|
+ if (StrUtil.equals(status, "210")
|
|
|
+ && Objects.equals(modelInfo.getType(), DataTypeEnum.DEEP_ISOLATION.getType())) {
|
|
|
// TODO 故障案例 传入故障要素
|
|
|
- faultCaseService.findFaultCaseList(jsonString);
|
|
|
+ List<FaultCase> faultCaseList = faultCaseService.findFaultCaseList(jsonString);
|
|
|
+ return JSONUtil.parse(faultCaseList).toString();
|
|
|
}
|
|
|
- // CSV文件路径
|
|
|
- String csvFilePath =
|
|
|
+ if (!StrUtil.equals(status, "200")) {
|
|
|
+ String error = jsonObject.getStr("message");
|
|
|
+ log.error("调用模型异常:{}", error);
|
|
|
+ throw new GlobalException("调用模型异常:" + error);
|
|
|
+ }
|
|
|
+ if (JSONUtil.isTypeJSON(jsonString)) {
|
|
|
+ // 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())
|
|
|
- .setBatchNo(IdUtil.getSnowflakeNextIdStr()).setType(modelInfo.getType());
|
|
|
- sortieParameterService.insertSortieParameter(parameter);
|
|
|
+ // 将csv文件持久化到磁盘
|
|
|
+ CsvUtils.jsonToFileCsv(jsonString, csvFilePath);
|
|
|
+ SortieParameter parameter = new SortieParameter();
|
|
|
+ parameter.setDataPath(csvFilePath).setSortieNo(sortieParameter.getSortieNo())
|
|
|
+ .setBatchNo(IdUtil.getSnowflakeNextIdStr()).setType(modelInfo.getType());
|
|
|
+ sortieParameterService.insertSortieParameter(parameter);
|
|
|
+ }
|
|
|
return jsonString;
|
|
|
}
|
|
|
|
|
@@ -169,7 +180,7 @@ public class ModelServiceImpl implements IModelService {
|
|
|
// 上传并返回新文件名称以及路径
|
|
|
String fileName = FileUploadUtils.upload(PHMConfig.getUploadPath(), FileUtil.fileToMultipartFile(file));
|
|
|
log.info("上传的文件名称:{}", fileName);
|
|
|
- String url = Constants.HTTP + IpUtils.getIpAddr() + ":" +port + fileName;
|
|
|
+ String url = Constants.HTTP + IpUtils.getIpAddr() + ":" + port + fileName;
|
|
|
log.info("上传的文件地址:{}", url);
|
|
|
return url;
|
|
|
}
|