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.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.enums.ESettlePeriod;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 奖项配置
 * </p>
 *
 * @author zhangjing
 * @since 2022-11-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("BD_BONUS_ITEMS")
@KeySequence("BD_BONUS_ITEMS_SEQ")
public class BdBonusItems extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId("PK_ID")
    private Integer pkId;

    /**
     * 奖金名称
     */
    @Excel(name = "奖金名称",sort=1)
    @TableField("BONUS_NAME")
    private String bonusName;

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

    /**
     * 奖金值
     */
    @TableField("BONUS_VALUE")
    private Integer bonusValue;

    /**
     * 是否启用
     */
    @TableField("ENABLE_STATE")
    private Integer enableState;

    /**
     * 结算周期
     */
    @TableField("SETTLE_TYPE")
    @Transaction(transactionKey = EnumsPrefixConstants.SETTLE_PERIOD)
    private Integer settleType;

    /**
     * 公布时间
     */
    @Excel(name = "公布时间",sort=3)
    @TableField("PUBLISH_TIME")
    private String publishTime;

    /**
     * 公布日期
     */
    @Transaction(transactionKey = EnumsPrefixConstants.PUBLISH_DATE)
    @TableField("PUBLISH_DATE")
    private Integer publishDate;

    /**
     * 发布日期
     */
    @TableField("GRANT_DATE")
    @Transaction(transactionKey = EnumsPrefixConstants.PUBLISH_DATE)
    private Integer grantDate;

    /**
     * 可提现日期
     */
    @Transaction(transactionKey = EnumsPrefixConstants.PUBLISH_DATE)
    @TableField("WITHDRAWAL_DATE")
    private Integer withdrawalDate;


}
