package com.hzs.system.config.param;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

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

/**
 * <p>
 * 提现设置主表
 * </p>
 *
 * @author zhangjing
 * @since 2022-08-29
 */
@Data

public class BdWithdrawalParam {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Integer pkId;

    /**
     * 最低提现金额
     */
    private BigDecimal minAmount;

    /**
     * 最高提现金额
     */
    private BigDecimal maxAmount;

    /**
     * 是否整取 0是 1否
     */
    private Integer isRounding;
    /**
     * 是否整取 0是 1否
     */
    private String isRoundingStr;

    /**
     * 是否自动提现 0是 1否
     */
    private Integer isAuto;
    /**
     * 是否自动提现 0是 1否
     */
    private String isAutoStr;

    /**
     * 手续费比例
     */
    private BigDecimal serviceRatio;

    /**
     * 是否有个税 0是 1否
     */
    private Integer isIncomeTax;
    /**
     * 是否有个税 0是 1否
     */
    private String isIncomeTaxStr;

    /**
     * 生效日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date effectiveDate;

    /**
     * 创建人
     */
    private Long pkCreator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 修改人
     */
    private Long pkModified;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifiedTime;

    /**
     * 逻辑删除 (0=未删除，1已删除)
     */
    @JsonIgnore
    private Integer delFlag;

    /**
     * 国家
     */
    private Integer pkCountry;

    /**
     * 整取类型 1、向上取整 2 、向下取整 3 、四舍五入 来源枚举 ERoundingType
     */
    private Integer roundingType;
    /**
     * 请求参数
     */
    @JsonIgnore
    @TableField(exist = false)
    private Map<String, Object> params;

    public Map<String, Object> getParams() {
        if (params == null) {
            params = new HashMap<>();
        }
        return params;
    }

    public void setParams(Map<String, Object> params) {
        this.params = params;
    }



}
