cjl-dev #26

Merged
chenjiale merged 4 commits from cjl-dev into master 2 weeks ago
  1. 7
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/ModelController.java
  2. 2
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/ModelInfo.java
  3. 2
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/Point.java
  4. 72
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/ModelVersion.java
  5. 18
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/ModelVersionMapper.java
  6. 13
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/ModelVersionService.java
  7. 22
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/ModelVersionServiceImpl.java
  8. 7
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/param/ModelTestParam.java
  9. 7
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/param/TrainParam.java
  10. 2
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelService.java
  11. 42
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java
  12. 37
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java
  13. 48
      yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/ModelVersionMapper.xml
  14. 4
      yudao-server/src/main/resources/application-local.yaml

7
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/ModelController.java

@ -63,8 +63,13 @@ public class ModelController {
} }
@PostMapping("/test") @PostMapping("/test")
public CommonResult<ModelTestData> getTestData(ModelTestParam param) { public CommonResult<ModelTestData> getTestData(@RequestBody ModelTestParam param) {
ModelTestData modelTestData = modelService.getModelTestData(param); ModelTestData modelTestData = modelService.getModelTestData(param);
return CommonResult.success(modelTestData); return CommonResult.success(modelTestData);
} }
@PostMapping("/bottom/{id}")
public CommonResult<ModelInfoVO> bottomModel(@PathVariable Integer id) {
return CommonResult.success(modelService.bottomModel(id));
}
} }

2
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/ModelInfo.java

@ -115,7 +115,7 @@ public class ModelInfo {
private String alarmCondition; private String alarmCondition;
public static AlarmModelSet defaultInit() { public static AlarmModelSet defaultInit() {
return new AlarmModelSet("全工况运行", "1=1"); return new AlarmModelSet("全工况运行", "1==1");
} }
} }

2
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/admin/model/model/Point.java

@ -24,7 +24,7 @@ public class Point {
@JsonProperty("Upper") @JsonProperty("Upper")
private BigDecimal Upper; private BigDecimal Upper;
private Boolean dead; private Boolean dead;
private String limit; private Boolean limit;
private Boolean lock; private Boolean lock;
/** /**
* 残差下限 * 残差下限

72
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/ModelVersion.java

@ -0,0 +1,72 @@
package cn.iocoder.yudao.module.alert.dao.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
* @TableName model_version
*/
@TableName(value ="model_version")
@Data
public class ModelVersion implements Serializable {
private Integer id;
private Integer modelId;
private Integer algorithmId;
private String modelName;
private String createName;
private String modelInfo;
private Integer status;
private Integer visible;
private String conditionInfo;
private Integer trash;
private String assessRes;
private Integer needToAssess;
private Double score;
private String clearOrNot;
private Integer effNumber;
private Integer needToClean;
private String origAssessRes;
private Double loadCover;
private String coverOutput;
private String version;
private String conditionName;
private Integer isOnline;
private String creator;
private Date createTime;
private String updater;
private Date updateTime;
private Boolean deleted;
private static final long serialVersionUID = 1L;
}

18
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/ModelVersionMapper.java

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.alert.dao.mapper;
import cn.iocoder.yudao.module.alert.dao.domain.ModelVersion;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author 陈小黑
* @description 针对表model_version的数据库操作Mapper
* @createDate 2025-07-10 16:23:38
* @Entity cn.iocoder.yudao.module.alert.dao.domain.ModelVersion
*/
public interface ModelVersionMapper extends BaseMapper<ModelVersion> {
}

13
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/ModelVersionService.java

@ -0,0 +1,13 @@
package cn.iocoder.yudao.module.alert.dao.service;
import cn.iocoder.yudao.module.alert.dao.domain.ModelVersion;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author 陈小黑
* @description 针对表model_version的数据库操作Service
* @createDate 2025-07-10 16:23:38
*/
public interface ModelVersionService extends IService<ModelVersion> {
}

22
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/ModelVersionServiceImpl.java

@ -0,0 +1,22 @@
package cn.iocoder.yudao.module.alert.dao.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.iocoder.yudao.module.alert.dao.domain.ModelVersion;
import cn.iocoder.yudao.module.alert.dao.service.ModelVersionService;
import cn.iocoder.yudao.module.alert.dao.mapper.ModelVersionMapper;
import org.springframework.stereotype.Service;
/**
* @author 陈小黑
* @description 针对表model_version的数据库操作Service实现
* @createDate 2025-07-10 16:23:38
*/
@Service
public class ModelVersionServiceImpl extends ServiceImpl<ModelVersionMapper, ModelVersion>
implements ModelVersionService{
}

7
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/param/ModelTestParam.java

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.alert.param; package cn.iocoder.yudao.module.alert.param;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -12,7 +13,11 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
public class ModelTestParam { public class ModelTestParam {
@JsonProperty("Test_Data") @JsonProperty("Test_Data")
@JsonAlias("Test_Data")
private TestData testData; private TestData testData;
@JsonProperty("Model_id")
@JsonAlias("Model_id")
private Integer modelId; private Integer modelId;
private String version; private String version;
@ -24,8 +29,10 @@ public class ModelTestParam {
private String points; private String points;
private Integer interval; private Integer interval;
@JsonProperty("AddBias") @JsonProperty("AddBias")
@JsonAlias("AddBias")
private List<Double> addBias; private List<Double> addBias;
@JsonProperty("AddBias_Time") @JsonProperty("AddBias_Time")
@JsonAlias("AddBias_Time")
private String addBiasTime; private String addBiasTime;
} }
} }

