package com.ssm.manage.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * (PromotionUnit)实体类
 *
 * @author makejava
 * @since 2021-12-23 17:17:04
 */
@Table(name = "promotion_unit")
public class PromotionUnit implements Serializable {
    private static final long serialVersionUID = 337963910795179128L;
    /**
     * 促销门店关系ID
     */
    @Id
    private Long promotionId;
    /**
     * 门店ID
     */
    @Column(name = "store_id")
    private Long storeId;
    /**
     * 门店名称
     */
    @Column(name = "store_name")
    private String storeName;
    /**
     * 促销方案编码
     */
    @Column(name = "promotion_num")
    private String promotionNum;
    /**
     * 促销方案名称
     */
    @Column(name = "promotion_name")
    private String promotionName;
    /**
     * 促销方案售价
     */
    @Column(name = "sale_money")
    private Double saleMoney;
    /**
     * 促销方案总价
     */
    @Column(name = "total_money")
    private Double totalMoney;
    /**
     * 开始时间
     */
    @Column(name = "begin_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date beginDate;
    /**
     * 结束时间
     */
    @Column(name = "end_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endDate;
    /**
     * 适用对象0:所有会员/1:生日会员/2:指定会员
     */
    @Column(name = "suitable_object")
    private Integer suitableObject;
    /**
     * 0:不限购/1:限购
     */
    @Column(name = "limit_buy")
    private Integer limitBuy;
    /**
     * 限购次数
     */
    @Column(name = "limit_count")
    private Integer limitCount;
    /**
     * 创建时间
     */
    @Column(name = "created_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdDate;
    /**
     * 创建人ID
     */
    @Column(name = "created_id")
    private Long createdId;
    /**
     * 创建人名称
     */
    @Column(name = "created_by")
    private String createdBy;
    /**
     * 修改时间
     */
    @Column(name = "update_date")
    private Date updateDate;
    /**
     * 修改人ID
     */
    @Column(name = "updated_id")
    private Long updatedId;
    /**
     * 修改人名称
     */
    @Column(name = "updated_by")
    private String updatedBy;
    /**
     * 审核人时间
     */
    @Column(name = "audit_date")
    private Date auditDate;
    /**
     * 审核人ID
     */
    @Column(name = "audit_id")
    private Long auditId;
    /**
     * 审核人名称
     */
    @Column(name = "audit_by")
    private String auditBy;
    /**
     * 状态0:添加/1:修改/2:送审/3:回收/4:审核/5:反审核/6:关闭
     */
    private Integer state;
    /**
     * 现付销售提成，大于1表示固定提成，小于等于1表示比率提成
     */
    @Column(name = "sales_commission")
    private Double salesCommission;
    /**
     * 卡付销售提成，大于1表示固定提成，小于等于1表示比率提成
     */
    @Column(name = "card_sales_commission")
    private Double cardSalesCommission;
    /**
     * 0:未发布/1:已发布
     */
    @Column(name = "push_state")
    private Integer pushState;
    /**
     * 发布状态进行推送次数
     */
    @Column(name = "push_count")
    private Integer pushCount;
    /**
     * 0:不允许充值卡付/1:允许充值卡付
     */
    @Column(name = "card_buy")
    private Integer cardBuy;
    /**
     * 0:折扣卡不允许打折赠送卡不允许使用赠送金额/1:折扣卡允许打折赠送卡允许使用赠送金额
     */
    @Column(name = "card_limit")
    private Integer cardLimit;
    /**
     * 0:包项目/1:买就送
     */
    @Column(name = "type")
    private Integer type;
    /**
     * 促销主表ID
     */
    @Column(name = "id")
    private Long id;


    public Long getPromotionId() {
        return promotionId;
    }

    public void setPromotionId(Long promotionId) {
        this.promotionId = promotionId;
    }

    public Long getStoreId() {
        return storeId;
    }

    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public String getPromotionNum() {
        return promotionNum;
    }

    public void setPromotionNum(String promotionNum) {
        this.promotionNum = promotionNum;
    }

    public String getPromotionName() {
        return promotionName;
    }

    public void setPromotionName(String promotionName) {
        this.promotionName = promotionName;
    }

    public Double getSaleMoney() {
        return saleMoney;
    }

    public void setSaleMoney(Double saleMoney) {
        this.saleMoney = saleMoney;
    }

    public Double getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(Double totalMoney) {
        this.totalMoney = totalMoney;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Integer getSuitableObject() {
        return suitableObject;
    }

    public void setSuitableObject(Integer suitableObject) {
        this.suitableObject = suitableObject;
    }

    public Integer getLimitBuy() {
        return limitBuy;
    }

    public void setLimitBuy(Integer limitBuy) {
        this.limitBuy = limitBuy;
    }

    public Integer getLimitCount() {
        return limitCount;
    }

    public void setLimitCount(Integer limitCount) {
        this.limitCount = limitCount;
    }

    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    public Long getCreatedId() {
        return createdId;
    }

    public void setCreatedId(Long createdId) {
        this.createdId = createdId;
    }

    public String getCreatedBy() {
        return createdBy;
    }

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

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public Long getUpdatedId() {
        return updatedId;
    }

    public void setUpdatedId(Long updatedId) {
        this.updatedId = updatedId;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

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

    public Date getAuditDate() {
        return auditDate;
    }

    public void setAuditDate(Date auditDate) {
        this.auditDate = auditDate;
    }

    public Long getAuditId() {
        return auditId;
    }

    public void setAuditId(Long auditId) {
        this.auditId = auditId;
    }

    public String getAuditBy() {
        return auditBy;
    }

    public void setAuditBy(String auditBy) {
        this.auditBy = auditBy;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Double getSalesCommission() {
        return salesCommission;
    }

    public void setSalesCommission(Double salesCommission) {
        this.salesCommission = salesCommission;
    }

    public Double getCardSalesCommission() {
        return cardSalesCommission;
    }

    public void setCardSalesCommission(Double cardSalesCommission) {
        this.cardSalesCommission = cardSalesCommission;
    }

    public Integer getPushState() {
        return pushState;
    }

    public void setPushState(Integer pushState) {
        this.pushState = pushState;
    }

    public Integer getPushCount() {
        return pushCount;
    }

    public void setPushCount(Integer pushCount) {
        this.pushCount = pushCount;
    }

    public Integer getCardBuy() {
        return cardBuy;
    }

    public void setCardBuy(Integer cardBuy) {
        this.cardBuy = cardBuy;
    }

    public Integer getCardLimit() {
        return cardLimit;
    }

    public void setCardLimit(Integer cardLimit) {
        this.cardLimit = cardLimit;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Long getId() {
        return id;
    }

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

}
