فهرست منبع

新增分析进度

chenhongyan1989 1 سال پیش
والد
کامیت
43208e27e7

+ 13 - 6
energy-manage-common/src/main/java/com/energy/manage/common/util/HttpUtils.java

@@ -3,6 +3,7 @@ package com.energy.manage.common.util;
 import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
 
 import java.util.Map;
 
@@ -10,6 +11,7 @@ import java.util.Map;
  * @author LIKE
  * @date 2017年1月18日 下午6:07:06
  */
+@Slf4j
 public class HttpUtils {
 
     private final static String GET_UNION_STR = "?";
@@ -39,12 +41,17 @@ public class HttpUtils {
      * @return
      */
     public static String doPost(String url, String params){
-        // 创建POST请求
-        HttpRequest request = HttpUtil.createPost(url);
-        // 设置请求头Content-Type为application/json
-        request.header("Content-Type", "application/json");
-        // 执行请求
-        return request.body(params).execute().body();
+        try{
+            // 创建POST请求
+            HttpRequest request = HttpUtil.createPost(url);
+            // 设置请求头Content-Type为application/json
+            request.header("Content-Type", "application/json");
+            return request.body(params).execute().body();
+            // 执行请求
+        }catch (Exception e){
+            log.error("url = {} 请求异常",url,e);
+            return "请求异常,请查看日志";
+        }
     }
 
     public static void main(String[] args) {

+ 20 - 47
energy-manage-service/src/main/java/com/energy/manage/service/property/analysis/AlgorithmProperties.java

@@ -1,6 +1,8 @@
 package com.energy.manage.service.property.analysis;
 
+import lombok.Data;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -11,87 +13,58 @@ import java.util.List;
  * @date 2024/5/30 17:37
  * @desc
  */
+@Data
 @Component
+@RefreshScope
 public class AlgorithmProperties {
 
     /**
      * 算法地址
      */
-    public static String analysisUrl;
+    @Value("${analysis.url}")
+    public String analysisUrl;
 
     /**
      * 传给分析算法json
      */
-    public static String analysisJson;
+    @Value("${analysis.algorithm.json}")
+    public String analysisAlgorithmJson;
 
     /**
      * 分析类型json
      */
-    public static String configAnalysisJson;
+    @Value("${analysis.type.json}")
+    public String analysisTypeJson;
 
     /**
      * 图像设置参数属性
      */
-    public static List<String> graphSetsProperties;
+    @Value("${graphSets.properties}")
+    public List<String> graphSetsProperties;
 
     /**
      * scada 数据过滤属性
      */
-    public static List<String> customFilterProperties;
+    @Value("${customFilter.properties}")
+    public List<String> customFilterProperties;
 
     /**
      * 分析类型属性
      */
-    public static String configAnalysisProperties;
+    @Value("${analysis.properties.name}")
+    public String configAnalysisProperties;
 
     /**
      * 功率因数
      */
-    public static String powerFactorRated;
+    @Value("${power.factor.rated}")
+    public String powerFactorRated;
 
 
     /**
      * 算法json中无子节点数组
      */
-    public static List<String> arrayProperties;
-
-
-    @Value("${analysis.url}")
-    public void setAnalysisUrl(String analysisUrl){
-        AlgorithmProperties.analysisUrl = analysisUrl;
-    }
-
-    @Value("${analysis.algorithm.json}")
-    public void setAnalysisJson(String analysisJson){
-        AlgorithmProperties.analysisJson = analysisJson;
-    }
-
-    @Value("${graphSets.properties}")
-    public void setGraphSetsProperties(List<String> graphSetsProperties){
-        AlgorithmProperties.graphSetsProperties = graphSetsProperties;
-    }
-
-    @Value("${customFilter.properties}")
-    public void setCustomFilterProperties(List<String> customFilterProperties){
-        AlgorithmProperties.customFilterProperties = customFilterProperties;
-    }
-
-    @Value("${analysis.properties.name}")
-    public void setConfigAnalysisProperties(String configAnalysis){
-        AlgorithmProperties.configAnalysisProperties = configAnalysis;
-    }
-
-    @Value("${analysis.type.json}")
-    public void setConfigAnalysisJson(String configAnalysisJson){
-        AlgorithmProperties.configAnalysisJson = configAnalysisJson;
-    }
-
-    @Value("${power.factor.rated}")
-    public void setPowerFactorRated(String powerFactorRated){
-        AlgorithmProperties.powerFactorRated = powerFactorRated;
-    }
     @Value("${analysis.array.properties}")
-    public void setArrayProperties(List<String> arrayProperties){
-        AlgorithmProperties.arrayProperties = arrayProperties;
-    }
+    public List<String> analysisArrayProperties;
+
 }

+ 13 - 9
energy-manage-service/src/main/java/com/energy/manage/service/service/analysis/impl/AnalysisServiceImpl.java

@@ -29,6 +29,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.util.*;
@@ -70,6 +71,9 @@ public class AnalysisServiceImpl implements AnalysisService {
     @Autowired
     private WindEngineGroupMapper windEngineGroupMapper;
 
+    @Resource
+    private AlgorithmProperties algorithmProperties;
+
 
     private static AnalysisOptionRecordsMapper optionRecordsMapper;
 
@@ -110,13 +114,13 @@ public class AnalysisServiceImpl implements AnalysisService {
                 transferAnalysisFlagByCode(analysisDto);
             }
             //将配置文件中的算法json转换为对象
-            JsonNode rootNode = mapper.readTree(AlgorithmProperties.analysisJson);
+            JsonNode rootNode = mapper.readTree(algorithmProperties.getAnalysisAlgorithmJson());
             //将入参analysisDto转换为算法标准json
             dataProccess(analysisDto,rootNode);
             log.info("调用分析算法之前,将入参analysisDto转换为算法标准json = {}" , mapper.writeValueAsString(rootNode));
             System.out.println("json入参:" + rootNode.toString());
             //调用算法
-            String result = HttpUtils.doPost(AlgorithmProperties.analysisUrl,mapper.writeValueAsString(rootNode));
+            String result = HttpUtils.doPost(algorithmProperties.getAnalysisUrl(),mapper.writeValueAsString(rootNode));
             log.info("调用算法分析返回结果:{}",result);
             //手动操作进行操作记录添加
             if(analysisDto.getAutoOrManual().equals(AnalysisConstants.MANUAL_ANALYSIS)){
@@ -364,9 +368,9 @@ public class AnalysisServiceImpl implements AnalysisService {
             // 匹配到属性名称,进行值的修改
             if (entry.getKey().equalsIgnoreCase(propertyName)) {
                 //判断当前节点有没有子节点 排除分析节点
-                if(!entry.getValue().fields().hasNext() && !propertyName.equalsIgnoreCase(AlgorithmProperties.configAnalysisProperties)){
+                if(!entry.getValue().fields().hasNext() && !propertyName.equalsIgnoreCase(algorithmProperties.getConfigAnalysisProperties())){
                     //数组属性得特殊处理
-                    if(AlgorithmProperties.arrayProperties.contains(propertyName)){
+                    if(algorithmProperties.getAnalysisArrayProperties().contains(propertyName)){
                         ArrayNode arrayNode = mapper.createArrayNode();
                         ((List<String>)newValue).stream().forEach(item-> arrayNode.add(item));
                         ((ObjectNode) parentNode).set(propertyName,arrayNode);
@@ -392,13 +396,13 @@ public class AnalysisServiceImpl implements AnalysisService {
      */
     private void assignmentByPropertyName(JsonNode subNode, String propertyName, Object newValue,String scada){
         //scada数据筛选过滤 、图像设置特殊处理
-        if(AlgorithmProperties.graphSetsProperties.contains(propertyName)
-                || AlgorithmProperties.customFilterProperties.contains(propertyName)){
+        if(algorithmProperties.getGraphSetsProperties().contains(propertyName)
+                || algorithmProperties.getCustomFilterProperties().contains(propertyName)){
             dealGraphSetsAndCustomFilter(subNode, newValue);
             return ;
         }
         //分析类型特殊处理
-        if(AlgorithmProperties.configAnalysisProperties.equals(propertyName)){
+        if(algorithmProperties.getConfigAnalysisProperties().equals(propertyName)){
             dealConfigAnalysis(subNode, newValue,scada);
             return;
         }
@@ -431,7 +435,7 @@ public class AnalysisServiceImpl implements AnalysisService {
             ArrayNode arrayNode = (ArrayNode) subNode;
             List<String> analysisTypes = (List) newValue;
             for(int i = 0 ; i < analysisTypes.size() ; i++){
-                JsonNode childNode = mapper.readTree(AlgorithmProperties.configAnalysisJson);
+                JsonNode childNode = mapper.readTree(algorithmProperties.getAnalysisTypeJson());
                 //分析类型解析
                 String[] types = analysisTypes.get(i).split("\\|");
                 AtomicInteger index =  new AtomicInteger(0);
@@ -486,7 +490,7 @@ public class AnalysisServiceImpl implements AnalysisService {
         //查询最大功率
        BigDecimal ratedCapacity = windEngineGroupMapper.selectMaxRatedCapacity(fieldCode,engineCodes);
        //功率因数 1.2
-       BigDecimal powerFactorRated = new BigDecimal(AlgorithmProperties.powerFactorRated);
+       BigDecimal powerFactorRated = new BigDecimal(algorithmProperties.getPowerFactorRated());
        //返回功率
        return ratedCapacity == null ? "0" : ratedCapacity.multiply(powerFactorRated).toString();
     }

+ 7 - 1
energy-manage-service/src/main/java/com/energy/manage/service/test/TestController.java

@@ -14,6 +14,8 @@ import com.energy.manage.service.service.analysis.AnalysisService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -29,6 +31,7 @@ import java.util.stream.Collectors;
 @Slf4j
 @RestController
 @RequestMapping("/test")
+@RefreshScope
 public class TestController extends BaseServiceController {
 
     @Autowired
@@ -40,6 +43,9 @@ public class TestController extends BaseServiceController {
     @Autowired
     private AnalysisTypeMapper typeMapper;
 
+    @Value("${download.url}")
+    private String downloadUrl;
+
     @UserLoginToken
     @PostMapping("/testAutoAnalysis")
     public ResultResp autoAnalysis() {
@@ -65,7 +71,7 @@ public class TestController extends BaseServiceController {
     @UserLoginToken
     @PostMapping("/testRefresh")
     public ResultResp testRefresh() {
-        return success(TestProperties.getdownloadUrl());
+        return success(downloadUrl);
     }
 
     /**

+ 5 - 1
energy-manage-service/src/main/java/com/energy/manage/service/test/TestProperties.java

@@ -1,7 +1,9 @@
 package com.energy.manage.service.test;
 
+import com.alibaba.nacos.api.config.annotation.NacosValue;
+import lombok.Data;
+import lombok.experimental.Accessors;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.cloud.context.config.annotation.RefreshScope;
 import org.springframework.stereotype.Component;
 
@@ -12,6 +14,8 @@ import org.springframework.stereotype.Component;
  */
 @Component
 @RefreshScope
+@Data
+@Accessors(chain = true)
 public class TestProperties {