package com.hzs.member.account.dto;


import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 充值币种参数
 *
 * @Description:
 * @Author: ljc
 * @Time: 2022/11/3 18:07
 * @Classname: CuMemberRechargeAccountParam
 * @Package_name: com.hzs.member.account.param
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CuMemberRechargeAccountParam implements Serializable {

    private static final long serialVersionUID = 2735117381144061149L;
    /**
     * 账户英文名称
     */
    private String accountName;
    /**
     * 账户余额
     */
    private BigDecimal balance;

    /**
     * 充值金额
     */
    private BigDecimal rechargeAmount;
    /**
     * 可用余额
     */
    private BigDecimal availableBalance;

    /**
     * 可提余额
     */
    private BigDecimal withdrawBalance;
    /**
     * 账户类型ID
     */
    private Integer pkAccount;

    /**
     * 账户类型
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
    private Integer accountType;

    /**
     * 账户类型 翻译
     */
    private String accountTypeVal;

    /**
     * 会员充值详情
     */
    private List<CuMemberRechargeDetailParam> cuMemberRechargeDetailParams;


    private Map<String, BigDecimal> rechargeDetailMap;

    /**
     * 充值备注
     */
    private String remarks;

    //页面显示提供的参数
    /**
     * 是否显示禁止消费
     */
    private Integer isShowLockConsume;

    /**
     * 是否显示禁止转账
     */
    private Integer isShowLockTransfer;

    /**
     * 是否显示禁止提现
     */
    private Integer isShowLockWithdraw;


    /**
     * 禁止消费金额
     */
    private BigDecimal lockAccount;

    /**
     * 禁止转账金额
     */
    private BigDecimal transferAccount;

    /**
     * 禁止提现金额
     */
    private BigDecimal withdrawAccount;


}
