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();
|
}
|
}
|