package com.cy.guoyan.admin.module.ai.controller.admin.chatsession.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.*;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - AI聊天会话新增/修改 Request VO")
@Data
public class ChatSessionSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25329")
    private Long id;

    @Schema(description = "会话名称", example = "木易")
    private String name;

    @Schema(description = "用户标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "31622")
    @NotNull(message = "用户标识")
    private String userId;

    @Schema(description = "最后消息时间")
    private LocalDateTime lastMessageTime;

    @Schema(description = "Dify返回的会话ID", example = "19644")
    private String difyConversationId;

    @Schema(description = "Dify 应用 ID（用于多模型支持）", example = "23999")
    private Long appId;

    @Schema(description = "用户输入变量（如文件等）")
    private String inputsJson;

    @Schema(description = "最近一次响应完整 JSON（用于调试）")
    private String responseJson;

    @Schema(description = "当前会话状态，如 active 正常使用中的对话，archived 用户手动归档的历史对话，deleted软删除，前端隐藏，后台可保留数据，init 刚创建但未使用（无消息）, example = 1")
    private String status;

}