rk
9 小时以前 c74a6f59490cfb9a0ee37f70427739b74e7fbd58
server/services/src/main/java/com/doumee/dao/dto/DataBoardQueryDTO.java
@@ -1,25 +1,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 = "开始时间")
    @ApiModelProperty(value = "日期段类型:0=今日,1=近七天,2=近30天,3=近半年,4=近一年", required = true)
    private Integer dateType;
    @JsonIgnore
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;
    @ApiModelProperty(value = "结束时间")
    @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();
    }
}