From 4140a69e732bb3826c6f9782f54152d6e060af4b Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 03 四月 2024 13:06:30 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 48 insertions(+), 3 deletions(-)
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
index bfc76e3..0ae7e51 100644
--- 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
@@ -1,5 +1,6 @@
package com.zy.asrs.wcs.common.domain;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zy.asrs.framework.common.Cools;
@@ -11,6 +12,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.function.Consumer;
/**
* Created by vincent on 2/13/2024
@@ -64,8 +66,16 @@
return this.buildWrapper(false);
}
- @SuppressWarnings("all")
+ public QueryWrapper<T> buildWrapper(Consumer<QueryWrapper<T>> consumer) {
+ return this.buildWrapper(false, consumer);
+ }
+
public QueryWrapper<T> buildWrapper(boolean like) {
+ return this.buildWrapper(like, null);
+ }
+
+ @SuppressWarnings("all")
+ public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer) {
QueryWrapper<T> queryWrapper = new QueryWrapper<>();
Map<String, Object> map = where.getMap();
for (String key : map.keySet()) {
@@ -97,13 +107,34 @@
}
}
- if (!Cools.isEmpty(where.getCondition()) && !Cools.isEmpty(cls)) {
+ if (null != consumer) {
+ consumer.accept(queryWrapper);
+ }
+
+ Field[] fields = null;
+ if (!Cools.isEmpty(cls)) {
+ fields = Cools.getAllFields(cls);
+ for (Field field : fields) {
+ if ("createTime".equals(field.getName())) {
+ queryWrapper.orderByDesc(Utils.toSymbolCase(field.getName(), '_'));
+ }
+ }
+ }
+
+ if (!Cools.isEmpty(where.getCondition()) && !Cools.isEmpty(fields)) {
List<String> columns = new ArrayList<>();
- for (Field field :Cools.getAllFields(cls)){
+ for (Field field : fields){
if (Modifier.isFinal(field.getModifiers())
|| Modifier.isStatic(field.getModifiers())
|| Modifier.isTransient(field.getModifiers())){
continue;
+ }
+
+ if (field.isAnnotationPresent(TableField.class)){
+ TableField annotation = field.getAnnotation(TableField.class);
+ if (!annotation.exist()) {
+ continue;
+ }
}
String column = Utils.toSymbolCase(field.getName(), '_');
@@ -125,4 +156,18 @@
return queryWrapper;
}
+ public Map<String, Object> pickOutMap() {
+ return pickOutMap(false);
+ }
+
+ public Map<String, Object> pickOutMap(boolean mergeCondition) {
+ Map<String, Object> map = where.getMap();
+ if (mergeCondition) {
+ if (!Cools.isEmpty(where.getCondition())) {
+ map.put("condition", where.getCondition());
+ }
+ }
+ return map;
+ }
+
}
--
Gitblit v1.9.1