dengsixing 1 jaar geleden
bovenliggende
commit
5e7e493559

+ 15 - 2
4dkankan-common-web/src/main/java/com/fdkankan/web/response/BaseResponseAdvice.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.web.annotation.NotResponseAdvice;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.core.MethodParameter;
 import org.springframework.http.MediaType;
@@ -20,6 +21,10 @@ import java.util.Objects;
 @RestControllerAdvice
 @Slf4j
 public class BaseResponseAdvice implements ResponseBodyAdvice<Object> {
+
+    @Value("${language:zh_CN}")
+    private String language;
+
     @Override
     public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) {
         NotResponseAdvice methodAnnotation = methodParameter.getMethodAnnotation(NotResponseAdvice.class);
@@ -49,10 +54,18 @@ public class BaseResponseAdvice implements ResponseBodyAdvice<Object> {
             return JSONObject.toJSONString(ResultData.ok(body));
         }
         if (body instanceof ResultData) {
-            return body;
+            return getI18n((ResultData) body);
         } else {
-            return ResultData.ok(body);
+            return getI18n(ResultData.ok(body));
+        }
+    }
+
+    private ResultData getI18n(ResultData data){
+        if("zh_CN".equals(language)){
+           return data;
         }
+        data.setMessage(null);
+        return data;
     }
 
 }

+ 30 - 4
4dkankan-utils-model/src/main/java/com/fdkankan/model/utils/CreateObjUtil.java

@@ -1,5 +1,6 @@
 package com.fdkankan.model.utils;
 
+import cn.hutool.core.io.FileUtil;
 import com.fdkankan.model.constants.ConstantCmd;
 import com.fdkankan.model.constants.ConstantFileName;
 import com.fdkankan.model.constants.ConstantFilePath;
@@ -11,9 +12,8 @@ import com.google.protobuf.TextFormat;
 import lombok.extern.slf4j.Slf4j;
 
 import java.io.*;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+
 import lombok.extern.slf4j.Slf4j;
 
 @Slf4j
@@ -98,6 +98,13 @@ public class CreateObjUtil {
 		log.info("计算v2完毕:" + command);
 	}
 
