package com.ssm.manage.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.models.auth.In;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;

@Table(name = "promotion_list")
public class PromotionList implements Serializable {
    /**
     * 主键ID
     */
    @Id
    private Long id;

    /**
     * 门店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 BigDecimal saleMoney;

    /**
     * 促销方案总价
     */
    @Column(name = "total_money")
    private BigDecimal 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 = "suitable_store")
    private Integer suitableStore;

    /**
     * 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 BigDecimal salesCommission;

    /**
     * 卡付销售提成，大于1表示固定提成，小于等于1表示比率提成
     */
    @Column(name = "card_sales_commission")
    private BigDecimal 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:买就送
     */
    private Integer type;


    /**
     * 选择性项目促销的选择项目数
     */
    @Column(name = "project_count")
    private Integer projectCount;

    /**
     * 选择性项目促销的选择项目数
     */
    @Column(name = "project_total")
    private Integer projectTotal;


    /**
     * 随心选总价方式（0=固定价，1=选择项目金额和）
     */
    @Column(name = "money_type")
    private Integer moneyType;

    /**
     * 促销项目有效期 单位:月
     */
    /*@Column(name = "valid_time")
    private Integer validTime;

    public Integer getValidTime() {
        return validTime;
    }

    public void setValidTime(Integer validTime) {
        this.validTime = validTime;
    }*/

    public Integer getMoneyType() {
        return moneyType;
    }

    public void setMoneyType(Integer moneyType) {
        this.moneyType = moneyType;
    }

    public Integer getProjectTotal() {
        return projectTotal;
    }

    public void setProjectTotal(Integer projectTotal) {
        this.projectTotal = projectTotal;
    }

    public Integer getProjectCount() {
        return projectCount;
    }

    public void setProjectCount(Integer projectCount) {
        this.projectCount = projectCount;
    }

    private static final long serialVersionUID = 1L;

    /**
     * 获取主键ID
     *
     * @return id - 主键ID
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置主键ID
     *
     * @param id 主键ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取门店ID
     *
     * @return store_id - 门店ID
     */
    public Long getStoreId() {
        return storeId;
    }

    /**
     * 设置门店ID
     *
     * @param storeId 门店ID
     */
    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    /**
     * 获取门店名称
     *
     * @return store_name - 门店名称
     */
    public String getStoreName() {
        return storeName;
    }

    /**
     * 设置门店名称
     *
     * @param storeName 门店名称
     */
    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    /**
     * 获取促销方案编码
     *
     * @return promotion_num - 促销方案编码
     */
    public String getPromotionNum() {
        return promotionNum;
    }

    /**
     * 设置促销方案编码
     *
     * @param promotionNum 促销方案编码
     */
    public void setPromotionNum(String promotionNum) {
        this.promotionNum = promotionNum;
    }

    /**
     * 获取促销方案名称
     *
     * @return promotion_name - 促销方案名称
     */
    public String getPromotionName() {
        return promotionName;
    }

    /**
     * 设置促销方案名称
     *
     * @param promotionName 促销方案名称
     */
    public void setPromotionName(String promotionName) {
        this.promotionName = promotionName;
    }

    /**
     * 获取促销方案售价
     *
     * @return sale_money - 促销方案售价
     */
    public BigDecimal getSaleMoney() {
        return saleMoney;
    }

    /**
     * 设置促销方案售价
     *
     * @param saleMoney 促销方案售价
     */
    public void setSaleMoney(BigDecimal saleMoney) {
        this.saleMoney = saleMoney;
    }

    /**
     * 获取促销方案总价
     *
     * @return total_money - 促销方案总价
     */
    public BigDecimal getTotalMoney() {
        return totalMoney;
    }

    /**
     * 设置促销方案总价
     *
     * @param totalMoney 促销方案总价
     */
    public void setTotalMoney(BigDecimal totalMoney) {
        this.totalMoney = totalMoney;
    }

    /**
     * 获取开始时间
     *
     * @return begin_date - 开始时间
     */
    public Date getBeginDate() {
        return beginDate;
    }

    /**
     * 设置开始时间
     *
     * @param beginDate 开始时间
     */
    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    /**
     * 获取结束时间
     *
     * @return end_date - 结束时间
     */
    public Date getEndDate() {
        return endDate;
    }

    /**
     * 设置结束时间
     *
     * @param endDate 结束时间
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /**
     * 获取适用对象0:所有会员/1:生日会员/2:指定会员
     *
     * @return suitable_object - 适用对象0:所有会员/1:生日会员/2:指定会员
     */
    public Integer getSuitableObject() {
        return suitableObject;
    }

    /**
     * 设置适用对象0:所有会员/1:生日会员/2:指定会员
     *
     * @param suitableObject 适用对象0:所有会员/1:生日会员/2:指定会员
     */
    public void setSuitableObject(Integer suitableObject) {
        this.suitableObject = suitableObject;
    }

    /**
     * 获取0:不限购/1:限购
     *
     * @return limit_buy - 0:不限购/1:限购
     */
    public Integer getLimitBuy() {
        return limitBuy;
    }

    /**
     * 设置0:不限购/1:限购
     *
     * @param limitBuy 0:不限购/1:限购
     */
    public void setLimitBuy(Integer limitBuy) {
        this.limitBuy = limitBuy;
    }

    /**
     * 获取限购次数
     *
     * @return limit_count - 限购次数
     */
    public Integer getLimitCount() {
        return limitCount;
    }

    /**
     * 设置限购次数
     *
     * @param limitCount 限购次数
     */
    public void setLimitCount(Integer limitCount) {
        this.limitCount = limitCount;
    }

    /**
     * 获取创建时间
     *
     * @return created_date - 创建时间
     */
    public Date getCreatedDate() {
        return createdDate;
    }

    /**
     * 设置创建时间
     *
     * @param createdDate 创建时间
     */
    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    /**
     * 获取创建人ID
     *
     * @return created_id - 创建人ID
     */
    public Long getCreatedId() {
        return createdId;
    }

    /**
     * 设置创建人ID
     *
     * @param createdId 创建人ID
     */
    public void setCreatedId(Long createdId) {
        this.createdId = createdId;
    }

    /**
     * 获取创建人名称
     *
     * @return created_by - 创建人名称
     */
    public String getCreatedBy() {
        return createdBy;
    }

    /**
     * 设置创建人名称
     *
     * @param createdBy 创建人名称
     */
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    /**
     * 获取修改时间
     *
     * @return update_date - 修改时间
     */
    public Date getUpdateDate() {
        return updateDate;
    }

    /**
     * 设置修改时间
     *
     * @param updateDate 修改时间
     */
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    /**
     * 获取修改人ID
     *
     * @return updated_id - 修改人ID
     */
    public Long getUpdatedId() {
        return updatedId;
    }

    /**
     * 设置修改人ID
     *
     * @param updatedId 修改人ID
     */
    public void setUpdatedId(Long updatedId) {
        this.updatedId = updatedId;
    }

    /**
     * 获取修改人名称
     *
     * @return updated_by - 修改人名称
     */
    public String getUpdatedBy() {
        return updatedBy;
    }

    /**
     * 设置修改人名称
     *
     * @param updatedBy 修改人名称
     */
    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    /**
     * 获取审核人时间
     *
     * @return audit_date - 审核人时间
     */
    public Date getAuditDate() {
        return auditDate;
    }

    /**
     * 设置审核人时间
     *
     * @param auditDate 审核人时间
     */
    public void setAuditDate(Date auditDate) {
        this.auditDate = auditDate;
    }

    /**
     * 获取审核人ID
     *
     * @return audit_id - 审核人ID
     */
    public Long getAuditId() {
        return auditId;
    }

    /**
     * 设置审核人ID
     *
     * @param auditId 审核人ID
     */
    public void setAuditId(Long auditId) {
        this.auditId = auditId;
    }

    /**
     * 获取审核人名称
     *
     * @return audit_by - 审核人名称
     */
    public String getAuditBy() {
        return auditBy;
    }

    /**
     * 设置审核人名称
     *
     * @param auditBy 审核人名称
     */
    public void setAuditBy(String auditBy) {
        this.auditBy = auditBy;
    }

    /**
     * 获取状态0:添加/1:修改/2:送审/3:回收/4:审核/5:反审核
     *
     * @return state - 状态0:添加/1:修改/2:送审/3:回收/4:审核/5:反审核
     */
    public Integer getState() {
        return state;
    }

    /**
     * 设置状态0:添加/1:修改/2:送审/3:回收/4:审核/5:反审核
     *
     * @param state 状态0:添加/1:修改/2:送审/3:回收/4:审核/5:反审核
     */
    public void setState(Integer state) {
        this.state = state;
    }

    /**
     * 获取现付销售提成，大于1表示固定提成，小于等于1表示比率提成 
     *
     * @return sales_commission - 现付销售提成，大于1表示固定提成，小于等于1表示比率提成 
     */
    public BigDecimal getSalesCommission() {
        return salesCommission;
    }

    /**
     * 设置现付销售提成，大于1表示固定提成，小于等于1表示比率提成 
     *
     * @param salesCommission 现付销售提成，大于1表示固定提成，小于等于1表示比率提成 
     */
    public void setSalesCommission(BigDecimal salesCommission) {
        this.salesCommission = salesCommission;
    }

    /**
     * 获取卡付销售提成，大于1表示固定提成，小于等于1表示比率提成
     *
     * @return card_sales_commission - 卡付销售提成，大于1表示固定提成，小于等于1表示比率提成
     */
    public BigDecimal getCardSalesCommission() {
        return cardSalesCommission;
    }

    /**
     * 设置卡付销售提成，大于1表示固定提成，小于等于1表示比率提成
     *
     * @param cardSalesCommission 卡付销售提成，大于1表示固定提成，小于等于1表示比率提成
     */
    public void setCardSalesCommission(BigDecimal cardSalesCommission) {
        this.cardSalesCommission = cardSalesCommission;
    }

    /**
     * 获取0:未发布/1:已发布
     *
     * @return push_state - 0:未发布/1:已发布
     */
    public Integer getPushState() {
        return pushState;
    }

    /**
     * 设置0:未发布/1:已发布
     *
     * @param pushState 0:未发布/1:已发布
     */
    public void setPushState(Integer pushState) {
        this.pushState = pushState;
    }

    /**
     * 获取发布状态进行推送次数
     *
     * @return push_count - 发布状态进行推送次数
     */
    public Integer getPushCount() {
        return pushCount;
    }

    /**
     * 设置发布状态进行推送次数
     *
     * @param pushCount 发布状态进行推送次数
     */
    public void setPushCount(Integer pushCount) {
        this.pushCount = pushCount;
    }

    /**
     * 获取0:不允许充值卡付/1:允许充值卡付
     *
     * @return card_buy - 0:不允许充值卡付/1:允许充值卡付
     */
    public Integer getCardBuy() {
        return cardBuy;
    }

    /**
     * 设置0:不允许充值卡付/1:允许充值卡付
     *
     * @param cardBuy 0:不允许充值卡付/1:允许充值卡付
     */
    public void setCardBuy(Integer cardBuy) {
        this.cardBuy = cardBuy;
    }

    /**
     * 获取0:折扣卡不允许打折赠送卡不允许使用赠送金额/1:折扣卡允许打折赠送卡允许使用赠送金额
     *
     * @return card_limit - 0:折扣卡不允许打折赠送卡不允许使用赠送金额/1:折扣卡允许打折赠送卡允许使用赠送金额
     */
    public Integer getCardLimit() {
        return cardLimit;
    }

    /**
     * 设置0:折扣卡不允许打折赠送卡不允许使用赠送金额/1:折扣卡允许打折赠送卡允许使用赠送金额
     *
     * @param cardLimit 0:折扣卡不允许打折赠送卡不允许使用赠送金额/1:折扣卡允许打折赠送卡允许使用赠送金额
     */
    public void setCardLimit(Integer cardLimit) {
        this.cardLimit = cardLimit;
    }

    /**
     * 获取0:包项目/1:买就送
     *
     * @return type - 0:包项目/1:买就送
     */
    public Integer getType() {
        return type;
    }

    /**
     * 设置0:包项目/1:买就送
     *
     * @param type 0:包项目/1:买就送
     */
    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getSuitableStore() {
        return suitableStore;
    }

    public void setSuitableStore(Integer suitableStore) {
        this.suitableStore = suitableStore;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        PromotionList other = (PromotionList) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getStoreId() == null ? other.getStoreId() == null : this.getStoreId().equals(other.getStoreId()))
            && (this.getStoreName() == null ? other.getStoreName() == null : this.getStoreName().equals(other.getStoreName()))
            && (this.getPromotionNum() == null ? other.getPromotionNum() == null : this.getPromotionNum().equals(other.getPromotionNum()))
            && (this.getPromotionName() == null ? other.getPromotionName() == null : this.getPromotionName().equals(other.getPromotionName()))
            && (this.getSaleMoney() == null ? other.getSaleMoney() == null : this.getSaleMoney().equals(other.getSaleMoney()))
            && (this.getTotalMoney() == null ? other.getTotalMoney() == null : this.getTotalMoney().equals(other.getTotalMoney()))
            && (this.getBeginDate() == null ? other.getBeginDate() == null : this.getBeginDate().equals(other.getBeginDate()))
            && (this.getEndDate() == null ? other.getEndDate() == null : this.getEndDate().equals(other.getEndDate()))
            && (this.getSuitableObject() == null ? other.getSuitableObject() == null : this.getSuitableObject().equals(other.getSuitableObject()))
            && (this.getLimitBuy() == null ? other.getLimitBuy() == null : this.getLimitBuy().equals(other.getLimitBuy()))
            && (this.getLimitCount() == null ? other.getLimitCount() == null : this.getLimitCount().equals(other.getLimitCount()))
            && (this.getCreatedDate() == null ? other.getCreatedDate() == null : this.getCreatedDate().equals(other.getCreatedDate()))
            && (this.getCreatedId() == null ? other.getCreatedId() == null : this.getCreatedId().equals(other.getCreatedId()))
            && (this.getCreatedBy() == null ? other.getCreatedBy() == null : this.getCreatedBy().equals(other.getCreatedBy()))
            && (this.getUpdateDate() == null ? other.getUpdateDate() == null : this.getUpdateDate().equals(other.getUpdateDate()))
            && (this.getUpdatedId() == null ? other.getUpdatedId() == null : this.getUpdatedId().equals(other.getUpdatedId()))
            && (this.getUpdatedBy() == null ? other.getUpdatedBy() == null : this.getUpdatedBy().equals(other.getUpdatedBy()))
            && (this.getAuditDate() == null ? other.getAuditDate() == null : this.getAuditDate().equals(other.getAuditDate()))
            && (this.getAuditId() == null ? other.getAuditId() == null : this.getAuditId().equals(other.getAuditId()))
            && (this.getAuditBy() == null ? other.getAuditBy() == null : this.getAuditBy().equals(other.getAuditBy()))
            && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()))
            && (this.getSalesCommission() == null ? other.getSalesCommission() == null : this.getSalesCommission().equals(other.getSalesCommission()))
            && (this.getCardSalesCommission() == null ? other.getCardSalesCommission() == null : this.getCardSalesCommission().equals(other.getCardSalesCommission()))
            && (this.getPushState() == null ? other.getPushState() == null : this.getPushState().equals(other.getPushState()))
            && (this.getPushCount() == null ? other.getPushCount() == null : this.getPushCount().equals(other.getPushCount()))
            && (this.getCardBuy() == null ? other.getCardBuy() == null : this.getCardBuy().equals(other.getCardBuy()))
            && (this.getCardLimit() == null ? other.getCardLimit() == null : this.getCardLimit().equals(other.getCardLimit()))
            && (this.getSuitableStore() == null ? other.getSuitableStore() == null : this.getSuitableStore().equals(other.getSuitableStore()))
            && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getStoreId() == null) ? 0 : getStoreId().hashCode());
        result = prime * result + ((getStoreName() == null) ? 0 : getStoreName().hashCode());
        result = prime * result + ((getPromotionNum() == null) ? 0 : getPromotionNum().hashCode());
        result = prime * result + ((getPromotionName() == null) ? 0 : getPromotionName().hashCode());
        result = prime * result + ((getSaleMoney() == null) ? 0 : getSaleMoney().hashCode());
        result = prime * result + ((getTotalMoney() == null) ? 0 : getTotalMoney().hashCode());
        result = prime * result + ((getBeginDate() == null) ? 0 : getBeginDate().hashCode());
        result = prime * result + ((getEndDate() == null) ? 0 : getEndDate().hashCode());
        result = prime * result + ((getSuitableObject() == null) ? 0 : getSuitableObject().hashCode());
        result = prime * result + ((getLimitBuy() == null) ? 0 : getLimitBuy().hashCode());
        result = prime * result + ((getLimitCount() == null) ? 0 : getLimitCount().hashCode());
        result = prime * result + ((getCreatedDate() == null) ? 0 : getCreatedDate().hashCode());
        result = prime * result + ((getCreatedId() == null) ? 0 : getCreatedId().hashCode());
        result = prime * result + ((getCreatedBy() == null) ? 0 : getCreatedBy().hashCode());
        result = prime * result + ((getUpdateDate() == null) ? 0 : getUpdateDate().hashCode());
        result = prime * result + ((getUpdatedId() == null) ? 0 : getUpdatedId().hashCode());
        result = prime * result + ((getUpdatedBy() == null) ? 0 : getUpdatedBy().hashCode());
        result = prime * result + ((getAuditDate() == null) ? 0 : getAuditDate().hashCode());
        result = prime * result + ((getAuditId() == null) ? 0 : getAuditId().hashCode());
        result = prime * result + ((getAuditBy() == null) ? 0 : getAuditBy().hashCode());
        result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
        result = prime * result + ((getSalesCommission() == null) ? 0 : getSalesCommission().hashCode());
        result = prime * result + ((getCardSalesCommission() == null) ? 0 : getCardSalesCommission().hashCode());
        result = prime * result + ((getPushState() == null) ? 0 : getPushState().hashCode());
        result = prime * result + ((getPushCount() == null) ? 0 : getPushCount().hashCode());
        result = prime * result + ((getCardBuy() == null) ? 0 : getCardBuy().hashCode());
        result = prime * result + ((getCardLimit() == null) ? 0 : getCardLimit().hashCode());
        result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
        result = prime * result + ((getSuitableStore() == null) ? 0 : getSuitableStore().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", storeId=").append(storeId);
        sb.append(", storeName=").append(storeName);
        sb.append(", promotionNum=").append(promotionNum);
        sb.append(", promotionName=").append(promotionName);
        sb.append(", saleMoney=").append(saleMoney);
        sb.append(", totalMoney=").append(totalMoney);
        sb.append(", beginDate=").append(beginDate);
        sb.append(", endDate=").append(endDate);
        sb.append(", suitableObject=").append(suitableObject);
        sb.append(", limitBuy=").append(limitBuy);
        sb.append(", limitCount=").append(limitCount);
        sb.append(", createdDate=").append(createdDate);
        sb.append(", createdId=").append(createdId);
        sb.append(", createdBy=").append(createdBy);
        sb.append(", updateDate=").append(updateDate);
        sb.append(", updatedId=").append(updatedId);
        sb.append(", updatedBy=").append(updatedBy);
        sb.append(", auditDate=").append(auditDate);
        sb.append(", auditId=").append(auditId);
        sb.append(", auditBy=").append(auditBy);
        sb.append(", state=").append(state);
        sb.append(", salesCommission=").append(salesCommission);
        sb.append(", cardSalesCommission=").append(cardSalesCommission);
        sb.append(", pushState=").append(pushState);
        sb.append(", pushCount=").append(pushCount);
        sb.append(", cardBuy=").append(cardBuy);
        sb.append(", cardLimit=").append(cardLimit);
        sb.append(", type=").append(type);
        sb.append(", suitableStore=").append(suitableStore);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}