2
13693261870
2022-09-16 653761a31dfeb50dd3d007e892d69c90bf0cdafc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.landtool.lanbase.common.utils;
 
 
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
 
import org.apache.commons.lang.StringUtils;
 
import com.landtool.lanbase.common.xss.SQLFilter;
 
/**
 * @author lanbase
 * @Description: TODO(查询参数)
 * @date 2017-6-23 15:07
 */
public class Query extends LinkedHashMap<String, Object> {
    private static final long serialVersionUID = 1L;
    //当前页码
    private int page;
    //每页条数
    private int limit;
 
    public Query(Map<String, Object> params){
        this.putAll(params);
 
        //分页参数
        this.page = Integer.parseInt(params.get("page").toString());
        this.limit = Integer.parseInt(params.get("limit").toString());
        this.put("page", page);
        this.put("limit", limit);
        this.put("lowerOffset", (page - 1) * limit);
        this.put("upperOffset", page * limit );
 
        //防止SQL注入(因为sidx、order是通过拼接SQL实现排序的,会有SQL注入风险)
        String sidx = (String)params.get("sidx");
        String order = (String)params.get("order");
        String fkey=(String)params.get("fkey");
        String cname=(String)params.get("cname");
        String appid=(String)params.get("appid");
        String UserName=(String)params.get("userName");
        String beginDate=(String)params.get("beginDate");
        String endDate=(String)params.get("endDate");
        String appfullName=(String)params.get("appfullName");
        
       
        if(StringUtils.isNotBlank(sidx)){
            this.put("sidx", SQLFilter.sqlInject(sidx));
        }
        if(StringUtils.isNotBlank(order)){
            this.put("order", SQLFilter.sqlInject(order));
        }
        if(StringUtils.isNotBlank(fkey)){
            this.put("fkey", fkey);
        }
        if(StringUtils.isNotBlank(appid)){
            this.put("appid", appid);
        }
        if(StringUtils.isNotBlank(UserName)){
            this.put("UserName", UserName);
        }
        if(StringUtils.isNotBlank(cname)){        
            this.put("cname", cname);
        }
        if(StringUtils.isNotBlank(beginDate)){
           this.put("beginDate", beginDate);
        }
        if(StringUtils.isNotBlank(endDate)){
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
            try {
                Date d=new Date(sdf.parse(endDate).getTime()+24*3600*1000);
                endDate=sdf.format(d);
                this.put("endDate", endDate);
            } catch (ParseException e) {
                e.printStackTrace();
            }
             
        }
        if(StringUtils.isNotBlank(appfullName)){
            this.put("appfullName", appfullName);
        }
 
    }
    public int getPage() {
        return page;
    }
 
    public void setPage(int page) {
        this.page = page;
    }
 
    public int getLimit() {
        return limit;
    }
 
    public void setLimit(int limit) {
        this.limit = limit;
    }
    
  
}