package com.rj.dto;

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

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * Dify工作流请求DTO
 * 
 * @author 李中华
 * @date 2025/1/3
 */
@Data
@Schema(description = "Dify企微对话分析工作流请求参数")
public class DifyWorkflowRequestDto {

    @NotBlank(message = "企微客户unionId不能为空")
    @Schema(description = "企微客户unionId", example = "test_union_12345", required = true)
    private String unionId;

    @NotBlank(message = "B端认证中心userId不能为空")
    @Schema(description = "B端认证中心userId", example = "consultant_67890", required = true)
    private String consultantId;

    @NotBlank(message = "沟通时间不能为空")
    @Schema(description = "沟通时间", example = "2025-01-03 10:30:00", required = true)
    private String communicateDate;

    @NotBlank(message = "分析场景不能为空")
    @Schema(description = "分析场景", example = "sales_consultation", required = true)
    private String analysisScene;

    @NotBlank(message = "AI分析请求ID不能为空")
    @Schema(description = "AI分析请求ID", example = "ai_req_20250103_001", required = true)
    private String aiAnalysisRequestId;

    @NotNull(message = "版本号不能为空")
    @Schema(description = "版本号", example = "1", required = true)
    private Integer version;

    @NotBlank(message = "企微对话内容不能为空")
    @Schema(description = "企微对话内容", example = "客户：你好，我想了解一下沃尔沃XC60这款车。\n顾问：您好！很高兴为您介绍沃尔沃XC60。", required = true)
    private String chat;
}
