Bladeren bron

Merge remote-tracking branch 'origin/master'

dsx 2 jaren geleden
bovenliggende
commit
aecbf1d90c

+ 21 - 0
4dkankan-utils-reg/src/main/java/com/fdkankan/reg/EnvType.java

@@ -0,0 +1,21 @@
+package com.fdkankan.reg;
+
+/**
+ * 标识系统部署环境是国内服还是国际服
+ */
+public enum EnvType {
+
+    PROD( "PROD"),
+    UAT( "UAT");
+
+    private String env;
+
+    private EnvType(String env) {
+        this.env = env;
+    }
+
+    public String env() {
+        return env;
+    }
+
+}

+ 53 - 21
4dkankan-utils-reg/src/main/java/com/fdkankan/reg/RegCodeUtil.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONObject;
 import com.fdkankan.reg.dto.CamRegDto;
 import com.fdkankan.reg.dto.CamRegSDto;
 import com.fdkankan.reg.dto.MachineRegDto;
+import lombok.Builder;
 import lombok.extern.slf4j.Slf4j;
 import java.util.ArrayList;
 import java.util.List;
@@ -15,8 +16,12 @@ import cn.hutool.core.util.ObjUtil;
  * @date 2023/7/6
  */
 @Slf4j
+@Builder
 public class RegCodeUtil {
 
+    private String env;
+
+
     /***
      * @description:生成安装码
      * @author: Xiewj
@@ -24,8 +29,8 @@ public class RegCodeUtil {
      * @param:  machineCode 机器码
      * @return:
      **/
-    public static String GenRegeditCode(String machineCode){
-        String s = Crypt.encryptAES(machineCode.trim(), true);
+    public  String GenRegeditCode(String machineCode){
+        String s = Crypt.encryptAES(machineCode.trim()+"##"+this.env, true);
         log.info("安装注册码:{}",s);
         return s;
     }
@@ -37,7 +42,7 @@ public class RegCodeUtil {
      * @param:  plaintext 需要加密的字符串 [{"SN": "SN000001", "TOSN": "", "OPTION": "ADD"}]
      * @return:
      **/
-    public static String GenRegeditCamCode(String plaintext){
+    public  String GenRegeditCamCode(String plaintext){
         String s = Crypt.encryptAES(plaintext.trim(), true);
         log.info("相机注册码:{}",s);
         log.info("相机注册码原始长度:{}",s.length());
@@ -54,7 +59,7 @@ public class RegCodeUtil {
      * @param:  plaintext 需要转换成对象的字符串
      * @return:
      **/
-    public static MachineRegDto ParseMachineCode(String plaintext){
+    public  MachineRegDto ParseMachineCode(String plaintext){
         try {
             String source = Crypt.decryptAES(plaintext.trim(), true);
             log.info("相机注册码解密:{}",source);
@@ -72,7 +77,7 @@ public class RegCodeUtil {
 //     * @param:  plaintext 需要转换成对象的字符串
 //     * @return:
 //     **/
-//    public static CamRegDto ParseRegeditCamCode(String machineCode , String plaintext){
+//    public  CamRegDto ParseRegeditCamCode(String machineCode , String plaintext){
 //        try {
 //            //解压
 //            String code = DeflaterUtil.unzipString(plaintext);
@@ -97,7 +102,8 @@ public class RegCodeUtil {
      * @param:  plaintext 需要加密的字符串 [{"SN": "SN000001", "TOSN": ""},{"SN": "SN000001", "TOSN": ""}]
      * @return:
      **/
-    public static String batchGenRegeditCamCode( CamRegSDto dtos){
+    public  String batchGenRegeditCamCode( CamRegSDto dtos){
+        dtos.setEnv(env);
         String camCode = GenRegeditCamCode(JSONObject.toJSONString(dtos).toString());
         return camCode;
     }
@@ -108,14 +114,21 @@ public class RegCodeUtil {
      * @param:  plaintext 需要转换成对象的字符串
      * @return:
      **/
-    public static CamRegSDto BatchParseRegeditCamCode(String machineCode,String plaintext){
+    public  CamRegSDto BatchParseRegeditCamCode(String machineCode,String plaintext){
         try {
+            String trim=plaintext.trim();
+            if (trim.contains(" ")||trim.length()<=3){
+                throw new RuntimeException("校验失败");
+            }
             //解压
-            String code = DeflaterUtil.unzipString(plaintext.trim());
+            String code = DeflaterUtil.unzipString(trim);
             log.info("批量生成相机码解压:{}",code);
             String source = Crypt.decryptAES(code, true);
             CamRegSDto t = JSON.toJavaObject(JSONObject.parseObject(source) , CamRegSDto.class);
-            if (ObjUtil.isNotNull(t.getMachineCode()) && !t.getMachineCode().equals(machineCode.trim())){
+            if (!env.equals(t.getEnv())){
+                throw new RuntimeException("环境比对失败");
+            }
+            if (ObjUtil.isNotNull(t.getMachineCode()) && !t.getMachineCode().equals(machineCode.trim()) ){
                 throw new RuntimeException("校验失败");
             }
             return t;
@@ -124,17 +137,19 @@ public class RegCodeUtil {
             throw new RuntimeException("校验失败");
         }
     }
-    public static void main(String[] args) {
-        String machineCode="E4E73A8EB46B8EA252B9C1B34048F60679FB345BC6F233A8369E355828B68F69FDAB2150B286C0E0A397D960183716F8BF4C8B086D4C5BB5D1243CB9AA924B6B8A0ED22ED413BD27681CE5C36198EBF7FE06E75CD444B46A7721E2462DD234EB6B5B780F1FB9CF3C26C3ED4DB7B08B20";
+    public static  void main(String[] args) {
+        RegCodeUtil uat = RegCodeUtil.builder().env("UAT").build();
+
+        String machineCode="8CA4224EB41BE3AD8998415EA0460F39845AC74625B3158A84AD18CEAC5FD6F4500CCC34309F7045F726AA6968F908C9";
 
 
         //读取机器码
-        MachineRegDto machineRegDto = ParseMachineCode(machineCode);
+        MachineRegDto machineRegDto = uat.ParseMachineCode(machineCode);
         System.out.println(machineRegDto);
 
 
         //生成安装注册码
-        String s = GenRegeditCode(machineCode);
+        String s = uat.GenRegeditCode(machineCode);
 
 //        CamRegDto camRegDto1=new CamRegDto();
 //        camRegDto1.setSn("00000001");
@@ -147,21 +162,38 @@ public class RegCodeUtil {
 
         List<CamRegDto> list=new ArrayList<>();
 
-        CamRegDto camRegDto=new CamRegDto();
-        camRegDto.setSn("810D669S0");
-        camRegDto.setCameraType(9);
-        camRegDto.setToSn("00000003");
-        list.add(camRegDto);
+//        CamRegDto camRegDto=new CamRegDto();
+////        camRegDto.setSn("dvt000007");
+////        camRegDto.setToSn("90d95cdb5");
+////        camRegDto.setToSn("dvt000007");
+//        camRegDto.setSn("a0ia7r137");
+//        camRegDto.setCameraType(9);
+
+//        CamRegDto camRegDto=new CamRegDto();
+//        camRegDto.setSn("a123456789");
+//        camRegDto.setCameraType(10);
+//        list.add(camRegDto);
+
+
+        CamRegDto camRegDto1=new CamRegDto();
+        camRegDto1.setSn("902ce60f5");
+//        camRegDto1.setToSn("c123456789");
+        camRegDto1.setCameraType(9);
+
+        list.add(camRegDto1);
 
 
         CamRegSDto CamReg=new CamRegSDto();
         CamReg.setMachineCode(machineCode);
         CamReg.setCamRegs(list);
-
-        String camCode1 = batchGenRegeditCamCode( CamReg);
+        String camCode1 = uat.batchGenRegeditCamCode( CamReg);
 
 //        List<CamRegDto> list1 = BatchParseRegeditCamCode(machineCode+"a",camCode1);
-        CamRegSDto list1 = BatchParseRegeditCamCode(machineCode,camCode1);
+        CamRegSDto list1 = uat.BatchParseRegeditCamCode(machineCode,camCode1);
+
+
+
+
         log.info("结束");
     }
 

+ 2 - 1
4dkankan-utils-reg/src/main/java/com/fdkankan/reg/dto/CamRegSDto.java

@@ -1,5 +1,6 @@
 package com.fdkankan.reg.dto;
 
+import com.fdkankan.reg.EnvType;
 import lombok.Data;
 
 import java.util.List;
@@ -11,7 +12,7 @@ import java.util.List;
 public class CamRegSDto {
     private String machineCode;
     private Long timestamp=System.currentTimeMillis();
-
+    private String env;
     List<CamRegDto> camRegs;
 
 }

+ 0 - 1
4dkankan-utils-reg/src/main/java/com/fdkankan/reg/dto/MachineRegDto.java

@@ -8,6 +8,5 @@ import lombok.Data;
 @Data
 public class MachineRegDto {
     private String uuid;
-    private String computerName;
 
 }