package cokr.xit.ens.modules.common.ctgy.intgrnbill.kko.service.process.model;

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.NotBlank;

/**
 * 카카오페이 계좌송금수단 사용 시 계좌정보
 */
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Getter
@ToString
public class KkoPayBankAccounts {

    @NotBlank(message = "청구서명은 필수 입력값 입니다.")
    @Schema(required = true, title = "청구서명", example = "테스트청구서")
    @JsonProperty("bank_code")  
    @JsonAlias({"bankCode"})
    @SerializedName(value = "bank_code", alternate = {"bankCode"})
    private String bankCode;
    @JsonProperty("account_no")  
    @JsonAlias({"accountNo"})
    @SerializedName(value = "account_no", alternate = {"accountNo"})
    private String accountNo;
    @JsonProperty("holder_name")  
    @JsonAlias({"holderName"})
    @SerializedName(value = "holder_name", alternate = {"holderName"})
    private String holderName;
    @JsonProperty("sender_name")  
    @JsonAlias({"senderName"})
    @SerializedName(value = "sender_name", alternate = {"senderName"})
    private String senderName;
    @JsonProperty("account_type")  
    @JsonAlias({"accountType"})
    @SerializedName(value = "account_type", alternate = {"accountType"})
    private String accountType;
}
