From d0451fdd55195901e65e5c4b3b64028a86f9e669 Mon Sep 17 00:00:00 2001
From: kimi42345 <kimi42345@outlook.com>
Date: 星期日, 22 三月 2020 22:10:54 +0800
Subject: [PATCH] no message

---
 src/main/java/com/highdatas/mdm/util/DbUtils.java |   85 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 83 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/util/DbUtils.java b/src/main/java/com/highdatas/mdm/util/DbUtils.java
index 68763f1..530e074 100644
--- a/src/main/java/com/highdatas/mdm/util/DbUtils.java
+++ b/src/main/java/com/highdatas/mdm/util/DbUtils.java
@@ -3,6 +3,7 @@
 
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.highdatas.mdm.entity.Maintain;
+import com.highdatas.mdm.entity.MaintainField;
 import com.highdatas.mdm.entity.TableSchemaResult;
 import com.highdatas.mdm.pojo.Segment;
 import lombok.extern.slf4j.Slf4j;
@@ -10,9 +11,11 @@
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
+import java.security.MessageDigest;
 import java.text.MessageFormat;
-import java.util.Random;
-import java.util.UUID;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @author kimi
@@ -22,6 +25,7 @@
 
 @Slf4j
 public class DbUtils {
+    private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
 
     public static String versionAddSub (String baseVersion) {
         if (StringUtils.isEmpty(baseVersion)) {
@@ -42,6 +46,12 @@
             return null;
         }
        return  baseVersion.getOrderNo().compareTo(compareVersion.getOrderNo());
+    }
+    public static Integer compareVersion(MaintainField baseVersion, MaintainField compareVersion) {
+        if ((baseVersion == null) || (compareVersion == null)) {
+            return null;
+        }
+        return  baseVersion.getOrderNo().compareTo(compareVersion.getOrderNo());
     }
 
     public static String versionAddBig(String baseVersion) {
@@ -97,6 +107,7 @@
         Segment segment = new Segment(name, value);
         return segment.toString();
     }
+
     public static String getTableNameFromEntity(Object object) {
         Field[] fields = object.getClass().getDeclaredFields();
         for (Field field : fields) {
@@ -191,6 +202,15 @@
         }
         return builder.toString();
     }
+
+    public static String assemblParam(String objects){
+        if (StringUtils.isEmpty(objects)) {
+            return null;
+        }else  {
+            return  "@{" + objects + "}";
+        }
+
+    }
     public static String getRandomString(int length) {
         Random random = new Random();
         StringBuffer sb = new StringBuffer();
@@ -234,4 +254,65 @@
         }
         return sbf.toString();
     }
+
+
+    public static Set<String> matcher(String testStr) {
+        return matcher(Constant.Default_Patter, testStr);
+    }
+
+    public static String replaceEscape(String testStr) {
+        String new_str = Pattern.compile("\t|\r|\n| ").matcher(testStr).replaceAll(Constant.EMPTY);
+        return new_str;
+    }
+
+    public static Set<String> matcher(String patter, String testStr) {
+//		String test = "@{databaseIp}:{databasePort}{instanceName};database";
+//		String initCompile = "(?<=@\\{)(.+?)(?=\\})";
+
+        Set<String> ls=new HashSet<>();
+
+        Pattern pattern = Pattern.compile(patter);
+        Matcher matcher = pattern.matcher(testStr);
+
+        while(matcher.find()){
+
+            ls.add(matcher.group());
+
+        }
+        return ls;
+    }
+
+
+
+
+    private static String toHexString(byte[] b) {
+        StringBuilder sb = new StringBuilder(b.length * 2);
+        for (int i = 0; i < b.length; i++) {
+            sb.append(HEX_DIGITS[(b[i] & 0xf0) >>> 4]);
+            sb.append(HEX_DIGITS[b[i] & 0x0f]);
+        }
+        return sb.toString();
+    }
+
+    public static String Bit32(String SourceString) throws Exception {
+        MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
+        digest.update(SourceString.getBytes());
+        byte messageDigest[] = digest.digest();
+        return toHexString(messageDigest);
+    }
+
+    public static String Bit16(String SourceString) throws Exception {
+        return Bit32(SourceString).substring(8, 24);
+    }
+
+    public static List<Segment> map2Segment(Map<String, String> masterModifiedMap) {
+        ArrayList<Segment> result = new ArrayList<>();
+        Set<String> keys = masterModifiedMap.keySet();
+        for (String key : keys) {
+            String value = masterModifiedMap.get(key);
+            Segment segment = new Segment(key, value);
+            result.add(segment);
+        }
+        return result;
+    }
 }

--
Gitblit v1.8.0