Browse Source

refactor(alert): 优化 EXA 服务 IP 并调整报警模型设置默认值

- 修改 EXA 服务 IP 地址为47.98.32.148
- 修正报警模型设置的默认条件为 "1==1"
- 优化 EXAUtils 类中的方法,提高代码可读性和维护性
- 更新 ModelController 中的请求参数注解
- 调整 ModelServiceImpl 中的模型训练逻辑
-为 ModelTestParam 类添加 JSON别名注解
- 修正 TrainParam 类中的字段名称和类型
cjl-dev
Jiale 2 weeks ago
parent
commit
0b15979632
  1. 2
      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. 7
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/param/ModelTestParam.java
  4. 7
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/param/TrainParam.java
  5. 12
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java
  6. 9
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/utils/EXAUtils.java
  7. 2
      yudao-server/src/main/resources/application-local.yaml

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

@ -63,7 +63,7 @@ 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);
} }

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");
} }
} }

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;
} }
} }

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

@ -28,10 +28,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestBody; 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;
/** /**
@ -119,6 +116,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,14 +141,14 @@ 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<TrainInfo>() {
}).get(0); });
} }

9
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,7 +31,6 @@ import java.util.List;
public class EXAUtils { public class EXAUtils {
/** /**
* 根据分页条件和测点名称测点描述模糊查询 * 根据分页条件和测点名称测点描述模糊查询
* *

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

@ -271,7 +271,7 @@ pf4j:
# pluginsDir: /tmp/ # pluginsDir: /tmp/
pluginsDir: ../plugins pluginsDir: ../plugins
EXA: EXA:
ip: 120.26.116.243 ip: 47.98.32.148
point: point:
head: XN. head: XN.
algorithm: algorithm:

Loading…
Cancel
Save