
package com.tmerclub.cloud.flow.dto;

import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 数据表格DTO
 *
 * @author TRACK
 */
public class FormDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    private Long formId;

    @Schema(description = "店铺Id")
    private Long shopId;

    @Schema(description = "报表名称")
    private String formName;

    @Schema(description = "推荐报表介绍内容")
    private String content;

    @Schema(description = "报表类型 1:店铺报表  2：商品报表")
    private Integer fromType;

    @Schema(description = "时间类型 1:天 2:周 3:月")
    private Integer timeType;

    @Schema(description = "时间格式 1:固定时间区间 2:指定时间范围")
    private Integer timeFormat;

    @Schema(description = "报表项id数组")
    private String formItemIds;

    @Schema(description = "开始时间（固定时间区间）")
    private Date startTime;

    @Schema(description = "结束时间（固定时间区间）")
    private Date endTime;

    @Schema(description = "时间范围 1:近1天  2:近7天  3: 近30天")
    private Integer timeRange;

    @Schema(description = "序号")
    private Integer seq;

    @Schema(description = "推荐报表 true：推荐报表  false：店铺报表")
    private Boolean recommendForm;

    public Long getFormId() {
        return formId;
    }

    public void setFormId(Long formId) {
        this.formId = formId;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getFormName() {
        return formName;
    }

    public void setFormName(String formName) {
        this.formName = formName;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getFromType() {
        return fromType;
    }

    public void setFromType(Integer fromType) {
        this.fromType = fromType;
    }

    public Integer getTimeType() {
        return timeType;
    }

    public void setTimeType(Integer timeType) {
        this.timeType = timeType;
    }

    public Integer getTimeFormat() {
        return timeFormat;
    }

    public void setTimeFormat(Integer timeFormat) {
        this.timeFormat = timeFormat;
    }

    public String getFormItemIds() {
        return formItemIds;
    }

    public void setFormItemIds(String formItemIds) {
        this.formItemIds = formItemIds;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getTimeRange() {
        return timeRange;
    }

    public void setTimeRange(Integer timeRange) {
        this.timeRange = timeRange;
    }

    public Integer getSeq() {
        return seq;
    }

    public void setSeq(Integer seq) {
        this.seq = seq;
    }

    public Boolean getRecommendForm() {
        return recommendForm;
    }

    public void setRecommendForm(Boolean recommendForm) {
        this.recommendForm = recommendForm;
    }

    @Override
    public String toString() {
        return "FormDTO{" +
                "formId=" + formId +
                ", shopId=" + shopId +
                ", formName='" + formName + '\'' +
                ", content='" + content + '\'' +
                ", fromType=" + fromType +
                ", timeType=" + timeType +
                ", timeFormat=" + timeFormat +
                ", formItemIds='" + formItemIds + '\'' +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", timeRange=" + timeRange +
                ", seq=" + seq +
                ", recommendForm=" + recommendForm +
                '}';
    }
}
