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