From 9d0acfb65c80c4948c305ca01338f894b87346a0 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 08 四月 2024 09:44:37 +0800 Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack --- 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