| | |
| | | } |
| | | |
| | | /** |
| | | * @param wrapper |
| | | * @param filter |
| | | * 添加过滤条件 |
| | | * |
| | | * @param baseMapper 父Mapper |
| | | * @param wrapper QueryWrapper |
| | | * @param filter 原始过滤条件字符串 |
| | | */ |
| | | public void addFilterWrapper(QueryWrapper wrapper, String filter) { |
| | | public void addFilterWrapper(BaseMapper baseMapper, QueryWrapper wrapper, String filter) { |
| | | if (StringHelper.isEmpty(filter)) { |
| | | return; |
| | | } |
| | |
| | | String field = str.substring(0, start).trim(); |
| | | String express = str.substring(start + 1, end).trim().toLowerCase(); |
| | | String value = str.substring(end + 1).trim(); |
| | | addWrapper(wrapper, field, express, value); |
| | | |
| | | addWrapper(wrapper, field, express, getObjectVal(value)); |
| | | } |
| | | } |
| | | |
| | | private void addWrapper(QueryWrapper wrapper, String field, String express, String value) { |
| | | /** |
| | | * 获取值对象 |
| | | * |
| | | * @param value 值 |
| | | * @return 对象 |
| | | */ |
| | | private Object getObjectVal(String value) { |
| | | if (StringHelper.isInteger(value)) { |
| | | return Long.parseLong(value); |
| | | } |
| | | |
| | | if (StringHelper.isNumeric(value)) { |
| | | return Double.parseDouble(value); |
| | | } |
| | | |
| | | return value; |
| | | } |
| | | |
| | | /** |
| | | * 添加包装器 |
| | | * |
| | | * @param wrapper QueryWrapper |
| | | * @param field 字段 |
| | | * @param express 表达式 |
| | | * @param value 值 |
| | | */ |
| | | private void addWrapper(QueryWrapper wrapper, String field, String express, Object value) { |
| | | switch (express) { |
| | | case "like": |
| | | wrapper.like(field, value); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 添加空间查询条件 |
| | | * 添加空间过滤条件 |
| | | * |
| | | * @param baseMapper 父Mapper |
| | | * @param wrapper QueryWrapper |