From edfa49f201d3fc8fc6b51b700e91f80246660855 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 13 二月 2024 20:29:14 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java        |    1 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java                      |    2 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java                      |    6 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java                      |    6 
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java                      |    2 
 zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java |    6 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/BaseParam.java              |   31 ++++++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java              |  154 ++++++++++++++++++++++++++++++
 zy-asrs-framework/src/main/java/com/zy/asrs/framework/domain/QueryType.java         |   42 ++++++++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java                      |    2 
 10 files changed, 244 insertions(+), 8 deletions(-)

diff --git a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/domain/QueryType.java b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/domain/QueryType.java
new file mode 100644
index 0000000..9927ecd
--- /dev/null
+++ b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/domain/QueryType.java
@@ -0,0 +1,42 @@
+package com.zy.asrs.framework.domain;
+
+/**
+ * 鏌ヨ鏂瑰紡
+ *
+ * @author vincent
+ * @since 2021-09-01 20:48:16
+ */
+public enum QueryType {
+    // 绛変簬
+    EQ,
+    // 涓嶇瓑浜�
+    NE,
+    // 澶т簬
+    GT,
+    // 澶т簬绛変簬
+    GE,
+    // 灏忎簬
+    LT,
+    // 灏忎簬绛変簬
+    LE,
+    // 鍖呭惈
+    LIKE,
+    // 涓嶅寘鍚�
+    NOT_LIKE,
+    // 缁撳熬绛変簬
+    LIKE_LEFT,
+    // 寮�澶寸瓑浜�
+    LIKE_RIGHT,
+    // 涓篘ULL
+    IS_NULL,
+    // 涓嶄负绌�
+    IS_NOT_NULL,
+    // IN
+    IN,
+    // NOT IN
+    NOT_IN,
+    // IN鏉′欢瑙f瀽閫楀彿鍒嗗壊
+    IN_STR,
+    // NOT IN鏉′欢瑙f瀽閫楀彿鍒嗗壊
+    NOT_IN_STR
+}
diff --git a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java
index 09eb45f..58637da 100644
--- a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java
+++ b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/CoolGenerator.java
@@ -406,6 +406,12 @@
 
             }
 
