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