From 82e3d32282cd6bc07e36564306fe5c35fdfb89da Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期一, 23 九月 2024 17:16:32 +0800
Subject: [PATCH] bug修改,初步完成

---
 zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java |  108 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 78 insertions(+), 30 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java
index 55bd786..8ef4122 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/web/BaseController.java
@@ -1,7 +1,6 @@
 package com.zy.asrs.common.web;
 
 import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -39,7 +38,7 @@
     @Autowired
     private TagService tagService;
 
-    protected Long getHostId(){
+    protected Long getHostId() {
         if (getUserId() == 9527) {
             return null;
         }
@@ -58,11 +57,11 @@
         }
     }
 
-    protected Long getUserId(){
+    protected Long getUserId() {
         return Long.parseLong(String.valueOf(request.getAttribute("userId")));
     }
 
-    protected User getUser(){
+    protected User getUser() {
         User user = userService.getById(getUserId());
         if (null == user) {
             throw new CoolException(BaseRes.DENIED);
@@ -70,10 +69,10 @@
         return user;
     }
 
-    protected String getComment(Class<?> cls, String fieldName){
+    protected String getComment(Class<?> cls, String fieldName) {
         Field[] fields = Cools.getAllFields(cls);
-        for (Field field : fields){
-            if (fieldName.equals(field.getName())){
+        for (Field field : fields) {
+            if (fieldName.equals(field.getName())) {
                 return field.getAnnotation(ApiModelProperty.class).value();
             }
         }
@@ -82,6 +81,7 @@
 
     /**
      * 鍒嗛〉缁勮
+     *
      * @param pageNumber
      * @param pageSize
      * @param map
@@ -89,7 +89,7 @@
      * @param <T>
      * @return
      */
-    protected <T> Page<T> toPage(Integer pageNumber, Integer pageSize, Map<String, Object> map, Class<T> cls){
+    protected <T> Page<T> toPage(Integer pageNumber, Integer pageSize, Map<String, Object> map, Class<T> cls) {
         // 鍒嗛〉绱㈠紩鍜屽崟椤垫暟閲忕粍瑁�
         pageNumber = Optional.ofNullable(pageNumber).orElse(1);
         pageSize = Optional.ofNullable(pageSize).orElse(10);
@@ -100,10 +100,8 @@
         // 鍏ㄥ瓧娈垫ā绯婃悳绱� todo
         if (!Cools.isEmpty(map.get("condition"))) {
             Set<String> columns = new HashSet<>();
-            for (Field field : Cools.getAllFields(cls)){
-                if (Modifier.isFinal(field.getModifiers())
-                        || Modifier.isStatic(field.getModifiers())
-                        || Modifier.isTransient(field.getModifiers())){
+            for (Field field : Cools.getAllFields(cls)) {
+                if (Modifier.isFinal(field.getModifiers()) || Modifier.isStatic(field.getModifiers()) || Modifier.isTransient(field.getModifiers())) {
                     continue;
                 }
                 String column = null;
@@ -117,54 +115,53 @@
                     columns.add(column);
                 }
             }
-            columns.forEach(col->map.put(col, map.get("condition")));
+            columns.forEach(col -> map.put(col, map.get("condition")));
         }
 //        page.setCondition(map);
         return page;
     }
 
-    protected Tag getOriginTag(){
+    protected Tag getOriginTag() {
         return tagService.getTop(getHostId());
     }
 
     /**
      * 鍏ㄥ瓧娈垫ā绯婃悳绱�
-     * @param cls 妯″瀷绫�
-     * @param set 鎺掗櫎瀛楁闆嗗悎
+     *
+     * @param cls       妯″瀷绫�
+     * @param set       鎺掗櫎瀛楁闆嗗悎
      * @param condition 鎼滅储鍐呭
      */
-    protected <T> void allLike(Class<T> cls, Set<String> set, QueryWrapper<T> wrapper, String condition){
+    protected <T> void allLike(Class<T> cls, Set<String> set, QueryWrapper<T> wrapper, String condition) {
         if (Cools.isEmpty(condition)) {
             return;
         }
         final List<String> columns = new ArrayList<>();
-        for (Field field :Cools.getAllFields(cls)){
-            if (Modifier.isFinal(field.getModifiers())
-                    || Modifier.isStatic(field.getModifiers())
-                    || Modifier.isTransient(field.getModifiers())){
+        for (Field field : Cools.getAllFields(cls)) {
+            if (Modifier.isFinal(field.getModifiers()) || Modifier.isStatic(field.getModifiers()) || Modifier.isTransient(field.getModifiers())) {
                 continue;
             }
             String column = null;
             if (field.isAnnotationPresent(TableField.class)) {
-                column = field.getAnnotation(TableField.class).value();
+                column = camelToUnderscore(field.getAnnotation(TableField.class).value());
             }
             if (Cools.isEmpty(column)) {
-                column = field.getName();
+                column = camelToUnderscore(field.getName());
             }
-            if (!set.contains(column)) {
-                columns.add(column);
-            }
+            //if (!set.contains(column)) {
+            columns.add(column);
+            //}
         }
         if (columns.isEmpty()) {
             return;
         }
 
-        wrapper.and( w -> {
-            for (int i=0;i<columns.size();i++){
+        wrapper.and(w -> {
+            for (int i = 0; i < columns.size(); i++) {
                 String colums = columns.get(i);
-                if (i==0){
+                if (i == 0) {
                     w.like(colums, condition);
-                }else {
+                } else {
                     w.or().like(colums, condition);
                 }
             }
@@ -181,4 +178,55 @@
 //        }
     }
 
+    private static String camelToUnderscore(String camelCase) {
+        return camelCase.replaceAll("([a-z])([A-Z])", "$1_$2").toLowerCase();
+    }
+
+//    /**
+//     * 鍏ㄥ瓧娈垫ā绯婃悳绱�
+//     *
+//     * @param cls       妯″瀷绫�
+//     * @param set       鎺掗櫎瀛楁闆嗗悎
+//     * @param condition 鎼滅储鍐呭
+//     */
+//    protected <T> void allLike(Class<T> cls, Set<String> set, LambdaQueryWrapper<T> wrapper, String condition) {
+//        if (Cools.isEmpty(condition)) {
+//            return;
+//        }
+//        final List<String> columns = new ArrayList<>();
+//        for (Field field : Cools.getAllFields(cls)) {
+//            if (Modifier.isFinal(field.getModifiers()) || Modifier.isStatic(field.getModifiers()) || Modifier.isTransient(field.getModifiers())) {
+//                continue;
+//            }
+//            String column = null;
+//            if (field.isAnnotationPresent(TableField.class)) {
+//                column = camelToUnderscore(field.getAnnotation(TableField.class).value());
+//            }
+//            if (Cools.isEmpty(column)) {
+//                column = camelToUnderscore(field.getName());
+//            }
+//            //if (!set.contains(column)) {
+//            columns.add(column);
+//            //}
+//        }
+//        if (columns.isEmpty()) {
+//            return;
+//        }
+//
+//        SFunction<cls, String> columnFunc = Entity::columnName;
+//        wrapper.and(w -> {
+//            for (int i = 0; i < columns.size(); i++) {
+//                String colums = columns.get(i);
+//                if (i == 0) {
+//                    w.like(colums, condition);
+//                } else {
+//                    w.or().like(colums, condition);
+//                }
+//            }
+//        });
+//
+//
+//    }
+
+
 }

--
Gitblit v1.9.1