From 792a61970f657c9053cfc193080342a8a400c161 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 22 六月 2020 11:04:46 +0800 Subject: [PATCH] 搜索栏优化 --- src/main/java/com/zy/common/web/BaseController.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 49 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java index 69b2b34..af55b2b 100644 --- a/src/main/java/com/zy/common/web/BaseController.java +++ b/src/main/java/com/zy/common/web/BaseController.java @@ -1,16 +1,22 @@ package com.zy.common.web; -import com.zy.system.entity.User; -import com.zy.system.service.UserService; +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.controller.AbstractBaseController; import com.core.exception.CoolException; +import com.zy.system.entity.User; +import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import org.springframework.beans.factory.annotation.Autowired; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; /** * Created by vincent on 2019-09-09 @@ -43,4 +49,45 @@ } return ""; } + + /** + * 鍏ㄥ瓧娈垫ā绯婃悳绱� + * @param cls 妯″瀷绫� + * @param set 鎺掗櫎瀛楁闆嗗悎 + * @param condition 鎼滅储鍐呭 + */ + protected <T> void allLike(Class<T> cls, Set<String> set, EntityWrapper<T> wrapper, String condition){ + if (Cools.isEmpty(condition)) { + return; + } + 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 = field.getAnnotation(TableField.class).value(); + } + if (Cools.isEmpty(column)) { + column = field.getName(); + } + if (!set.contains(column)) { + columns.add(column); + } + } + if (columns.isEmpty()) { + return; + } + for (int i=0;i<columns.size();i++){ + if (i==0){ + wrapper.and(); + } else { + wrapper.or(); + } + wrapper.like(columns.get(i), condition); + } + } } -- Gitblit v1.9.1