package cn.reghao.tnb.sb.model;

import lombok.Getter;
import lombok.Setter;

/**
 * @author reghao
 * @date 2025-05-28 15:06:22
 */
@Setter
@Getter
public class AccountProofModel {
    private String generationDate;
    private String memberName;
    private String memberAddress;
    private String accountNo;
    private String bankName;
    private String bankSwiftCode;
    private String bankAddress;
    private String countryName;

    private AccountProofModel(Builder builder) {
        this.generationDate = builder.generationDate;
        this.memberName = builder.memberName;
        this.memberAddress = builder.memberAddress;
        this.accountNo = builder.accountNo;
        this.bankName = builder.bankName;
        this.bankSwiftCode = builder.bankSwiftCode;
        this.bankAddress = builder.bankAddress;
        this.countryName = builder.countryName;
    }

    public static final class Builder {
        private String generationDate;
        private String memberName;
        private String memberAddress;
        private String accountNo;
        private String bankName;
        private String bankSwiftCode;
        private String bankAddress;
        private String countryName;

        public Builder() {
        }

        public Builder generationDate(String generationDate) {
            this.generationDate = generationDate;
            return this;
        }

        public Builder memberName(String memberName) {
            this.memberName = memberName;
            return this;
        }

        public Builder memberAddress(String memberAddress) {
            this.memberAddress = memberAddress;
            return this;
        }

        public Builder accountNo(String accountNo) {
            this.accountNo = accountNo;
            return this;
        }

        public Builder bankName(String bankName) {
            this.bankName = bankName;
            return this;
        }

        public Builder bankSwiftCode(String bankSwiftCode) {
            this.bankSwiftCode = bankSwiftCode;
            return this;
        }

        public Builder bankAddress(String bankAddress) {
            this.bankAddress = bankAddress;
            return this;
        }

        public Builder countryName(String countryName) {
            this.countryName = countryName;
            return this;
        }

        public AccountProofModel build() {
            return new AccountProofModel(this);
        }
    }
}
