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

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;

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;

/**
 * 币种配置表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BD_ACCOUNT")
@KeySequence("BD_ACCOUNT_SEQ")
public class BdAccount extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId("PK_ID")
    private Integer pkId;

    /**
     * 账户名称
     */
    @Excel(name = "账户名称", sort = 1)
    @TableField("ACCOUNT_NAME")
    private String accountName;

    /**
     * 翻译key
     */
    @TableField("PK_TRANSACTION_KEY")
    private Integer pkTransactionKey;

    /**
     * 显示顺序
     */
    @TableField("SORT")
    private Integer sort;

    /**
     * 取值字段
     */
    @Transaction(transactionKey = EnumsPrefixConstants.ACCOUNT)
    @TableField("FIELD_VALUE")
    private Integer fieldValue;

    /**
     * 账户属性
     */
    @Excel(name = "账户属性", sort = 2)
    @TableField(exist = false)
    private String fieldValueVal;

    /**
     * 是否启用（0=是,1=否） -- 来源EYesNo
     */
    @TableField("ENABLE_STATE")
    private Integer enableState;

    /**
     * 是否转账（0=是,1=否） -- 来源EYesNo
     */
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
    @TableField("IS_TRANSFER")
    private Integer isTransfer;
    /**
     * 转账
     */
    @Excel(name = "转账", sort = 6)
    @TableField(exist = false)
    private String isTransferVal;

    /**
     * 是否提现0=是,1=否） -- 来源EYesNo
     */
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
    @TableField("IS_WITHDRAWAL")
    private Integer isWithdrawal;
    /**
     * 提现
     */
    @Excel(name = "提现", sort = 7)
    @TableField(exist = false)
    private String isWithdrawalVal;

    /**
     * 是否固定0=是,1=否） -- 来源EYesNo
     */
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
    @TableField("IS_REGULAR")
    private Integer isRegular;
    /**
     * 是否固定
     */
    @Excel(name = "固定", sort = 4)
    @TableField(exist = false)
    private String isRegularVal;

    /**
     * 是否邮费扣除字段0=是,1=否） -- 来源EYesNo
     */
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
    @TableField("IS_POSTAGE")
    private Integer isPostage;
    /**
     * 邮费
     */
    @Excel(name = "邮费", sort = 5)
    @TableField(exist = false)
    private String isPostageVal;

    /**
     * 是否充值0=是,1=否） -- 来源EYesNo
     */
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
    @TableField("IS_RECHARGE")
    private Integer isRecharge;
    /**
     * 充值
     */
    @Excel(name = "充值", sort = 8)
    @TableField(exist = false)
    private String isRechargeVal;

    /**
     * 转换币种
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
    @TableId("PK_BD_ACCOUNT")
    private Integer pkBdAccount;

    /**
     * 转化币种
     */
    @Excel(name = "转化币种", sort = 3)
    @TableField(exist = false)
    private String pkBdAccountVal;


    /**
     * 生效日期
     */
    @Excel(name = "生效日期", sort = 9)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("EFFECTIVE_DATE")
    private Date effectiveDate;

    /**
     * 背景图
     */
    @TableField("BACKGROUND_IMG")
    private String backgroundImg;

    /**
     * 是否在线充值0=是,1=否） -- 来源EYesNo
     */
    @Transaction(transactionKey = EnumsPrefixConstants.DEALER_YES_NO)
    @TableField("ON_LINE_RECHARGE")
    private Integer onLineRecharge;

    /**
     * 是否在线充值0=是,1=否） -- 来源EYesNo
     */
    @Excel(name = "是否在线充值", sort = 10)
    @TableField(exist = false)
    private String onLineRechargeVal;

    /**
     * 显示隐藏属性 0 显示 1隐藏 EShowStatus
     */
    @Transaction(transactionKey = EnumsPrefixConstants.SHOW_STATUS)
    @TableField("SHOW_STATUS")
    private Integer showStatus;

    @TableField(exist = false)
    private String showStatusVal;


}
