package com.seer.teach.pay.admin.withdrawal.controller.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@Schema(description = "商家收款账户响应参数")
public class PayMerchantBankAccountResp {

    @Schema(description = "主键ID")
    private Integer id;

    @Schema(description = "关联user表主键（用户ID）")
    private Integer userId;

    @Schema(description = "账户类型：1-银行卡，2-支付宝，3-微信")
    private Integer accountType;

    @Schema(description = "开户名（需与user.real_name一致，防冒领）")
    private String accountName;

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

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

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

    @Schema(description = "是否默认账户：0-否，1-是（一个用户仅一个默认账户）")
    private Integer isDefault;

    @Schema(description = "账户状态：1-正常，0-禁用（如账号错误被驳回）")
    private Integer accountStatus;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}