|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public QueryWrapper<T> buildWrapper() { | 
|---|
|  |  |  | return this.buildWrapper(false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public QueryWrapper<T> buildWrapper(Consumer<QueryWrapper<T>> consumer) { | 
|---|
|  |  |  | return this.buildWrapper(false, consumer); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public QueryWrapper<T> buildWrapper(boolean like) { | 
|---|
|  |  |  | return this.buildWrapper(like, null); | 
|---|
|  |  |  | return this.buildWrapper(like, null, "create_time"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private boolean sortIsSQL(String sort) { | 
|---|
|  |  |  | return sort != null && (sort.contains(",") || sort.trim().contains(" ")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private List<OrderItem> parseOrderSQL(String orderSQL) { | 
|---|
|  |  |  | List<OrderItem> orders = new ArrayList<>(); | 
|---|
|  |  |  | if (!Cools.isEmpty(orderSQL)) { | 
|---|
|  |  |  | for (String item : orderSQL.split(",")) { | 
|---|
|  |  |  | String[] temp = item.trim().split(" "); | 
|---|
|  |  |  | if (!temp[0].isEmpty()) { | 
|---|
|  |  |  | String column = this.isToUnderlineCase ? Utils.toSymbolCase(temp[0], '_') : temp[0]; | 
|---|
|  |  |  | boolean asc = temp.length == 1 || !temp[temp.length - 1].toLowerCase().equals(ORDER_DESC_VALUE); | 
|---|
|  |  |  | orders.add(new OrderItem(column, asc)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return orders; | 
|---|
|  |  |  | public QueryWrapper<T> buildWrapper(boolean like, String timeField) { | 
|---|
|  |  |  | return this.buildWrapper(like, null, timeField); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @SuppressWarnings("all") | 
|---|
|  |  |  | public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer) { | 
|---|
|  |  |  | public QueryWrapper<T> buildWrapper(boolean like, Consumer<QueryWrapper<T>> consumer, String timeField) { | 
|---|
|  |  |  | QueryWrapper<T> queryWrapper = new QueryWrapper<>(); | 
|---|
|  |  |  | Map<String, Object> map = where.getMap(); | 
|---|
|  |  |  | for (String key : map.keySet()) { | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(where.getTimeStart())) { | 
|---|
|  |  |  | Date timeStart = DateUtils.convert(String.valueOf(where.getTimeStart()), DateUtils.yyyyMMdd_F); | 
|---|
|  |  |  | queryWrapper.ge("create_time", timeStart); | 
|---|
|  |  |  | queryWrapper.ge(timeField, timeStart); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(where.getTimeEnd())) { | 
|---|
|  |  |  | Date timeStart = DateUtils.convert(String.valueOf(where.getTimeEnd()), DateUtils.yyyyMMdd_F); | 
|---|
|  |  |  | queryWrapper.le("create_time", timeStart); | 
|---|
|  |  |  | queryWrapper.le(timeField, timeStart); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!Cools.isEmpty(where.getOrderBy())) { | 
|---|
|  |  |  | 
|---|
|  |  |  | return queryWrapper; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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()); | 
|---|
|  |  |  | private boolean sortIsSQL(String sort) { | 
|---|
|  |  |  | return sort != null && (sort.contains(",") || sort.trim().contains(" ")); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private List<OrderItem> parseOrderSQL(String orderSQL) { | 
|---|
|  |  |  | List<OrderItem> orders = new ArrayList<>(); | 
|---|
|  |  |  | if (!Cools.isEmpty(orderSQL)) { | 
|---|
|  |  |  | for (String item : orderSQL.split(",")) { | 
|---|
|  |  |  | String[] temp = item.trim().split(" "); | 
|---|
|  |  |  | if (!temp[0].isEmpty()) { | 
|---|
|  |  |  | String column = this.isToUnderlineCase ? Utils.toSymbolCase(temp[0], '_') : temp[0]; | 
|---|
|  |  |  | boolean asc = temp.length == 1 || !temp[temp.length - 1].toLowerCase().equals(ORDER_DESC_VALUE); | 
|---|
|  |  |  | orders.add(new OrderItem(column, asc)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return orders; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public Map<String, Object> checkoutMap() { | 
|---|
|  |  |  | Map<String, Object> map = where.getMap(); | 
|---|
|  |  |  | if (!Cools.isEmpty(where.getOrderBy())) { | 
|---|
|  |  |  | map.put("orderBy", where.getOrderBy()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(where.getTimeStart())) { | 
|---|
|  |  |  | map.put("timeStart", DateUtils.convert(String.valueOf(where.getTimeStart()), DateUtils.yyyyMMdd_F)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(where.getTimeEnd())) { | 
|---|
|  |  |  | map.put("timeEnd", DateUtils.convert(String.valueOf(where.getTimeEnd()), DateUtils.yyyyMMdd_F)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!Cools.isEmpty(where.getCondition())) { | 
|---|
|  |  |  | map.put("condition", where.getCondition()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return map; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|