rk
5 小时以前 c74a6f59490cfb9a0ee37f70427739b74e7fbd58
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
package com.doumee.dao.dto;
 
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
 
import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;
 
@Data
@ApiModel("数据看板查询条件")
public class DataBoardQueryDTO implements Serializable {
 
    @ApiModelProperty(value = "日期段类型:0=今日,1=近七天,2=近30天,3=近半年,4=近一年", required = true)
    private Integer dateType;
 
    @JsonIgnore
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;
 
    @JsonIgnore
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;
 
    @ApiModelProperty(value = "门店主键(可选)")
    private Integer shopId;
 
    public void resolveDateRange() {
        Calendar now = Calendar.getInstance();
        now.set(Calendar.MINUTE, 0);
        now.set(Calendar.SECOND, 0);
        now.set(Calendar.MILLISECOND, 0);
        now.set(Calendar.HOUR_OF_DAY, 0);
 
        Calendar start = Calendar.getInstance();
        start.set(Calendar.MINUTE, 0);
        start.set(Calendar.SECOND, 0);
        start.set(Calendar.MILLISECOND, 0);
        start.set(Calendar.HOUR_OF_DAY, 0);
 
        switch (dateType != null ? dateType : 0) {
            case 1:
                start.add(Calendar.DAY_OF_MONTH, -6);
                break;
            case 2:
                start.add(Calendar.DAY_OF_MONTH, -29);
                break;
            case 3:
                start.add(Calendar.MONTH, -6);
                break;
            case 4:
                start.add(Calendar.YEAR, -1);
                break;
            default:
                // 0=今日,start 已经是今天
                break;
        }
        this.startDate = start.getTime();
 
        Calendar end = Calendar.getInstance();
        end.set(Calendar.HOUR_OF_DAY, 23);
        end.set(Calendar.MINUTE, 59);
        end.set(Calendar.SECOND, 59);
        end.set(Calendar.MILLISECOND, 999);
        this.endDate = end.getTime();
    }
}