+	public static void killMainLoader(){
+		log.info("开始杀掉算法进程");
+		String command = "ps -ef | grep 'MainLoader.exe' | grep -v grep | awk '{print $2}' | xargs kill -9";
+		callshell(command);
+		log.info("开始杀掉算法完毕");
+	}
+
 	//开始建模
 	public static void translateHoustfloorJSONFile(String filePath,String outputPath) throws Exception{
 		log.info("开始转换houst_floor.json");
@@ -690,7 +697,26 @@ public class CreateObjUtil {
 	}
 
 	public static void main(String[] args) throws Exception {
-		CreateObjUtil.convertVisionmodeldataToTxtCommon("D:\\test\\vision.modeldata", "D:\\test\\vision.txt");
+
+		List<File> zipList = new ArrayList<>();
+		zipList.addAll(FileUtil.loopFiles("E:\\20240112"));
+		zipList.addAll(FileUtil.loopFiles("E:\\20240113"));
+		zipList.addAll(FileUtil.loopFiles("E:\\20240115"));
+		zipList.addAll(FileUtil.loopFiles("E:\\20240116"));
+		zipList.addAll(FileUtil.loopFiles("E:\\20240117"));
+		zipList.addAll(FileUtil.loopFiles("E:\\20240118"));
+		zipList.addAll(FileUtil.loopFiles("E:\\20240119"));
+		zipList.addAll(FileUtil.loopFiles("E:\\20240130"));
+		Set<String> numList = new HashSet<>();
+		zipList.stream().forEach(file -> {
+			String str = file.getName();
+			numList.add(str.substring(0, str.lastIndexOf(".")));
+		});
+		for (String num : numList) {
+			FileUtil.appendUtf8String(num + "\n", "E:\\num.txt");
+		}
+
+
 
 	}
 

+ 6 - 0
4dkankan-utils-rubber-sheeting/pom.xml

@@ -45,6 +45,12 @@
             <version>3.1.322</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.aliyun</groupId>
+            <artifactId>aliyun-java-sdk-ecs</artifactId>
+            <version>4.19.9</version>
+        </dependency>
+
     </dependencies>
 
 </project>

+ 43 - 28
4dkankan-utils-rubber-sheeting/src/main/java/com/fdkankan/rubbersheeting/AliYunScalingService.java

@@ -8,7 +8,6 @@ import org.springframework.stereotype.Component;
 
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
-import java.beans.ConstructorProperties;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
@@ -23,19 +22,27 @@ import java.util.*;
 public class AliYunScalingService implements ScalingService{
 
     @Value("${scaling.group.id}")
-    private String ScalingGroupId;
+    private String scalingGroupId;
 
     @Value("${scaling.rule.ari}")
-    private String ScalingRuleAri;
+    private String scalingRuleAri;
 
-    private static String AccessKeyId = "LTAI4GKZQBM1zZZZBJK7nGjR";
+    @Value("${scaling.accessKeyId:#{null}}")
+    private String accessKeyId;
+
+    @Value("${scaling.accessKeySecret:#{null}}")
+    private String accessKeySecret;
+
+    public static void main(String[] args) {
+        Float maxRate = new Float(41.42);
+        System.out.println(maxRate > 42);
+    }
 
     private String sign(String action, Map<String, String> parameters) throws Exception{
         final String HTTP_METHOD = "GET";
 
         final String ALGORITHM = "HmacSHA1";
         final String ENCODING = "UTF-8";
-        String keySecret = "bo1ura8KODXASVyZ5fofy0fWFILumz&";
 
         // 对参数进行排序
         String[] sortedKeys = parameters.keySet().toArray(new String[]{});
@@ -58,7 +65,7 @@ public class AliYunScalingService implements ScalingService{
         stringToSign.append(percentEncode(canonicalizedQueryString.toString().substring(1)));
 
         Mac mac = Mac.getInstance(ALGORITHM);
-        mac.init(new SecretKeySpec(keySecret.getBytes(ENCODING), ALGORITHM));
+        mac.init(new SecretKeySpec(accessKeySecret.getBytes(ENCODING), ALGORITHM));
         byte[] signData = mac.doFinal(stringToSign.toString().getBytes(ENCODING));
 
         String signature = new String(org.apache.commons.codec.binary.Base64.encodeBase64(signData));
@@ -80,25 +87,33 @@ public class AliYunScalingService implements ScalingService{
 
     @Override
     public String createEcs(){
-        Map<String,String> configs = new HashMap<>(2);
-        configs.put("ruleAri",ScalingRuleAri);
-        return createEcsByConfig(configs);
+        return this.createEcs(scalingRuleAri);
+    }
+
+    @Override
+    public String createEcs(String ruleAri) {
+        return this.createEcsByConfig(ruleAri);
     }
 
     @Override
     public String createEcsByConfig(Map<String, String> configs) {
         String ruleAri = configs.get("ruleAri");
-        try {
+        return this.createEcsByConfig(ruleAri);
+    }
 
+    @Override
+    public String createEcsByConfig(String ruleAri) {
+        StringBuffer parameterBuffer = new StringBuffer();
+        try {
             boolean tag = true;
             Map<String, String> parameters = null;
             while (tag){
-                parameters = new HashMap<String, String>();
+                parameters = new HashMap();
                 // 加入请求参数
                 parameters.put("Action", "ExecuteScalingRule");
                 parameters.put("ScalingRuleAri", ruleAri);
                 parameters.put("Version", "2014-08-28");
-                parameters.put("AccessKeyId", AccessKeyId);
+                parameters.put("AccessKeyId", accessKeyId);
                 parameters.put("Timestamp", formatIso8601Date(new Date()));
                 parameters.put("SignatureMethod", "HMAC-SHA1");
                 parameters.put("SignatureVersion", "1.0");
@@ -106,15 +121,12 @@ public class AliYunScalingService implements ScalingService{
                 parameters.put("Format", "JSON");
 
                 String signature = sign("AttachInstances", parameters);
-                System.out.println(signature);
                 if(!signature.contains("+") && !signature.contains("/")){
                     tag = false;
                 }
                 parameters.put("Signature", signature);
             }
 
-
-            StringBuffer parameterBuffer = new StringBuffer();
             if (parameters != null) {
                 Iterator iterator = parameters.keySet().iterator();
                 String key = null;
@@ -122,7 +134,7 @@ public class AliYunScalingService implements ScalingService{
                 while (iterator.hasNext()) {
                     key = (String) iterator.next();
                     if (parameters.get(key) != null) {
-                        value = (String) parameters.get(key);
+                        value = parameters.get(key);
                     } else {
                         value = "";
                     }
@@ -133,9 +145,9 @@ public class AliYunScalingService implements ScalingService{
                     }
                 }
             }
-            return OkHttpUtils.httpGet("http://ess.aliyuncs.com?" + parameterBuffer.toString());
+            return OkHttpUtils.httpGet("http://ess.aliyuncs.com?" + parameterBuffer);
         }catch (Exception e){
-            e.printStackTrace();
+            log.error("启动弹性伸缩异常,url:{}", "http://ess.aliyuncs.com?" + parameterBuffer);
         }
 
         return null;
@@ -143,17 +155,23 @@ public class AliYunScalingService implements ScalingService{
 
     @Override
     public  String deleteEcs(String id){
+        return this.deleteEcs(scalingGroupId, id);
+    }
+
+    @Override
+    public  String deleteEcs(String groupId, String instanceId){
+        StringBuffer parameterBuffer = new StringBuffer();
         try {
             boolean tag = true;
             Map<String, String> parameters = null;
             while (tag){
-                parameters = new HashMap<String, String>();
+                parameters = new HashMap();
                 // 加入请求参数
                 parameters.put("Action", "RemoveInstances");
-                parameters.put("InstanceId.1", id);
-                parameters.put("ScalingGroupId", ScalingGroupId);
+                parameters.put("InstanceId.1", instanceId);
+                parameters.put("ScalingGroupId", groupId);
                 parameters.put("Version", "2014-08-28");
-                parameters.put("AccessKeyId", AccessKeyId);
+                parameters.put("AccessKeyId", accessKeyId);
                 parameters.put("Timestamp", formatIso8601Date(new Date()));
                 parameters.put("SignatureMethod", "HMAC-SHA1");
                 parameters.put("SignatureVersion", "1.0");
@@ -161,14 +179,12 @@ public class AliYunScalingService implements ScalingService{
                 parameters.put("Format", "JSON");
 
                 String signature = sign("AttachInstances", parameters);
-//            System.out.println(signature);
                 if(!signature.contains("+") && !signature.contains("/")){
                     tag = false;
                 }
                 parameters.put("Signature", signature);
             }
 
-            StringBuffer parameterBuffer = new StringBuffer();
             if (parameters != null) {
                 Iterator iterator = parameters.keySet().iterator();
                 String key = null;
@@ -176,7 +192,7 @@ public class AliYunScalingService implements ScalingService{
                 while (iterator.hasNext()) {
                     key = (String) iterator.next();
                     if (parameters.get(key) != null) {
-                        value = (String) parameters.get(key);
+                        value = parameters.get(key);
                     } else {
                         value = "";
                     }
@@ -187,10 +203,9 @@ public class AliYunScalingService implements ScalingService{
                     }
                 }
             }
-//            System.out.println("POST parameter : " + parameterBuffer.toString());
-            return OkHttpUtils.httpGet("http://ess.aliyuncs.com?" + parameterBuffer.toString());
+            return OkHttpUtils.httpGet("http://ess.aliyuncs.com?" + parameterBuffer);
         }catch (Exception e){
-            e.printStackTrace();
+            log.error("启动弹性伸缩异常,url:{}", "http://ess.aliyuncs.com?" + parameterBuffer);
         }
         return null;
     }

+ 14 - 0
4dkankan-utils-rubber-sheeting/src/main/java/com/fdkankan/rubbersheeting/AwsScalingService.java

@@ -36,6 +36,16 @@ public class AwsScalingService implements ScalingService{
         return null;
     }
 
+    @Override
+    public String createEcs(String ruleAri) {
+        return null;
+    }
+
+    @Override
+    public String createEcsByConfig(String ruleAri) {
+        return null;
+    }
+
 
     @Override
     public String deleteEcs(String id){
@@ -47,4 +57,8 @@ public class AwsScalingService implements ScalingService{
         return null;
     }
 
+    @Override
+    public String deleteEcs(String groupId, String instanceId) {
+        return null;
+    }
 }

+ 8 - 0
4dkankan-utils-rubber-sheeting/src/main/java/com/fdkankan/rubbersheeting/ScalingService.java

@@ -10,5 +10,13 @@ public interface ScalingService {
 
     String createEcsByConfig(Map<String,String> configs);
 
+    String createEcs(String ruleAri);
+
+    String createEcsByConfig(String ruleAri);
+
     String deleteEcs(String id);
+
+    String deleteEcs(String groupId, String instanceId);
 }
+
+

+ 16 - 4
4dkankan-utils-rubber-sheeting/src/main/java/com/fdkankan/rubbersheeting/TencentScalingService.java

@@ -14,9 +14,6 @@ import org.springframework.stereotype.Component;
 
 import java.util.Map;
 
-/**
- * Created by Hb_zzZ on 2020/8/25.
- */
 @Slf4j
 @Component
 @ConditionalOnProperty(name = "scaling.type",havingValue = "tencent")
@@ -55,11 +52,23 @@ public class TencentScalingService implements ScalingService{
     }
 
     @Override
+    public String createEcs(String ruleAri) {
+        return null;
+    }
+
+    @Override
     public String createEcsByConfig(Map<String, String> configs) {
         return null;
     }
 
 
+
+    @Override
+    public String createEcsByConfig(String ruleAri) {
+        return null;
+    }
+
+
     @Override
     public  String deleteEcs(String id){
         AsClient asClient = this.getAsClient();
@@ -77,5 +86,8 @@ public class TencentScalingService implements ScalingService{
         return StopAutoScalingInstancesResponse.toJsonString(response);
     }
 
-
+    @Override
+    public String deleteEcs(String groupId, String instanceId) {
+        return null;
+    }
 }