+            if (column.getName().equals("deleted")) {
+                entityIm.append("import com.baomidou.mybatisplus.annotation.TableLogic;\n");
+                sb.append("    ")
+                        .append("@TableLogic\n");
+            }
+
             if ("Date".equals(column.getType())){
                 if (setDateTimeFormat){
                     entityIm.append("import org.springframework.format.annotation.DateTimeFormat;").append("\n");
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/BaseParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/BaseParam.java
new file mode 100644
index 0000000..ed92c8f
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/BaseParam.java
@@ -0,0 +1,31 @@
+package com.zy.asrs.wcs.common.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Created by vincent on 2/13/2024
+ */
+@Data
+public class BaseParam implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableField(exist = false)
+    private Integer pageIdx;
+
+    @TableField(exist = false)
+    private Integer pageSize;
+
+    @TableField(exist = false)
+    private String timeStart;
+
+    @TableField(exist = false)
+    private String timeEnd;
+
+    @TableField(exist = false)
+    private String condition;
+
+}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java
new file mode 100644
index 0000000..a5d610f
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java
@@ -0,0 +1,154 @@
+package com.zy.asrs.wcs.common.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.framework.domain.QueryType;
+
+import java.lang.reflect.Field;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by vincent on 2/13/2024
+ */
+public class PageParam<T, U extends BaseParam> extends Page<T> {
+
+    private static final long serialVersionUID = 1L;
+
+    private final U where;
+
+    public PageParam() {
+        this(null);
+    }
+
+    public PageParam(U where) {
+        super();
+        this.where = where;
+
+        if (where != null) {
+            if (where.getPageIdx() != null) {
+                setCurrent(where.getPageIdx());
+            }
+            if (where.getPageSize() != null) {
+                setSize(where.getPageSize());
+            }
+        }
+    }
+
+    public QueryWrapper<T> getWrapper(String... excludes) {
+        return buildWrapper(null, Arrays.asList(excludes));
+    }
+
+    private QueryWrapper<T> buildWrapper(List<String> columns, List<String> excludes) {
+        QueryWrapper<T> queryWrapper = new QueryWrapper<>();
+        Map<String, Object> map = Cools.conver(where);
+        for (String fieldName : map.keySet()) {
+            Object fieldValue = map.get(fieldName);
+            Field field = Cools.getField(where.getClass(), fieldName);
+            assert field != null;
+            // 杩囨护涓嶅寘鍚殑瀛楁
+            if (columns != null && !columns.contains(fieldName)) {
+                continue;
+            }
+
+            // 杩囨护鎺掗櫎鐨勫瓧娈�
+            if (excludes != null && excludes.contains(fieldName)) {
+                continue;
+            }
+
+            // 杩囨护閫昏緫鍒犻櫎瀛楁
+            if (field.getAnnotation(TableLogic.class) != null) {
+                continue;
+            }
+
+            // 杩囨护绉熸埛id瀛楁
+            if (fieldName.equals("hostId")) {
+                continue;
+            }
+
+            // 鑾峰彇娉ㄨВ鎸囧畾鐨勬煡璇㈠瓧娈靛強鏌ヨ鏂瑰紡
+            QueryType queryType = QueryType.LIKE;
+            QueryField queryField = field.getAnnotation(QueryField.class);
+            if (queryField != null) {
+                if (!Cools.isEmpty(queryField.value())) {
+                    fieldName = queryField.value();
+                }
+                if (queryField.type() != null) {
+                    queryType = queryField.type();
+                }
+            } else {
+                // 杩囨护闈炴湰琛ㄧ殑瀛楁
+                TableField tableField = field.getAnnotation(TableField.class);
+                if (tableField != null && !tableField.exist()) {
+                    continue;
+                }
+            }
+
+            // 瀛楁鍚嶉┘宄拌浆涓嬪垝绾�
+            if (this.isToUnderlineCase) {
+                fieldName = Utils.toSymbolCase(fieldName, '_');
+            }
+
+            switch (queryType) {
+                case EQ:
+                    queryWrapper.eq(fieldName, fieldValue);
+                    break;
+                case NE:
+                    queryWrapper.ne(fieldName, fieldValue);
+                    break;
+                case GT:
+                    queryWrapper.gt(fieldName, fieldValue);
+                    break;
+                case GE:
+                    queryWrapper.ge(fieldName, fieldValue);
+                    break;
+                case LT:
+                    queryWrapper.lt(fieldName, fieldValue);
+                    break;
+                case LE:
+                    queryWrapper.le(fieldName, fieldValue);
+                    break;
+                case LIKE:
+                    queryWrapper.like(fieldName, fieldValue);
+                    break;
+                case NOT_LIKE:
+                    queryWrapper.notLike(fieldName, fieldValue);
+                    break;
+                case LIKE_LEFT:
+                    queryWrapper.likeLeft(fieldName, fieldValue);
+                    break;
+                case LIKE_RIGHT:
+                    queryWrapper.likeRight(fieldName, fieldValue);
+                    break;
+                case IS_NULL:
+                    queryWrapper.isNull(fieldName);
+                    break;
+                case IS_NOT_NULL:
+                    queryWrapper.isNotNull(fieldName);
+                    break;
+                case IN:
+                    queryWrapper.in(fieldName, fieldValue);
+                    break;
+                case NOT_IN:
+                    queryWrapper.notIn(fieldName, fieldValue);
+                    break;
+                case IN_STR:
+                    if (fieldValue instanceof String) {
+                        queryWrapper.in(fieldName, Arrays.asList(((String) fieldValue).split(",")));
+                    }
+                    break;
+                case NOT_IN_STR:
+                    if (fieldValue instanceof String) {
+                        queryWrapper.notIn(fieldName, Arrays.asList(((String) fieldValue).split(",")));
+                    }
+                    break;
+            }
+        }
+        return queryWrapper;
+    }
+
+}
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
index 00bfda1..ac71c19 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
@@ -25,6 +25,7 @@
     @OperationLog
     @PostMapping("/role/page")
     public R updateInfo(@RequestBody PageParam param) {
+        System.out.println(param.get("condition"));
         List<Role> list = roleService.list();
         return R.ok().add(list);
     }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java
index f508616..149c285 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Dept.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.SpringUtils;
@@ -116,6 +117,7 @@
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
      */
     @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
+    @TableLogic
     private Integer deleted;
 
     /**
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java
index e87c78b..8a1c6f8 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Host.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.zy.asrs.framework.common.Cools;
 import io.swagger.annotations.ApiModelProperty;
@@ -41,6 +42,7 @@
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
      */
     @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
+    @TableLogic
     private Integer deleted;
 
     /**
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java
index 39832ab..26bedd4 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Menu.java
@@ -1,9 +1,6 @@
 package com.zy.asrs.wcs.sys.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.SpringUtils;
 import com.zy.asrs.wcs.sys.service.HostService;
@@ -134,6 +131,7 @@
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
      */
     @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
+    @TableLogic
     private Integer deleted;
 
     /**
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java
index 0b663a8..c80b6e3 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/Role.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.SpringUtils;
@@ -55,6 +56,7 @@
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
      */
     @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
+    @TableLogic
     private Integer deleted;
 
     /**
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java
index 33c1f18..167c016 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/entity/User.java
@@ -1,9 +1,6 @@
 package com.zy.asrs.wcs.sys.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.SpringUtils;
 import com.zy.asrs.wcs.sys.service.DeptService;
@@ -132,6 +129,7 @@
      * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  
      */
     @ApiModelProperty(value= "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
+    @TableLogic
     private Integer deleted;
 
     /**

--
Gitblit v1.9.1