| | |
| | | |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | |
| | | 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())) { |