package com.hzs.common.domain.system.config;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 店铺配置
 * </p>
 *
 * @author zhangjing
 * @since 2022-09-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("BD_SHOP")
@KeySequence("BD_SHOP_SEQ")
public class BdShop extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("PK_ID")
    private Integer pkId;

    /**
     * 配送等级
     */
    @Excel(name = "配送等级",sort=1)
    @TableField("SHOP_NAME")
    private String shopName;

    /**
     * 翻译key
     */
    @TableField("PK_TRANSACTION")
    private Integer pkTransaction;

    /**
     * 店铺值
     */
    @TableField("SHOP_VALUE")
    private Integer shopValue;

    /**
     * 统计值
     */
    @TableField("CENSUS_VALUE")
    @Transaction(transactionKey = EnumsPrefixConstants.STATISTICAL_VALUE)
    private Integer censusValue;

    /**
     * 结算业绩
     */
    @Excel(name = "结算金额/业绩",sort=5)
    @TableField("SETTLE_VALUE")
    private BigDecimal settleValue;

    /**
     * 配送费
     */
    @Excel(name = "配送费%",sort=6)
    @TableField("DELIVERY_FEE")
    private BigDecimal deliveryFee;

    /**
     * 折扣
     */
    @TableField("DISCOUNT")
    private BigDecimal discount;

    /**
     * 注册金额
     */
    @Excel(name = "注册金额$",sort=2)
    @TableField("REGISTER_VALUE")
    private BigDecimal registerValue;
    /**
     * 生效日期
     */
    @Excel(name = "生效时间",sort=7,dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("EFFECTIVE_DATE")
    private Date effectiveDate;

    /**
     * 启用状态 EnableStatus
     */
    @TableField("ENABLE_STATE")
    private Integer enableState;


}