7
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/param/TrainParam.java

@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.alert.param; package cn.iocoder.yudao.module.alert.param;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -21,16 +20,17 @@ public class TrainParam {
@JsonProperty("Hyper_para") @JsonProperty("Hyper_para")
private HyperPara hyperPara; private HyperPara hyperPara;
private String type; private String type;
private String condition; private String conditon;
@JsonAlias("smote_config") @JsonAlias("smote_config")
@JsonProperty("smote_config") @JsonProperty("smote_config")
private String smoteConfig; private List<Object> smoteConfig;
private Boolean smote; private Boolean smote;
private String targetPoint; private String targetPoint;
@Data @Data
public static class Smote { public static class Smote {
private String pointId; private String pointId;
@ -55,5 +55,6 @@ public class TrainParam {
private String dead; private String dead;
private String limit; private String limit;
private String uplow; private String uplow;
private Integer interval;
} }
} }

2
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelService.java

@ -48,4 +48,6 @@ public interface ModelService {
TrainInfo trainModel(TrainParam param); TrainInfo trainModel(TrainParam param);
ModelTestData getModelTestData(ModelTestParam param); ModelTestData getModelTestData(ModelTestParam param);
ModelInfoVO bottomModel(Integer id);
} }

42
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java

@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.alert.service.model.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.iocoder.yudao.framework.common.util.http.HttpUtils; import cn.iocoder.yudao.framework.common.util.http.HttpUtils;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils; import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
@ -12,26 +13,26 @@ import cn.iocoder.yudao.module.alert.common.enums.ModelVisible;
import cn.iocoder.yudao.module.alert.controller.admin.model.model.ModelInfo; import cn.iocoder.yudao.module.alert.controller.admin.model.model.ModelInfo;
import cn.iocoder.yudao.module.alert.controller.admin.model.vo.*; import cn.iocoder.yudao.module.alert.controller.admin.model.vo.*;
import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg; import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg;
import cn.iocoder.yudao.module.alert.dao.domain.ModelVersion;
import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg; import cn.iocoder.yudao.module.alert.dao.domain.SystemCfg;
import cn.iocoder.yudao.module.alert.dao.service.ModelCfgService; import cn.iocoder.yudao.module.alert.dao.service.ModelCfgService;
import cn.iocoder.yudao.module.alert.dao.service.ModelVersionService;
import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService; import cn.iocoder.yudao.module.alert.dao.service.SystemCfgService;
import cn.iocoder.yudao.module.alert.param.ModelTestParam; import cn.iocoder.yudao.module.alert.param.ModelTestParam;
import cn.iocoder.yudao.module.alert.param.TrainParam; import cn.iocoder.yudao.module.alert.param.TrainParam;
import cn.iocoder.yudao.module.alert.service.model.ModelService; import cn.iocoder.yudao.module.alert.service.model.ModelService;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Date; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -47,6 +48,8 @@ public class ModelServiceImpl implements ModelService {
private final SystemCfgService systemCfgService; private final SystemCfgService systemCfgService;
private final ModelVersionService modelVersionService;
@Value("${algorithm.host}") @Value("${algorithm.host}")
private String algorithmHost; private String algorithmHost;
@ -119,6 +122,7 @@ public class ModelServiceImpl implements ModelService {
info.setName(model.getModelName()); info.setName(model.getModelName());
info.setDescription(model.getDescription()); info.setDescription(model.getDescription());
info.setRate(model.getRate()); info.setRate(model.getRate());
info.setTrainTime(new ArrayList<>());
modelCfg.setModelInfo(JsonUtils.toJsonString(info)); modelCfg.setModelInfo(JsonUtils.toJsonString(info));
modelCfgService.updateById(modelCfg); modelCfgService.updateById(modelCfg);
return modelId; return modelId;
@ -143,22 +147,42 @@ public class ModelServiceImpl implements ModelService {
@Override @Override
public TrainInfo trainModel(TrainParam param) { public TrainInfo trainModel(TrainParam param) {
String trainBody = HttpUtils.post(algorithmHost + "/api/get_smote_data", null, JsonUtils.toJsonString(param)); String trainBody = HttpUtils.post(algorithmHost + "/api/test/ClearTrain", null, JsonUtils.toJsonString(param));
if (trainBody.contains("error_msg")) { if (trainBody.contains("error_msg")) {
throw new RuntimeException("模型训练异常:" + JsonUtils.parseObject(trainBody, throw new RuntimeException("模型训练异常:" + JsonUtils.parseObject(trainBody,
new TypeReference<Map<String, String>>() { new TypeReference<Map<String, String>>() {
}).get("error_msg")); }).get("error_msg"));
} }
return JsonUtils.parseObject(trainBody, new TypeReference<List<TrainInfo>>() { return JsonUtils.parseObject(trainBody, new TypeReference<>() {
}).get(0); });
} }
@Override @Override
public ModelTestData getModelTestData(ModelTestParam param) { public ModelTestData getModelTestData(ModelTestParam param) {
String result = HttpUtils.post(algorithmHost + "/api/test/Test", null, JsonUtils.toJsonString(param)) String result = HttpUtils.post(algorithmHost + "/api/test/Test", null, JsonUtils.toJsonString(param))
.replace("NaN", "-1").replace("Infinity", "1"); .replace("NaN", "-1").replace("Infinity", "1");
return JsonUtils.parseObject(result, ModelTestData.class); return JsonUtils.parseObject(result, ModelTestData.class);
} }
@Override
@Transactional(rollbackFor = Exception.class)
public ModelInfoVO bottomModel(Integer id) {
ModelCfg modelCfg = modelCfgService.getById(id);
ModelInfoVO modelInfo = JSON.parseObject(modelCfg.getModelInfo(), ModelInfoVO.class);
modelInfo.setBtmState(ModelStatus.FINISH.desc);
modelInfo.setVersion("v-" + DateUtil.now());
modelInfo.setModifier(SecurityFrameworkUtils.getLoginUserNickname());
modelInfo.setModifiedTime(new Date());
modelCfg.setModelInfo(JSON.toJSONString(modelInfo));
modelCfg.setUpdateTime(new Date());
modelCfg.setStatus(ModelStatus.FINISH.code);
modelCfgService.updateById(modelCfg);
ModelVersion modelVersion = BeanUtil.copyProperties(modelCfg, ModelVersion.class);
modelVersion.setId(null);
modelVersion.setModelId(id);
modelVersionService.save(modelVersion);
return modelInfo;
}
} }

37
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java

@ -1,6 +1,9 @@
package cn.iocoder.yudao.module.alert.utils; package cn.iocoder.yudao.module.alert.utils;
import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.*; import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.EXAHistoryReqVO;
import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.EXAHttp;
import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.EXAPageReqVO;
import cn.iocoder.yudao.module.alert.controller.admin.exa.vo.Point;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.google.gson.Gson; import com.google.gson.Gson;
@ -11,14 +14,11 @@ import org.apache.http.client.fluent.Request;
import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpDelete; import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder; import org.apache.http.client.utils.URIBuilder;
import org.apache.http.entity.ContentType; import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Value;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Type; import java.lang.reflect.Type;
@ -31,19 +31,18 @@ import java.util.List;
public class EXAUtils { public class EXAUtils {
/** /**
* 根据分页条件和测点名称测点描述模糊查询 * 根据分页条件和测点名称测点描述模糊查询
* *
* @param reqVO 传入对象页数页数量查询条件 * @param reqVO 传入对象页数页数量查询条件
* @return exa列表 * @return exa列表
*/ */
public List<EXAHttp> getPointInfo(String EXA_IP,EXAPageReqVO reqVO) throws URISyntaxException, IOException { public List<EXAHttp> getPointInfo(String EXA_IP, EXAPageReqVO reqVO) throws URISyntaxException, IOException {
// PageResult<EXAHttp> result = new PageResult<>(); // PageResult<EXAHttp> result = new PageResult<>();
List<EXAHttp> exaListAll = new ArrayList<EXAHttp>(); List<EXAHttp> exaListAll = new ArrayList<EXAHttp>();
try { try {
// 目标 RPC 服务的 URL // 目标 RPC 服务的 URL
String url = "http://"+EXA_IP+":9000/exawebapi/exaitem/getitems"; String url = "http://" + EXA_IP + ":9000/exawebapi/exaitem/getitems";
//创建HttpClient对象 //创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = HttpClients.createDefault();
/* /*
@ -104,11 +103,11 @@ public class EXAUtils {
* @return exa列表 * @return exa列表
*/ */
public List<String> getNowData(String EXA_IP,String itemNames) throws URISyntaxException, IOException { public List<String> getNowData(String EXA_IP, String itemNames) throws URISyntaxException, IOException {
List<String> result = new ArrayList<>(); List<String> result = new ArrayList<>();
try { try {
// 目标 RPC 服务的 URL // 目标 RPC 服务的 URL
String url = "http://"+EXA_IP+":9000/exawebapi/exanow/getfloatvaluebatch"; String url = "http://" + EXA_IP + ":9000/exawebapi/exanow/getfloatvaluebatch";
//创建HttpClient对象 //创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = HttpClients.createDefault();
/* /*
@ -154,12 +153,12 @@ public class EXAUtils {
* @param exaHistoryReqVo 传入对象点号开始时间结束时间 * @param exaHistoryReqVo 传入对象点号开始时间结束时间
* @return exa列表 * @return exa列表
*/ */
public List<List<Double>> getHistory(String EXA_IP,EXAHistoryReqVO exaHistoryReqVo) { public List<List<Double>> getHistory(String EXA_IP, EXAHistoryReqVO exaHistoryReqVo) {
List<List<Double>> result = new ArrayList<>(); List<List<Double>> result = new ArrayList<>();
try { try {
// 目标 RPC 服务的 URL // 目标 RPC 服务的 URL
// String url = "http://"+EXA_IP+":9000/exawebapi/exatime/GetRawValueArrayFloat"; // String url = "http://"+EXA_IP+":9000/exawebapi/exatime/GetRawValueArrayFloat";
String url = "http://"+EXA_IP+":9000/exawebapi/exatime/GetSamplingValueArrayFloat"; String url = "http://" + EXA_IP + ":9000/exawebapi/exatime/GetSamplingValueArrayFloat";
//创建HttpClient对象 //创建HttpClient对象
@ -173,7 +172,7 @@ public class EXAUtils {
uriBuilder.addParameter("ItemName", exaHistoryReqVo.getItemName()); uriBuilder.addParameter("ItemName", exaHistoryReqVo.getItemName());
uriBuilder.addParameter("StartingTime", exaHistoryReqVo.getStartTime()); uriBuilder.addParameter("StartingTime", exaHistoryReqVo.getStartTime());
uriBuilder.addParameter("TerminalTime", exaHistoryReqVo.getEndTime()); uriBuilder.addParameter("TerminalTime", exaHistoryReqVo.getEndTime());
uriBuilder.addParameter("SamplingPeriod", String.valueOf(1000*exaHistoryReqVo.getInterval())); uriBuilder.addParameter("SamplingPeriod", String.valueOf(1000 * exaHistoryReqVo.getInterval()));
//创建请求对象 //创建请求对象
@ -208,7 +207,7 @@ public class EXAUtils {
return result; return result;
} }
public List<List<List<Double>>> getHistorys(String EXA_IP,EXAHistoryReqVO exaHistoryReqVo) { public List<List<List<Double>>> getHistorys(String EXA_IP, EXAHistoryReqVO exaHistoryReqVo) {
List<List<List<Double>>> results = new ArrayList<>(); List<List<List<Double>>> results = new ArrayList<>();
try { try {
@ -217,7 +216,7 @@ public class EXAUtils {
pointName.forEach(entity -> { pointName.forEach(entity -> {
List<List<Double>> result = new ArrayList<>(); List<List<Double>> result = new ArrayList<>();
exaHistoryReqVo.setItemName(entity); exaHistoryReqVo.setItemName(entity);
result = getHistory(EXA_IP,exaHistoryReqVo); result = getHistory(EXA_IP, exaHistoryReqVo);
results.add(result); results.add(result);
}); });
} catch (Exception e) { } catch (Exception e) {
@ -227,8 +226,8 @@ public class EXAUtils {
} }
//写入点号 //写入点号
public String setPoint(String EXA_IP,Point point) throws IOException { public String setPoint(String EXA_IP, Point point) throws IOException {
String requestPathAddItem = "http://"+EXA_IP+":9000/exawebapi/exaitem/AddItem"; String requestPathAddItem = "http://" + EXA_IP + ":9000/exawebapi/exaitem/AddItem";
String param = JSON.toJSONString(point); String param = JSON.toJSONString(point);
String result = Request.Post(requestPathAddItem) String result = Request.Post(requestPathAddItem)
.addHeader("Content-type", "application/json") .addHeader("Content-type", "application/json")
@ -245,7 +244,7 @@ public class EXAUtils {
List<Object> result = new ArrayList<>(); List<Object> result = new ArrayList<>();
try { try {
// 目标 RPC 服务的 URL // 目标 RPC 服务的 URL
String url = "http://"+EXA_IP+":9000/exawebapi/exagroup/getgroups"; String url = "http://" + EXA_IP + ":9000/exawebapi/exagroup/getgroups";
//创建HttpClient对象 //创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpClient httpClient = HttpClients.createDefault();
/* /*
@ -288,8 +287,8 @@ public class EXAUtils {
return result; return result;
} }
public String deletePoint(String EXA_IP,String ItemName){ public String deletePoint(String EXA_IP, String ItemName) {
String requestPathDeleteItem ="http://"+EXA_IP+":9000/exawebapi/exaitem/DeleteItem?ItemName="+ItemName; String requestPathDeleteItem = "http://" + EXA_IP + ":9000/exawebapi/exaitem/DeleteItem?ItemName=" + ItemName;
// 创建HttpClient // 创建HttpClient
try (CloseableHttpClient httpClient = HttpClients.createDefault()) { try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
// 创建HttpDelete请求 // 创建HttpDelete请求

48
yudao-module-alert/yudao-module-alert-biz/src/main/resources/mapper/ModelVersionMapper.xml

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.alert.dao.mapper.ModelVersionMapper">
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.alert.dao.domain.ModelVersion">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="modelId" column="model_id" jdbcType="INTEGER"/>
<result property="algorithmId" column="algorithm_id" jdbcType="INTEGER"/>
<result property="modelName" column="model_name" jdbcType="VARCHAR"/>
<result property="createName" column="create_name" jdbcType="VARCHAR"/>
<result property="modelInfo" column="model_info" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="INTEGER"/>
<result property="visible" column="visible" jdbcType="INTEGER"/>
<result property="conditionInfo" column="condition_info" jdbcType="VARCHAR"/>
<result property="trash" column="trash" jdbcType="INTEGER"/>
<result property="assessRes" column="assess_res" jdbcType="VARCHAR"/>
<result property="needToAssess" column="need_to_assess" jdbcType="INTEGER"/>
<result property="score" column="score" jdbcType="FLOAT"/>
<result property="clearOrNot" column="clear_or_not" jdbcType="CHAR"/>
<result property="effNumber" column="eff_number" jdbcType="INTEGER"/>
<result property="needToClean" column="need_to_clean" jdbcType="INTEGER"/>
<result property="origAssessRes" column="orig_assess_res" jdbcType="VARCHAR"/>
<result property="loadCover" column="load_cover" jdbcType="FLOAT"/>
<result property="coverOutput" column="cover_output" jdbcType="VARCHAR"/>
<result property="version" column="version" jdbcType="VARCHAR"/>
<result property="conditionName" column="condition_name" jdbcType="VARCHAR"/>
<result property="isOnline" column="is_online" jdbcType="INTEGER"/>
<result property="creator" column="creator" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updater" column="updater" jdbcType="VARCHAR"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="deleted" column="deleted" jdbcType="BIT"/>
</resultMap>
<sql id="Base_Column_List">
id,model_id,algorithm_id,
model_name,create_name,model_info,
status,visible,condition_info,
trash,assess_res,need_to_assess,
score,clear_or_not,eff_number,
need_to_clean,orig_assess_res,load_cover,
cover_output,version,condition_name,
is_online,creator,create_time,
updater,update_time,deleted
</sql>
</mapper>

4
yudao-server/src/main/resources/application-local.yaml

@ -273,8 +273,8 @@ pf4j:
# pluginsDir: /tmp/ # pluginsDir: /tmp/
pluginsDir: ../plugins pluginsDir: ../plugins
EXA: EXA:
ip: 120.27.236.75 ip: 120.26.116.243
point: point:
head: XN. head: XN.
algorithm: algorithm:
host: 47.98.32.148:8082 host: 120.26.116.243:8082
Loading…
Cancel
Save