管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-10-28 50c5c7cb69da0bdcb87f634c7da86aebc19e1f10
1
已修改1个文件
47 ■■■■■ 文件已修改
src/main/java/com/lf/server/service/all/BaseQueryService.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/all/BaseQueryService.java
@@ -56,10 +56,55 @@
     * @param wrapper
     * @param filter
     */
    public void addFilterWrapper(QueryWrapper<Object> wrapper, String filter) {
    public <T> void addFilterWrapper(QueryWrapper<T> wrapper, String filter) {
        if (StringHelper.isEmpty(filter)) {
            return;
        }
        String[] strs = filter.trim().split(" (?i)and ");
        for (String str : strs) {
            int start = str.indexOf(" ");
            if (start == -1) {
                continue;
            }
            int end = str.indexOf(" ", start + 1);
            if (end == -1) {
                continue;
            }
            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);
        }
    }
    private <T> void addWrapper(QueryWrapper<T> wrapper, String field, String express, String value) {
        switch (express) {
            case "like":
                wrapper.like(field, value);
                break;
            case ">":
                wrapper.gt(field, value);
                break;
            case ">=":
                wrapper.ge(field, value);
                break;
            case "<>":
                wrapper.ne(field, value);
                break;
            case "=":
                wrapper.eq(field, value);
                break;
            case "<":
                wrapper.lt(field, value);
                break;
            case "<=":
                wrapper.le(field, value);
                break;
            default:
                break;
        }
    }
    /**