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-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("BD_TRANSFER")
@KeySequence("BD_TRANSFER_SEQ")
public class BdTransfer extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

    /**
     * 最低转账金额
     */
    @Excel(name = "最小转账金额(￥)",sort = 3)
    @TableField("MIN_AMOUNT")
    private BigDecimal minAmount;

    /**
     * 最高转账金额
     */
    @Excel(name = "最大转账金额(￥)",sort = 4)
    @TableField("MAX_AMOUNT")
    private BigDecimal maxAmount;


    /**
     * 是否整取(0是 1 否)
     */
    @TableField("IS_ROUNDING")
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
    private Integer isRounding;
    /**
     * 是否整取显示
     */
    @Excel(name = "整取",sort = 8)
    @TableField(exist = false)
    private String isRoundingVal;


    /**
     * 是否血缘(0是 1 否)
     */
    @TableField("IS_REFERENCE")
    @Transaction(transactionKey = EnumsPrefixConstants.YES_NO)
    private Integer isReference;
    /**
     * 是否血缘显示
     */
    @Excel(name = "直推",sort = 7)
    @TableField(exist = false)
    private String isReferenceVal;

    /**
     * 倍数
     */
    @Excel(name = "整取",sort = 9)
    @TableField("MULTIPLE")
    private Integer multiple;

    /**
     * 手续费类型 ECalType
     */
    @TableField("SERVICE_TYPE")
    @Transaction(transactionKey = EnumsPrefixConstants.CAL_TYPE)
    private Integer serviceType;
    /**
     * 手续费类型
     */
    @Excel(name = "手续费类型",sort = 5)
    @TableField(exist = false)
    private String serviceTypeVal;

    /**
     * 手续费值
     */
    @Excel(name = "手续费类型",sort = 6)
    @TableField("SERVICE_RATIO")
    private BigDecimal serviceRatio;


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


}
