package cokr.xit.ens.modules.kkomydoc.model.config;

import cokr.xit.ens.modules.kkomydoc.code.KkoMydocStatusCd;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.google.gson.annotations.Expose;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Getter;
import lombok.ToString;

import javax.persistence.EnumType;
import javax.persistence.Enumerated;

@Getter
@ToString
@Builder
@Schema(name = "KkoMydocStat")
public class KkoMydocStat {

    @Expose
    @JsonIgnore
    @Schema(required = false, title = "발송상세ID", example = " ")
    private Long sendDetailId;

    @Schema(required = false, title = "문서식별번호(외부)", example = " ")
    private String externalDocumentUuid;

    @Schema(required = true, title = "문서식별번호(내부)", example = " ")
    private String documentBinderUuid;

    @Enumerated(EnumType.STRING)
    @Schema(required = true, title = "진행 상태", example = " ")
    private KkoMydocStatusCd kkoDocStat;

    @Schema(required = false, title = "송신 시간(yyyyMMddHHmmss)", example = " ")
    private String kkoDocSentDt;

    @Schema(required = false, title = "수신 시간(yyyyMMddHHmmss)", example = " ")
    private String kkoDocReceivedDt;

    @Schema(required = false, title = "열람 인증을 성공한 최초 시간(yyyyMMddHHmmss)", example = " ")
    private String kkoDocAuthFrstDt;

    @Schema(required = false, title = "OTT 검증을 성공한 최초 시간(yyyyMMddHHmmss)", example = " ")
    private String kkoDocTokenVrfyFrstDt;

    @Schema(required = false, title = "최초 열람 시간(yyyyMMddHHmmss)", example = " ")
    private String kkoDocReadFrstDt;

    @Schema(required = false, title = "알림톡 수신 시간(yyyyMMddHHmmss)", example = " ")
    private String kkoDocUserNotiedDt;

    @Schema(required = false, title = "에러코드", example = " ")
    private String errorCode;

    @Schema(required = false, title = "에러메시지", example = " ")
    private String errorMessage;


}
