会话总结工作流接入、前后端处理

This commit is contained in:
2026-01-01 15:12:29 +08:00
parent 4e373e6d2c
commit eb15706ccc
22 changed files with 1738 additions and 43 deletions

View File

@@ -0,0 +1,27 @@
package org.xyzh.api.workcase.dto;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @description 聊天室总结请求参数
* @filename ChatRoomSummaryRequest.java
* @author system
* @copyright xyzh
* @since 2026-01-01
*/
@Data
@Schema(description = "聊天室总结请求参数")
public class ChatRoomSummaryRequest implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "聊天室ID", required = true)
private String roomId;
@Schema(description = "是否包含系统消息", defaultValue = "false")
private Boolean includeSystemMessages = false;
@Schema(description = "是否包含会议消息", defaultValue = "false")
private Boolean includeMeetingMessages = false;
}

View File

@@ -0,0 +1,40 @@
package org.xyzh.api.workcase.dto;
import java.io.Serializable;
import java.util.List;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @description 聊天室总结响应结果
* @filename ChatRoomSummaryResponse.java
* @author system
* @copyright xyzh
* @since 2026-01-01
*/
@Data
@Schema(description = "聊天室总结响应结果")
public class ChatRoomSummaryResponse implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "用户提出的核心问题")
private String question;
@Schema(description = "用户的核心诉求列表")
private List<String> needs;
@Schema(description = "解决方案或答案")
private String answer;
@Schema(description = "词云关键词列表")
private List<String> workcloud;
@Schema(description = "聊天室ID")
private String roomId;
@Schema(description = "总结生成时间")
private String summaryTime;
@Schema(description = "参与总结的消息数量")
private Integer messageCount;
}

View File

@@ -0,0 +1,46 @@
package org.xyzh.api.workcase.dto;
import org.xyzh.common.dto.BaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @description 聊天室总结表对象
* @filename TbChatRoomSummaryDTO.java
* @author system
* @copyright xyzh
* @since 2026-01-01
*/
@Data
@Schema(description = "聊天室总结表对象")
public class TbChatRoomSummaryDTO extends BaseDTO {
private static final long serialVersionUID = 1L;
@Schema(description = "总结ID")
private String summaryId;
@Schema(description = "聊天室ID")
private String roomId;
@Schema(description = "核心问题")
private String question;
@Schema(description = "核心诉求数组")
private List<String> needs;
@Schema(description = "解决方案")
private String answer;
@Schema(description = "词云关键词数组")
private List<String> workcloud;
@Schema(description = "参与总结的消息数量")
private Integer messageCount;
@Schema(description = "总结生成时间")
private String summaryTime;
}

View File

@@ -0,0 +1,33 @@
package org.xyzh.api.workcase.service;
import org.xyzh.api.workcase.dto.ChatRoomSummaryRequest;
import org.xyzh.api.workcase.dto.ChatRoomSummaryResponse;
import org.xyzh.common.core.domain.ResultDomain;
/**
* @description 智能体服务接口提供AI相关的业务功能
* @filename AgentService.java
* @author system
* @copyright xyzh
* @since 2026-01-01
*/
public interface AgentService {
/**
* @description 总结聊天室对话内容
* @param request 聊天室总结请求参数
* @return 总结结果
* @author system
* @since 2026-01-01
*/
ResultDomain<ChatRoomSummaryResponse> summaryChatRoom(ChatRoomSummaryRequest request);
/**
* @description 获取聊天室最新的总结
* @param roomId 聊天室ID
* @return 总结结果
* @author system
* @since 2026-01-01
*/
ResultDomain<ChatRoomSummaryResponse> getLatestSummary(String roomId);
}