From 02eb9d41eb2f201ce18d8481f56d82fb89641d42 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 16 二月 2024 20:54:15 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/domain/PageParam.java | 199 ++++++++++++++++++++----------------------------- 1 files changed, 83 insertions(+), 116 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 f94705f..82f0a05 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,17 +1,11 @@ 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.QueryField; -import com.zy.asrs.framework.domain.QueryType; +import com.zy.asrs.framework.common.DateUtils; import com.zy.asrs.wcs.utils.Utils; -import java.lang.reflect.Field; -import java.util.Arrays; -import java.util.List; +import java.util.ArrayList; import java.util.Map; /** @@ -50,124 +44,97 @@ } } - /** - * @param excludes 涓嶅寘鍚殑瀛楁 - */ - public QueryWrapper<T> getWrapper(String... excludes) { - return buildWrapper(null, Arrays.asList(excludes)); + public QueryWrapper<T> buildWrapper() { + return this.buildWrapper(false); } - /** - * @param columns 鍙寘鍚殑瀛楁 - */ - public QueryWrapper<T> getWrapperWith(String... columns) { - return buildWrapper(Arrays.asList(columns), null); - } - - - private QueryWrapper<T> buildWrapper(List<String> columns, List<String> excludes) { + @SuppressWarnings("all") + public QueryWrapper<T> buildWrapper(boolean like) { 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; - } + Map<String, Object> map = where.getMap(); + for (String key : map.keySet()) { + Object val = map.get(key); - // 杩囨护鎺掗櫎鐨勫瓧娈� - 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 (key.contains("Range")) { + ArrayList<String> list = null; + if (val instanceof ArrayList) { + list = (ArrayList<String>) val; } - queryField.type(); - queryType = queryField.type(); + if (null != list) { + key = key.replaceAll("Range", ""); + if (this.isToUnderlineCase) { + key = Utils.toSymbolCase(key, '_'); + } + queryWrapper.ge(key, DateUtils.convert(list.get(0))); + queryWrapper.le(key, DateUtils.convert(list.get(1))); + } } else { - // 杩囨护闈炴湰琛ㄧ殑瀛楁 - TableField tableField = field.getAnnotation(TableField.class); - if (tableField != null && !tableField.exist()) { - continue; + if (this.isToUnderlineCase) { + key = Utils.toSymbolCase(key, '_'); } + if (like) { + queryWrapper.like(key, val); + } else { + queryWrapper.eq(key, val); + } + } - // 瀛楁鍚嶉┘宄拌浆涓嬪垝绾� - 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; - } +// 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; } -- Gitblit v1.9.1