package com.erp.supplier.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("supplier_bank_accounts")
public class SupplierBankAccount {

    @TableId(type = IdType.AUTO)
    private Long id;

    /** 供应商ID */
    private Long supplierId;

    /** 开户名称 */
    private String accountName;

    /** 开户银行 */
    private String bankName;

    /** 银行账号 */
    private String bankAccount;

    /** 开户支行 */
    private String branchName;

    /** 银行联行号 */
    private String branchCode;

    /** 开户省份 */
    private String province;

    /** 开户城市 */
    private String city;

    /** 账户类型: basic/general/reserve */
    private String accountType;

    /** 是否为默认账户: 0-否 1-是 */
    private Integer isDefault;

    /** 账户余额(仅供参考) */
    private BigDecimal balance;

    /** 银行预留手机号 */
    private String reservedPhone;

    /** 备注 */
    private String remark;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdAt;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updatedAt;

    /** 逻辑删除标记 */
    @TableLogic
    private Integer deleted;
}
