Bladeren bron

代码重构剥离 原健康评估、异常检测

zhouyang.xie 2 dagen geleden
bovenliggende
commit
c1aa75c634

+ 20 - 0
energy-manage-common/src/main/java/com/energy/manage/common/config/AnalysisTypeConfig.java

@@ -0,0 +1,20 @@
+package com.energy.manage.common.config;
+
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author chy
+ * @date 2024/7/31 15:38
+ * @desc
+ */
+@Data
+@Configuration
+@RefreshScope
+public class AnalysisTypeConfig {
+
+    @Value("${analysis.type.config}")
+    private String analysisTypeConfig;
+}

+ 110 - 0
energy-manage-common/src/main/java/com/energy/manage/common/constant/analysis/AnalysisConstants.java

@@ -0,0 +1,110 @@
+package com.energy.manage.common.constant.analysis;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @author chy
+ * @date 2024/5/31 09:46
+ * @desc
+ */
+public interface AnalysisConstants {
+
+    /**
+     * 鍒嗘瀽绫诲瀷鐖惰妭鐐筴ey灞炴€у悕
+     */
+    String ANALYSIS_TYPE_PARRENT_KEY = "parentId";
+
+    /**
+     * 鍒嗘瀽绫诲瀷鑺傜偣key灞炴€у悕
+     */
+    String ANALYSIS_TYPE_KEY = "id";
+
+    /**
+     * 绠楁硶鏈嶅姟鍣ㄦ暟閲?
+     */
+     int SERVER_MERCHINE_COUNT = 3;
+
+    /**
+     * 鑷姩鍒嗘瀽鏍囪瘑
+     */
+    String AUTO_ANALYSIS = "automatic";
+
+    /**
+     * 鎵嬪姩鍒嗘瀽鏍囪瘑
+     */
+    String MANUAL_ANALYSIS = "manual";
+
+    /**
+     * 鍒嗘瀽绫诲瀷涓暟鎹簮灞炴€у悕绉?
+     */
+    String SCADA = "scada";
+
+    /**
+     * 鏈夊姛鍔熺巼杞寸郴璁剧疆
+     */
+    List<Double> ACTIVITY_POWER = Arrays.asList(250.0, 0.0,2000.0);
+
+    /**
+     * 璺緞鍒嗛殧绗?
+     */
+    String PATH_SEPARATOR = "/";
+
+
+    /**
+     * 鏀剧疆minio 鏂囦欢涓嬭浇鐨勭洰褰?
+     */
+    String FILE_DIR = "file";
+
+
+    /**
+     * 鏀剧疆minio 鏂囦欢涓嬭浇鐨勭洰褰?
+     */
+    String ZIP_DIR = "zip";
+
+
+    /**
+     * 鏀剧疆minio 鏂囦欢涓嬭浇鐨勭洰褰?
+     */
+    String ZIP_SUFFIX = ".zip";
+
+
+    String IMAGE_SUFFIX = ".png";
+
+    /**
+     * 宸叉墽琛岀姸鎬?鎴栧紑鍚姸鎬?
+     */
+    Integer ON_CALL = 1;
+
+    /**
+     * 鑷姩鍒嗘瀽鏍囪瘑
+     */
+    Integer ANALYSIS_AUTO = 1;
+
+    /**
+     * 鍒嗛挓绾?
+     */
+    String MINUTE = "minute";
+
+    /**
+     * 绉掔骇
+     */
+    String SECEND = "second";
+
+    /**
+     * 瀛楃鍒嗛殧绗?
+     */
+    String CHAR_SEPARATOR = "|";
+
+
+    /**
+     * 瀛楃鍒嗛殧绗?杞箟绗?
+     */
+    String CHAR_ESCAPE_SEPARATOR = "\\|";
+
+    /**
+     * 鑷姩涓婚
+     */
+    String AUTO_ANALYSIS_NAME = "鑷姩鍒嗘瀽";
+
+}

+ 31 - 0
energy-manage-common/src/main/java/com/energy/manage/common/constant/analysis/AnalysisStatusConstants.java

@@ -0,0 +1,31 @@
+package com.energy.manage.common.constant.analysis;
+
+/**
+ * 鍒嗘瀽鐘舵€佺被
+ * @author chy
+ * @date 2024/7/22 10:10
+ * @desc
+ */
+public interface AnalysisStatusConstants {
+
+    /**
+     * 鏈垎鏋愮姸鎬?
+     */
+    Integer NO_ANALYSISED_STATE = -1;
+
+    /**
+     * 鎺掗槦涓?
+     */
+    Integer ANALYSIS_QUEUE_STATE = 10;
+
+    /**
+     * 鍒嗘瀽涓姸鎬?
+     */
+    Integer ANALYSISING_STATE = 20;
+
+    /**
+     * 鍒嗘瀽瀹屾垚鐘舵€?
+     */
+    Integer ANALYSISED_STATE = 30;
+
+}

+ 89 - 0
energy-manage-common/src/main/java/com/energy/manage/common/property/analysis/AlgorithmProperties.java

