package cokr.xit.ens.modules.ktsigntalk.direct.model;

import cokr.xit.ens.modules.common.ctgy.sys.mng.model.TmpltMngByTypeDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

@Data
@SuperBuilder
@NoArgsConstructor
@Schema(name = "TmpltMngKtSigntalkDTO")
public class TmpltMngKtSigntalkDTO extends TmpltMngByTypeDTO implements Serializable {

//    @NotEmpty(message = "문서코드는 필수 입력값 입니다.")
//    @Length(max = 5, message = "문서코드의 최대 길이를 초과 했습니다.")
//    @Schema(required = true, title = "문서코드", example = " ")
//    private String msgCd;

    @Pattern(regexp = "[0-9]{10,11}", message = "발신번호는 10~11자리의 숫자만 입력 가능합니다.")
    @Schema(required = false, title = "발신번호", example = "0212345678")
    private String sndTelNo;

    @Pattern(regexp = "[0-9]{10,11}", message = "기관발송번호는 10~11자리의 숫자만 입력 가능합니다.")
    @Schema(required = false, title = "기관발송번호", example = "0256781234")
    private String sendTel;

//
//    @Schema(required = false, title = "문서종류", example = "sms")
//    @Enumerated(EnumType.STRING)
//    private MTypeCd mType;

    @NotEmpty(message = "CI변환사용여부는 필수 입력값 입니다.")
    @Length(max = 1, message = "CI변환사용여부의 최대 길이를 초과 했습니다.")
    @Pattern(regexp = "(Y|N)", message = "CI변환사용여부는 Y 또는 N 만 입력 할 수 있습니다.")
    @Schema(required = true, title = "CI변환사용여부", example = "Y")
    private String ciTransUseYn;

    @NotEmpty(message = "템플릿 메시지 사용여부는 필수 입력값 입니다.")
    @Length(max = 1, message = "템플릿 메시지 사용여부의 최대 길이를 초과 했습니다.")
    @Pattern(regexp = "(Y|N)", message = "템플릿 메시지 사용여부는 Y 또는 N 만 입력 할 수 있습니다.")
    @Schema(required = true, title = "템플릿 메시지 사용여부", example = "Y")
    private String tmpltMsgUseYn;

    @NotEmpty(message = "템플릿 CS 정보 사용여부는 필수 입력값 입니다.")
    @Length(max = 1, message = "템플릿 CS 정보 사용여부의 최대 길이를 초과 했습니다.")
    @Pattern(regexp = "(Y|N)", message = "템플릿 CS 정보 사용여부는 Y 또는 N 만 입력 할 수 있습니다.")
    @Schema(required = true, title = "템플릿 CS 정보 사용여부", example = "Y")
    private String tmpltCsInfoUseYn;

}
