From ea7e9e6b45dba0b287d3a71b4fa6d5a13af300d6 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 31 八月 2020 15:19:19 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/web/BaseController.java | 53 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 42 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java index 7795ae8..ecc7e80 100644 --- a/src/main/java/com/zy/common/web/BaseController.java +++ b/src/main/java/com/zy/common/web/BaseController.java @@ -15,15 +15,14 @@ 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.Map; -import java.util.Set; +import java.util.*; /** * Created by vincent on 2019-09-09 */ public class BaseController extends AbstractBaseController { + + protected static final String RANGE_TIME_LINK = " - "; @Autowired protected HttpServletRequest request; @@ -52,14 +51,46 @@ return ""; } - protected <T> Page<T> toPage(Integer curr, Integer limit, Map<String, Object> param){ - Page<T> page = new Page<T>(curr, limit); + /** + * 鍒嗛〉缁勮 + * @param pageNumber + * @param pageSize + * @param map + * @param cls + * @param <T> + * @return + */ + protected <T> Page<T> toPage(Integer pageNumber, Integer pageSize, Map<String, Object> map, Class<T> cls){ + // 鍒嗛〉绱㈠紩鍜屽崟椤垫暟閲忕粍瑁� + pageNumber = Optional.ofNullable(pageNumber).orElse(1); + pageSize = Optional.ofNullable(pageSize).orElse(10); + Page<T> page = new Page<>(pageNumber, pageSize); + map.put("pageNumber", pageNumber); + map.put("pageSize", pageSize); - param.entrySet().removeIf(next -> next.getKey().equals("curr") - || next.getKey().equals("limit") - || next.getKey().equals("orderByField") - || next.getKey().equals("orderByType") - || Cools.isEmpty(next.getValue())); + // 鍏ㄥ瓧娈垫ā绯婃悳绱� todo + if (!Cools.isEmpty(map.get("condition"))) { + Set<String> columns = new HashSet<>(); + 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 (!map.keySet().contains(column)) { + columns.add(column); + } + } + columns.forEach(col->map.put(col, map.get("condition"))); + } + page.setCondition(map); return page; } -- Gitblit v1.9.1