package com.bonus.sharedstation.app.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.bonus.sharedstation.app.entity.WashClothingOrderInfo;
import com.bonus.sharedstation.common.pojo.PageDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

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

/**
 * 洗衣订单(WashClothingOrder)实体类
 *
 * @author makejava
 * @since 2024-12-13 11:00:13
 */
@Data
public class WashClothingOrderDTO extends PageDTO implements Serializable {
    private static final long serialVersionUID = -48000090274098667L;

    private Integer id;
    /**
     * 预约人姓名
     */
    private String name;
    /**
     * 消费金额
     */
    private Double usePrice;
    /**
     * 预约人 id
     */
    private String userId;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 所在单位
     */
    private String unit;
    /**
     * 下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date orderTime;
    /**
     * 备注（200字以内）
     */
    private String remarks;
    /**
     * 创建人
     */
    private String createdBy;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;
    /**
     * 修改人
     */
    private String updatedBy;
    /**
     * 逻辑删除标识，1表示已删除，0表示未删除
     */
    private String isDeleted;

    private Integer tenantId;
    /**
     * 预约 状态  0  已预约 1 取消预约
     */
    private String status;

    /**
     * 订单信息
     */
    @TableField(exist = false)
    private List<WashClothingOrderInfo> orderInfoList;


    /**
     * 时间 type  0 自定义,1 是 月份 2 是季度 3 是年
     * @return
     */
    private String timeType;

    /**
     * 年
     */
    private Integer year;
    /**
     * 季度 1,2,3,4
     */
    private Integer quarter;

    /**
     * 月份
     */
    private String yearMonth;

    /**
     * 自定义开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date beginTime;
    /**
     * 自定义结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

    /**
     * 结束时间
     */
    private String stopTime;

    /**
     * 开始时间
     */
    private String runTime;



    public List<WashClothingOrderInfo> getOrderInfoList() {
        return orderInfoList;
    }

    public void setOrderInfoList(List<WashClothingOrderInfo> orderInfoList) {
        this.orderInfoList = orderInfoList;
    }




    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getUsePrice() {
        return usePrice;
    }

    public void setUsePrice(Double usePrice) {
        this.usePrice = usePrice;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Date getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(Date orderTime) {
        this.orderTime = orderTime;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public Date getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    public String getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(String isDeleted) {
        this.isDeleted = isDeleted;
    }

    public Integer getTenantId() {
        return tenantId;
    }

    public void setTenantId(Integer tenantId) {
        this.tenantId = tenantId;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }


    @Override
    public String toString() {
        return "WashClothingOrder{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", usePrice=" + usePrice +
                ", userId='" + userId + '\'' +
                ", phone='" + phone + '\'' +
                ", unit='" + unit + '\'' +
                ", orderTime=" + orderTime +
                ", remarks='" + remarks + '\'' +
                ", createdBy='" + createdBy + '\'' +
                ", createdTime=" + createdTime +
                ", updatedTime=" + updatedTime +
                ", updatedBy='" + updatedBy + '\'' +
                ", isDeleted='" + isDeleted + '\'' +
                ", tenantId=" + tenantId +
                ", status='" + status + '\'' +
                '}';
    }
}

