package com.ssm.manage.query;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.ssm.manage.entity.PromotionUnit;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.persistence.Column;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * (PromotionUnit)实体类
 *
 * @author makejava
 * @since 2021-12-23 17:17:04
 */
@Setter
@Getter
@ToString
@Table(name = "promotion_unit")
@JsonIgnoreProperties(ignoreUnknown = true)
public class PromotionUnitRequest {

    /**
     * 门店列表
     */
    @Column(name = "promotionUnits")
    private List<PromotionUnit> promotionUnits;

    /**
     * 促销门店关系ID
     */
    private Long promotionId;
    /**
     * 门店ID
     */
    private Long storeId;
    /**
     * 门店名称
     */
    private String storeName;
    /**
     * 促销方案编码
     */
    private String promotionNum;
    /**
     * 促销方案名称
     */
    private String promotionName;
    /**
     * 促销方案售价
     */
    private Double saleMoney;
    /**
     * 促销方案总价
     */
    private Double totalMoney;
    /**
     * 开始时间
     */
    private Date beginDate;
    /**
     * 结束时间
     */
    private Date endDate;
    /**
     * 适用对象0:所有会员/1:生日会员/2:指定会员
     */
    private Integer suitableObject;
    /**
     * 0:不限购/1:限购
     */
    private Integer limitBuy;
    /**
     * 限购次数
     */
    private Integer limitCount;
    /**
     * 创建时间
     */
    private Date createdDate;
    /**
     * 创建人ID
     */
    private Long createdId;
    /**
     * 创建人名称
     */
    private String createdBy;
    /**
     * 修改时间
     */
    private Date updateDate;
    /**
     * 修改人ID
     */
    private Long updatedId;
    /**
     * 修改人名称
     */
    private String updatedBy;
    /**
     * 审核人时间
     */
    private Date auditDate;
    /**
     * 审核人ID
     */
    private Long auditId;
    /**
     * 审核人名称
     */
    private String auditBy;
    /**
     * 状态0:添加/1:修改/2:送审/3:回收/4:审核/5:反审核/6:关闭
     */
    private Integer state;
    /**
     * 现付销售提成，大于1表示固定提成，小于等于1表示比率提成
     */
    private Double salesCommission;
    /**
     * 卡付销售提成，大于1表示固定提成，小于等于1表示比率提成
     */
    private Double cardSalesCommission;
    /**
     * 0:未发布/1:已发布
     */
    private Integer pushState;
    /**
     * 发布状态进行推送次数
     */
    private Integer pushCount;
    /**
     * 0:不允许充值卡付/1:允许充值卡付
     */
    private Integer cardBuy;
    /**
     * 0:折扣卡不允许打折赠送卡不允许使用赠送金额/1:折扣卡允许打折赠送卡允许使用赠送金额
     */
    private Integer cardLimit;
    /**
     * 0:包项目/1:买就送
     */
    private Integer type;
    /**
     * 促销主表ID
     */
    private Long id;

}
