package com.huimv.employment.service.draft.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@Schema(description = "MCP 确认提交草稿请求（v2 §6.3.5）")
public class McpDraftSubmitRequest {

    @NotBlank(message = "session_id 不能为空")
    @JsonProperty("session_id")
    @Schema(description = "会话标识，与 AI chat session_id / conversation_no 一致",
            example = "a1b2c3d4e5f6", requiredMode = Schema.RequiredMode.REQUIRED)
    private String sessionId;

    @NotNull(message = "draft_id 不能为空")
    @JsonProperty("draft_id")
    @Schema(description = "草稿 ID（generate 返回）", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long draftId;

    @NotBlank(message = "selected_scheme_code 不能为空")
    @JsonProperty("selected_scheme_code")
    @Schema(description = "用户选定的方案编码", example = "SCHEME_A", requiredMode = Schema.RequiredMode.REQUIRED)
    private String selectedSchemeCode;

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    public Long getDraftId() {
        return draftId;
    }

    public void setDraftId(Long draftId) {
        this.draftId = draftId;
    }

    public String getSelectedSchemeCode() {
        return selectedSchemeCode;
    }

    public void setSelectedSchemeCode(String selectedSchemeCode) {
        this.selectedSchemeCode = selectedSchemeCode;
    }
}
