package com.jeequan.jeepay.db.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 转账对象钱包
 * </p>
 *
 * @author [mybatis plus generator]
 * @since 2024-04-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_transfer_wallet")
public class TransferWalletEntity implements Serializable {

    private static final long serialVersionUID=1L;

    // 记账的外卡状态,1:正常；2：其它
    public static final Integer CARD_STATUS_NORMAL = 1;
    public static final Integer CARD_STATUS_OTHER = 2;


    public static LambdaQueryWrapper<TransferWalletEntity> gw(){
        return new LambdaQueryWrapper<>();
    }

    public static LambdaQueryWrapper<TransferWalletEntity> gw(TransferWalletEntity entity){
        return new LambdaQueryWrapper<>(entity);
    }

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 转账主体申请单号
     */
    private String transApplyId;

    /**
     * 钱包申请单号, 部分通道一次签约可创建多个钱包
     */
    private String walletApplyId;

    /**
     * 通道主体编号, 钱包编号等
     */
    private String transChannelMchNo;

    /**
     * 主体名称, 钱包名称
     */
    private String subjectName;

    /**
     * 应用ID
     */
    private String appId;

    /**
     * 商户号
     */
    private String mchNo;

    /**
     * 渠道商号
     */
    private String isvNo;

    /**
     * 转账接口代码
     */
    private String transIfCode;

    /**
     * 记账本余额
     */
    private Long accountBookBalance;

    /**
     * 每日下发额度
     */
    private Long accountLimitBalance;

    /**
     * 记账的外卡状态,1:正常；2：其它
     */
    private Integer cardStatus;

    /**
     * 代付钱包账户信息
     */
    private String extCardInfo;

    /**
     * 记账本开通返回的完整参数
     */
    private String extResponse;

    /**
     * 备注
     */
    private String remark;

    /**
     * 最后一次交易时间
     */
    private Date lastTransTime;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * （总）到支付宝月限额(分)
     */
    private Long zfbMonthMax;

    /**
     * （总）到支付宝日限额(分)
     */
    private Long zfbDayMax;

    /**
     * （总）个人支付宝单笔限额(分)
     */
    private Long zfbPriOnceMax;

    /**
     * （总）企业支付宝单笔限额(分)
     */
    private Long zfbCorOnceMax;

    /**
     * （总）到微信月限额(分)
     */
    private Long wxMonthMax;

    /**
     * （总）到微信日限额(分)
     */
    private Long wxDayMax;

    /**
     * （总）个人微信单笔限额(分)
     */
    private Long wxPriOnceMax;

    /**
     * （总）企业微信单笔限额(分)
     */
    private Long wxCorOnceMax;

    /**
     * （总）到银行卡月限额(分)
     */
    private Long bankCardMonthMax;

    /**
     * （总）到银行卡日限额(分)
     */
    private Long bankCardDayMax;

    /**
     * （总）到对私银行卡单笔限额(分)
     */
    private Long bankCardPriOnceMax;

    /**
     * （总）到对公银行卡单笔限额(分)
     */
    private Long bankCardCorOnceMax;
}
