From 0be80a07e38f08dd40e20175d788a3bfad8e68ef Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 11 Aug 2025 11:41:24 +0800
Subject: [PATCH] feat(ai): 增加 AI 陪练报告数据解析功能 - 新增 Report、RadarData 和 Evaluation 类用于解析报告数据 - 在 AiService 接口中添加 extractReportData 方法 - 在 AiServiceImpl 中实现报告数据的提取和解析 - 更新 ApiMemberTalkVo,增加 report 字段用于存储解析后的报告数据 - 修改前端相关的回答格式和类型
---
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java | 94 +++++++----------------------------------------
1 files changed, 14 insertions(+), 80 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java
index 4810016..c3dc6d5 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java
@@ -3,6 +3,7 @@
import cc.mrbird.febs.ai.entity.AiMemberTalkItem;
import cc.mrbird.febs.ai.mapper.AiMemberTalkItemMapper;
import cc.mrbird.febs.ai.service.AiMemberTalkItemService;
+import cc.mrbird.febs.ai.utils.UUID;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
@@ -10,6 +11,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Date;
import java.util.List;
/**
@@ -25,89 +27,21 @@
private final AiMemberTalkItemMapper aiMemberTalkItemMapper;
+
@Override
- public AiMemberTalkItem getById(String id) {
- return this.getById(id);
+ public void add(String memberUuid, String id, int type, String resContext,Date createdTime) {
+ AiMemberTalkItem aiMemberTalkItem = new AiMemberTalkItem();
+ aiMemberTalkItem.setId(UUID.getSimpleUUIDString());
+ aiMemberTalkItem.setCreatedTime(createdTime);
+ aiMemberTalkItem.setMemberId(memberUuid);
+ aiMemberTalkItem.setMemberTalkId(id);
+ aiMemberTalkItem.setType(type);
+ aiMemberTalkItem.setContext(resContext);
+ aiMemberTalkItemMapper.insert(aiMemberTalkItem);
}
@Override
- public List<AiMemberTalkItem> getByMemberTalkId(String memberTalkId) {
- LambdaQueryWrapper<AiMemberTalkItem> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiMemberTalkItem::getMemberTalkId, memberTalkId);
- queryWrapper.orderByAsc(AiMemberTalkItem::getCreatedTime);
- return this.list(queryWrapper);
- }
-
- @Override
- public List<AiMemberTalkItem> getByMemberId(String memberId) {
- LambdaQueryWrapper<AiMemberTalkItem> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiMemberTalkItem::getMemberId, memberId);
- queryWrapper.orderByAsc(AiMemberTalkItem::getCreatedTime);
- return this.list(queryWrapper);
- }
-
- @Override
- public List<AiMemberTalkItem> getByType(Integer type) {
- LambdaQueryWrapper<AiMemberTalkItem> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiMemberTalkItem::getType, type);
- queryWrapper.orderByAsc(AiMemberTalkItem::getCreatedTime);
- return this.list(queryWrapper);
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean saveTalkItem(AiMemberTalkItem aiMemberTalkItem) {
- try {
- return this.save(aiMemberTalkItem);
- } catch (Exception e) {
- log.error("保存对话项失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean saveBatchTalkItems(List<AiMemberTalkItem> talkItems) {
- try {
- return this.saveBatch(talkItems);
- } catch (Exception e) {
- log.error("批量保存对话项失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean updateTalkItem(AiMemberTalkItem aiMemberTalkItem) {
- try {
- return this.updateById(aiMemberTalkItem);
- } catch (Exception e) {
- log.error("更新对话项失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean deleteById(String id) {
- try {
- return this.removeById(id);
- } catch (Exception e) {
- log.error("删除对话项失败: ", e);
- return false;
- }
- }
-
- @Override
- @Transactional(rollbackFor = Exception.class)
- public boolean deleteByMemberTalkId(String memberTalkId) {
- try {
- LambdaQueryWrapper<AiMemberTalkItem> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(AiMemberTalkItem::getMemberTalkId, memberTalkId);
- return this.remove(queryWrapper);
- } catch (Exception e) {
- log.error("根据对话ID删除对话项失败: ", e);
- return false;
- }
+ public AiMemberTalkItem getByQuery(LambdaQueryWrapper<AiMemberTalkItem> memberTalkItemQuery) {
+ return aiMemberTalkItemMapper.selectOne(memberTalkItemQuery);
}
}
--
Gitblit v1.9.1