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

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

import java.time.LocalDateTime;

/**
 * AI 对话会话列表项，供小程序侧边栏展示。
 * <p>不含消息正文；详情见 {@code GET /conversations/{id}/messages}。</p>
 */
@Schema(description = "AI 对话会话摘要")
public class ConversationSummaryResponse {

    @Schema(description = "会话主键 ID", example = "1")
    private Long id;

    @Schema(description = "会话编号（与 AI 接口 session_id 一致）", example = "a1b2c3d4e5f6")
    private String conversationNo;

    @Schema(description = "会话标题", example = "浦东仓库暑期用工")
    private String title;

    @Schema(description = "对话类型：employment/knowledge/order/cost/attendance/emergency", example = "employment")
    private String chatType;

    @Schema(description = "状态：active/archived", example = "active")
    private String status;

    @Schema(description = "最后一条消息时间，列表排序依据")
    private LocalDateTime lastMessageAt;

    @Schema(description = "会话创建时间")
    private LocalDateTime createTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getConversationNo() {
        return conversationNo;
    }

    public void setConversationNo(String conversationNo) {
        this.conversationNo = conversationNo;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getChatType() {
        return chatType;
    }

    public void setChatType(String chatType) {
        this.chatType = chatType;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public LocalDateTime getLastMessageAt() {
        return lastMessageAt;
    }

    public void setLastMessageAt(LocalDateTime lastMessageAt) {
        this.lastMessageAt = lastMessageAt;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
}
