From 796b44ea813a1133beae4f3a67f1c0263510c0c7 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期日, 17 十一月 2024 09:45:07 +0800
Subject: [PATCH] 1

---
 src/main/java/com/moon/server/service/all/BaseQueryService.java |  102 +++++++++++++-------------------------------------
 1 files changed, 27 insertions(+), 75 deletions(-)

diff --git a/src/main/java/com/moon/server/service/all/BaseQueryService.java b/src/main/java/com/moon/server/service/all/BaseQueryService.java
index 41d19ad..99aa21e 100644
--- a/src/main/java/com/moon/server/service/all/BaseQueryService.java
+++ b/src/main/java/com/moon/server/service/all/BaseQueryService.java
@@ -22,11 +22,8 @@
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
-/**
- * 鐖舵煡璇㈡湇鍔$被
- * @author WWW
- */
 @Service
+@SuppressWarnings("ALL")
 public class BaseQueryService implements BaseQueryMapper {
     @Autowired
     BaseQueryMapper baseQueryMapper;
@@ -34,17 +31,8 @@
     @Autowired
     RedisService redisService;
 
-    /**
-     * 琛ㄥ悕Map
-     */
     private static final Map<String, String> TAB_MAP = new HashMap<>(3);
 
-    /**
-     * 娣诲姞杩囨护鏉′欢锛�(?i)and
-     *
-     * @param wrapper QueryWrapper
-     * @param filter  鍘熷杩囨护鏉′欢瀛楃涓�
-     */
     public <T> void addFilterWrapper(QueryWrapper<T> wrapper, String filter) {
         if (StringHelper.isEmpty(filter)) {
             return;
@@ -61,7 +49,7 @@
                 continue;
             }
 
-            String field = convertFiled(str.substring(0, start).trim());
+            String field = camelToUnderline(str.substring(0, start).trim());
             String express = str.substring(start + 1, end).trim().toLowerCase();
             String value = str.substring(end + 1).trim();
 
@@ -75,30 +63,41 @@
         }
     }
 
-    /**
-     * 瀛楁杞崲
-     */
-    private String convertFiled(String field) {
+    public static String camelToUnderline(String str) {
         StringBuilder sb = new StringBuilder();
-        for (int i = 0, c = field.length(); i < c; i++) {
-            char ch = field.charAt(i);
+        for (int i = 0, c = str.length(); i < c; i++) {
+            char ch = str.charAt(i);
             if (Character.isUpperCase(ch)) {
-                sb.append('_');
-                sb.append(Character.toLowerCase(ch));
+                sb.append('_').append(Character.toLowerCase(ch));
             } else {
                 sb.append(ch);
+            }
+        }
+
+        return sb.toString().replaceAll("_+", "_");
+    }
+
+    public static String underlineToCamel(String str) {
+        StringBuilder sb = new StringBuilder();
+
+        boolean nextIsCapitalized = false;
+        for (int i = 0, c = str.length(); i < c; i++) {
+            char ch = str.charAt(i);
+            if (ch == '_') {
+                nextIsCapitalized = true;
+                continue;
+            }
+            if (nextIsCapitalized) {
+                sb.append(Character.toUpperCase(ch));
+                nextIsCapitalized = false;
+            } else {
+                sb.append(Character.toLowerCase(c));
             }
         }
 
         return sb.toString();
     }
 
-    /**
-     * 鑾峰彇鍊煎璞�
-     *
-     * @param val 鍊�
-     * @return 瀵硅薄
-     */
     private Object getObjectVal(String express, String val) {
         if (StringHelper.isInteger(val)) {
             return Long.parseLong(val);
@@ -113,14 +112,6 @@
         return val.replace("'", "");
     }
 
-    /**
-     * 娣诲姞鍖呰鍣�
-     *
-     * @param wrapper QueryWrapper
-     * @param field   瀛楁
-     * @param express 琛ㄨ揪寮�
-     * @param val     鍊�
-     */
     private <T> void addWrapper(QueryWrapper<T> wrapper, String field, String express, Object val) {
         if (StringHelper.isDate(val.toString())) {
             wrapper.apply(String.format("%s %s '%s'", field, express, val));
@@ -162,16 +153,10 @@
         }
     }
 
-    /**
-     * 鑾峰彇瀛楃涓插垪琛�
-     */
     private List<String> getStringList(String val) {
         return Arrays.asList(val.replace(StaticData.SINGLE_QUOTES, "").split(StaticData.COMMA));
     }
 
-    /**
-     * 鑾峰彇鏁存暟鍒楄〃
-     */
     private List<Integer> getIntegerList(String val) {
         List<Integer> list = new ArrayList<>();
         for (String str : val.split(StaticData.COMMA)) {
@@ -181,14 +166,6 @@
         return list;
     }
 
-    /**
-     * 娣诲姞绌洪棿杩囨护鏉′欢
-     *
-     * @param basicMapper 鐖禡apper
-     * @param wrapper     QueryWrapper
-     * @param wkt         WKT锛堣憲鍚嶆枃鏈級
-     * @throws Exception 寮傚父
-     */
     public void addGeomWrapper(BasicMapper basicMapper, QueryWrapper wrapper, String wkt) throws Exception {
         if (basicMapper instanceof GeomBaseMapper && !StringHelper.isEmpty(wkt)) {
             wkt = AesHelper.decrypt(wkt);
@@ -198,12 +175,6 @@
         }
     }
 
-    /**
-     * 鑾峰彇鍑犱綍瀵硅薄鐨勭┖闂村弬鑰�
-     *
-     * @param basicMapper 绌洪棿鍩虹Mapper
-     * @return SRID
-     */
     public Integer getSrid(GeomBaseMapper basicMapper) {
         String tab = getTabName(basicMapper);
         String key = RedisCacheKey.sridKey(tab);
@@ -222,12 +193,6 @@
         return srid;
     }
 
-    /**
-     * 鏍规嵁Mapper鑾峰彇琛ㄥ悕
-     *
-     * @param basicMapper Mapper
-     * @return 琛ㄥ悕
-     */
     public static String getTabName(BasicMapper basicMapper) {
         String className = ClassHelper.getClassName(basicMapper);
         if (TAB_MAP.containsKey(className)) {
@@ -237,12 +202,6 @@
         return getTabName(className);
     }
 
-    /**
-     * 鏍规嵁Mapper鑾峰彇琛ㄥ悕
-     *
-     * @param className Mapper绫诲悕
-     * @return 琛ㄥ悕
-     */
     private static String getTabName(String className) {
         Class clazz = ClassHelper.getEntityClass(className);
         if (clazz == null) {
@@ -259,13 +218,6 @@
         return tabName;
     }
 
-    /**
-     * 娣诲姞缂撳啿鍖鸿繃婊ゆ潯浠�
-     *
-     * @param baseMapper 鐖禡apper
-     * @param wrapper    QueryWrapper
-     * @param wkt        WKT锛堣憲鍚嶆枃鏈級
-     */
     public void addBufferWrapper(GeomBaseMapper baseMapper, QueryWrapper wrapper, String wkt, double buffer) {
         Integer srid = getSrid(baseMapper);
         // buffer = buffer * 0.00000899928

--
Gitblit v1.9.3