From 74472c9d22dddcb41383794caf0011043b20f817 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期二, 31 三月 2020 13:25:47 +0800
Subject: [PATCH] fix  数据权限

---
 src/main/java/com/highdatas/mdm/util/DbUtils.java |  140 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 138 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 115281f..573e654 100644
--- a/src/main/java/com/highdatas/mdm/util/DbUtils.java
+++ b/src/main/java/com/highdatas/mdm/util/DbUtils.java
@@ -3,16 +3,21 @@
 
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.highdatas.mdm.entity.Maintain;
+import com.highdatas.mdm.entity.MaintainField;
+import com.highdatas.mdm.entity.TUser;
 import com.highdatas.mdm.entity.TableSchemaResult;
 import com.highdatas.mdm.pojo.Segment;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 
+import javax.servlet.http.HttpServletRequest;
 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 +27,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 +48,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) {
@@ -88,11 +100,16 @@
         String id = UUID.randomUUID().toString().replaceAll("-", "");
         return id;
     }
+    public static String getUUID(int i)  {
+        String id = UUID.randomUUID().toString().replaceAll("-", "").substring(0, i);
+        return id;
+    }
 
     public static String combieOneSegment(String name, String value) {
         Segment segment = new Segment(name, value);
         return segment.toString();
     }
+
     public static String getTableNameFromEntity(Object object) {
         Field[] fields = object.getClass().getDeclaredFields();
         for (Field field : fields) {
@@ -187,6 +204,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();
@@ -213,4 +239,114 @@
     public static int getOrderNoAdd(int orderNo) {
         return orderNo + 1;
     }
+
+    public static final String getChineseOrEnglishOrNumber(String str) {
+        StringBuffer sbf = new StringBuffer();
+        char[] charArray = str.toCharArray();
+        for (int i = 0; i < charArray.length; i++) {
+            if ((charArray[i] >= 0x4e00) && (charArray[i] <= 0x9fbb)) {
+                sbf.append(charArray[i]);
+            }
+            if ((charArray[i] >= 65) && (charArray[i] <= 122)) {
+                sbf.append(charArray[i]);
+            }
+            if (str.charAt(i) >= 48 && str.charAt(i) <= 57) {
+                sbf.append(charArray[i]);
+            }
+        }
+        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;
+    }
+
+    public static String getFieldRedisKey(String tableName, String field) {
+        if (StringUtils.isEmpty(tableName) && StringUtils.isEmpty(field)) {
+            return null;
+        }else if (StringUtils.isEmpty(field)){
+            return tableName;
+        }else if (StringUtils.isEmpty(tableName)){
+            return field;
+        }else {
+            return tableName + Constant.UnderLine + field;
+        }
+    }
+
+    public static List<String> split(String redisVal) {
+        if (StringUtils.isEmpty(redisVal)) {
+            return null;
+        }
+        String[] split = redisVal.split(Constant.SEMICOLON);
+        List<String> strings = Arrays.asList(split);
+        return strings;
+    }
+
+    public static TUser getUser(HttpServletRequest request) {
+        return (TUser) request.getSession().getAttribute(Constant.USER);
+    }
+
+    public static Set<String> getRoleByUser(String userId) {
+        Set<String> roleIds = new HashSet<>();
+        roleIds.add("R001");
+        roleIds.add("R002");
+        return roleIds;
+    }
 }

--
Gitblit v1.8.0