package com.ssm.manage.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ssm.manage.entity.BaseGrouponList;
import com.ssm.manage.entity.PayList;
import com.ssm.manage.entity.Salesman;
import com.ssm.manage.entity.UploadFiles;
import com.ssm.manage.page.BasePage;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 团购卡单据(BaseGrouponCard)实体类
 *
 * @author makejava
 * @since 2022-04-29 11:11:39
 */
@Table(name = "base_groupon_card")
@Setter
@Getter
@ToString
@JsonIgnoreProperties(ignoreUnknown = true)
public class BaseGrouponCardRequest extends BasePage{

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
    @Transient
    private String  payListList;
    private int isSendSms;
    /**
     * id
     */
    @Id
    private Long id;
    /**
     * 状态（0=新增，1=送审，2=回收，3=审核，4=反审核）
     */
    @Column(name = "state")
    private Integer state;
    private String remakr;
    /**
     * 单据号码
     */
    @Column(name = "doc_num")
    private String docNum;
    /**
     * 单据日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "doc_date")
    private Date docDate;
    /**
     * 充值类型ID
     */
    @Column(name = "recharge_type_id")
    private Long rechargeTypeId;
    /**
     * 充值类型编码
     */
    @Column(name = "recharge_type_num")
    private String rechargeTypeNum;
    /**
     * 充值类型名称
     */
    @Column(name = "recharge_type_name")
    private String rechargeTypeName;
    /**
     * 门店编码
     */
    @Column(name = "store_id")
    private Long storeId;
    /**
     * 门店名称
     */
    @Column(name = "store_name")
    private String storeName;
    /**
     * 到期日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "expire_date")
    private Date expireDate;
    /**
     * 享受优惠
     */
    @Column(name = "discount")
    private BigDecimal discount;
    /**
     * 类别充值金额
     */
    @Column(name = "recharge_money")
    private BigDecimal rechargeMoney;
    /**
     * 数量（份数）
     */
    @Column(name = "quantity")
    private Integer quantity;
    /**
     * 建立人（用户名称（用户编码）），来源于员工档案
     */
    @Column(name = "input_by")
    private String inputBy;
    /**
     * 建立日期
     */
    @Column(name = "input_date")
    private Date inputDate;
    /**
     * 最近修改人（用户名称（用户编码）），来源于员工档案
     */
    @Column(name = "update_by")
    private String updateBy;
    /**
     * 最近修改时间
     */
    @Column(name = "update_date")
    private Date updateDate;
    /**
     * 审核人
     */
    @Column(name = "audit_by")
    private String auditBy;
    /**
     * 审核时间
     */
    @Column(name = "audit_date")
    private Date auditDate;
    /**
     * 销售员1水牌号
     */
    @Column(name = "sale_one_number")
    private String saleOneNumber;
    /**
     * 销售员2水牌号
     */
    @Column(name = "sale_two_number")
    private String saleTwoNumber;
    /**
     * 销售员3水牌号
     */
    @Column(name = "sale_three_number")
    private String saleThreeNumber;
    /**
     * 销售员4水牌号
     */
    @Column(name = "sale_four_number")
    private String saleFourNumber;
    /**
     * 销售员1编码
     */
    @Column(name = "sale_one_staff_id")
    private Long saleOneStaffId;
    /**
     * 销售员2编码
     */
    @Column(name = "sale_two_staff_id")
    private Long saleTwoStaffId;
    /**
     * 销售员3编码
     */
    @Column(name = "sale_three_staff_id")
    private Long saleThreeStaffId;
    /**
     * 销售员4编码
     */
    @Column(name = "sale_four_staff_id")
    private Long saleFourStaffId;
    /**
     * 销售员1名称
     */
    @Column(name = "sale_one_staff_name")
    private String saleOneStaffName;
    /**
     * 销售员2名称
     */
    @Column(name = "sale_two_staff_name")
    private String saleTwoStaffName;
    /**
     * 销售员3名称
     */
    @Column(name = "sale_three_staff_name")
    private String saleThreeStaffName;
    /**
     * 销售员4名称
     */
    @Column(name = "sale_four_staff_name")
    private String saleFourStaffName;
    /**
     * 销售员1身份证号
     */
    @Column(name = "sale_one_identity")
    private String saleOneIdentity;
    /**
     * 销售员2身份证号
     */
    @Column(name = "sale_two_identity")
    private String saleTwoIdentity;
    /**
     * 销售员3身份证号
     */
    @Column(name = "sale_three_identity")
    private String saleThreeIdentity;
    /**
     * 销售员4身份证号
     */
    @Column(name = "sale_four_identity")
    private String saleFourIdentity;
    /**
     * 销售员1占比
     */
    @Column(name = "sale_one_ratio")
    private BigDecimal saleOneRatio;
    /**
     * 销售员2占比
     */
    @Column(name = "sale_two_ratio")
    private BigDecimal saleTwoRatio;
    /**
     * 销售员3占比
     */
    @Column(name = "sale_three_ratio")
    private BigDecimal saleThreeRatio;
    /**
     * 销售员4占比
     */
    @Column(name = "sale_four_ratio")
    private BigDecimal saleFourRatio;

    /**
     * 销售员4占比
     */
    @Column(name = "remark")
    private String remark;

    /**
     * 销售员4占比
     */
    @Column(name = "type_ratio")
    private BigDecimal typeRatio;

    //业务员列表
    //private List<StaffRequest> staffLists;
    private String staffLists;

    //团购名单
    private String baseGrouponLists;

    private List<UploadFiles> uploadFiles;
    //private List<Salesman> salesmens;
    private String salesmens;

    private List<String> memberPhone;
}