@@ -0,0 +1,89 @@
+package com.energy.manage.common.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;
+
+/**
+ * 绠楁硶灞炴€у€?
+ * @author chy
+ * @date 2024/5/30 17:37
+ * @desc
+ */
+@Data
+@Component
+@RefreshScope
+public class AlgorithmProperties {
+
+    /**
+     * 绠楁硶鍦板潃
+     */
+    @Value("${analysis.url}")
+    public String analysisUrl;
+
+    /**
+     * 浼犵粰鍒嗘瀽绠楁硶json
+     */
+    @Value("${analysis.algorithm.json}")
+    public String analysisAlgorithmJson;
+
+    /**
+     * 鍒嗘瀽绫诲瀷json
+     */
+    @Value("${analysis.type.json}")
+    public String analysisTypeJson;
+
+    /**
+     * 鍥惧儚璁剧疆鍙傛暟灞炴€?
+     */
+    @Value("${graphSets.properties}")
+    public List<String> graphSetsProperties;
+
+    /**
+     * scada 鏁版嵁杩囨护灞炴€?
+     */
+    @Value("${customFilter.properties}")
+    public List<String> customFilterProperties;
+
+    /**
+     * 鍒嗘瀽绫诲瀷灞炴€?
+     */
+    @Value("${analysis.properties.name}")
+    public String configAnalysisProperties;
+
+    /**
+     * 鍔熺巼鍥犳暟
+     */
+    @Value("${power.factor.rated}")
+    public String powerFactorRated;
+
+
+    /**
+     * 绠楁硶json涓棤瀛愯妭鐐规暟缁?
+     */
+    @Value("${analysis.array.properties}")
+    public List<String> analysisArrayProperties;
+
+    /**
+     * 鍒嗘瀽鏂囦欢鍐呯綉鍦板潃
+     */
+    @Value("${analysis.file.intranet.addr}")
+    public String analysisFileIntranetAddr;
+
+    /**
+     * 鍒嗘瀽鏂囦欢澶栫綉鍦板潃
+     */
+    @Value("${analysis.file.external.addr}")
+    public String analysisFileExternalAddr;
+
+    /**
+     * 鏇挎崲鍒嗘瀽缁撴灉鏂囦欢璺緞涓殑鎵嬪姩銆佽嚜鍔ㄧ墖娈?
+     *character
+     */
+    @Value("${analysis.file.replace.str}")
+    public List<String> analysisFileReplaceStr;
+
+}

+ 21 - 0
energy-manage-common/src/main/java/com/energy/manage/common/service/cache/CacheService.java

@@ -0,0 +1,21 @@
+package com.energy.manage.common.service.cache;
+
+public interface CacheService {
+
+
+    boolean add(String key, String value);
+
+    boolean exists(String key);
+
+    String get(String key);
+
+    void setEx(String key, long expire, String value);
+
+    void updateExpire(String key, long expire);
+
+    void delete(String key);
+
+    Long incr(String key);
+
+    Long incrBy(String key,long value);
+}

+ 104 - 0
energy-manage-common/src/main/java/com/energy/manage/common/service/cache/impl/CacheServiceImpl.java

@@ -0,0 +1,104 @@
+package com.energy.manage.common.service.cache.impl;
+
+
+import com.energy.manage.common.service.cache.CacheService;
+import lombok.extern.java.Log;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisCallback;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.Objects;
+
+@Service
+@Log
+public class CacheServiceImpl implements CacheService {
+
+    @Autowired
+    protected RedisTemplate<String, Object> redisTemplate;
+
+
+    @Override
+    public boolean add(String key, String value) {
+
+
+        return Boolean.TRUE.equals(redisTemplate.execute(
+                (RedisCallback<Boolean>) connection -> connection.set(
+                        redisTemplate.getStringSerializer().serialize(key), redisTemplate.getStringSerializer().serialize(value))));
+    }
+
+    @Override
+    public boolean exists(String key) {
+
+
+        return Boolean.TRUE.equals(redisTemplate.execute(
+                (RedisCallback<Boolean>) connection -> connection.exists(Objects.requireNonNull(redisTemplate.getStringSerializer().serialize(key)))));
+    }
+
+    @Override
+    public String get(String key) {
+
+        String cacheValue = redisTemplate.execute(
+                (RedisCallback<String>) connection -> {
+                    byte[] keyByte = redisTemplate.getStringSerializer().serialize(key);
+                    if (Boolean.TRUE.equals(connection.exists(keyByte))) {
+                        byte[] value = connection.get(keyByte);
+                        return redisTemplate.getStringSerializer().deserialize(value);
+                    }
+                    return null;
+                });
+
+        return cacheValue;
+    }
+
+    @Override
+    public void setEx(String key, long expire, String value) {
+
+        redisTemplate.execute(
+                (RedisCallback<Object>) connection -> {
+                    connection.setEx(Objects.requireNonNull(redisTemplate.getStringSerializer().serialize(key)), expire,
+                            Objects.requireNonNull(redisTemplate.getStringSerializer().serialize(value)));
+                    return null;
+                });
+
+    }
+
+    @Override
+    public void updateExpire(String key, long expire) {
+
+        redisTemplate.execute(
+                (RedisCallback<Object>) connection -> {
+                    connection.expire(Objects.requireNonNull(redisTemplate.getStringSerializer().serialize(key)), expire);
+                    return null;
+                });
+    }
+
+    @Override
+    public void delete(String key) {
+
+        redisTemplate.execute(
+                (RedisCallback<Object>) connection -> {
+                    connection.del(redisTemplate.getStringSerializer().serialize(key));
+                    return null;
+                });
+
+    }
+
+    @Override
+    public Long incr(String key) {
+
+        return redisTemplate.execute(
+                (RedisCallback<Long>) connection -> connection.incr(redisTemplate.getStringSerializer().serialize(key)));
+
+    }
+
+    @Override
+    public Long incrBy(String key,long value) {
+
+        return redisTemplate.execute(
+                (RedisCallback<Long>) connection -> connection.incrBy(redisTemplate.getStringSerializer().serialize(key),value));
+
+    }
+
+
+}