package com.seer.teach.pay.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * <p>
 * 用户收款账户表（支持多账户）
 * </p>
 *
 * @author ZS
 * @since 2025-09-23
 */
@Getter
@Setter
@ToString
@TableName("pay_merchant_bank_account")
public class PayMerchantBankAccountEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 关联user表主键（用户ID）
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 账户类型：1-银行卡，2-支付宝，3-微信
     */
    @TableField("account_type")
    private Integer accountType;

    /**
     * 开户名（需与user.real_name一致，防冒领）
     */
    @TableField("account_name")
    private String accountName;

    /**
     * 账号（脱敏存储：银行卡显后4位，支付宝/微信显前2后4）
     */
    @TableField("account_no")
    private String accountNo;

    /**
     * 开户银行（account_type=1必填，如中国工商银行）
     */
    @TableField("bank_name")
    private String bankName;

    /**
     * 开户支行（account_type=1可选，如工行北京朝阳支行）
     */
    @TableField("branch_bank_name")
    private String branchBankName;

    /**
     * 是否默认账户：0-否，1-是（一个用户仅一个默认账户）
     */
    @TableField("is_default")
    private Integer isDefault;

    /**
     * 账户状态：1-正常，0-禁用（如账号错误被驳回）
     */
    @TableField("account_status")
    private Integer accountStatus;
}
