From 3861ca73a58797316065f49c22f48734b4160c6a Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 10 Oct 2025 14:26:15 +0800
Subject: [PATCH] feat(ai): 新增陪练记录相关接口和分页查询功能
---
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkStreamServiceImpl.java | 27 +++++
src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiTalkMemberListDto.java | 31 ++++++
src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java | 3
src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiTalkReportListDto.java | 16 +++
src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java | 6 +
src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiTalkReportListVo.java | 13 ++
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java | 12 ++
src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml | 15 +++
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkItemServiceImpl.java | 9 +
src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiTalkMemberListVo.java | 38 +++++++
src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiMemberTalkListDto.java | 30 ++++++
src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkStreamService.java | 9 +
src/main/resources/mapper/modules/AiMemberTalkMapper.xml | 15 +++
src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkItemMapper.java | 5 +
src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiMemberTalkListVo.java | 23 ++++
src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java | 37 ++++++
src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkMapper.java | 6 +
17 files changed, 292 insertions(+), 3 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java b/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java
index 200e143..dcb7346 100644
--- a/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java
+++ b/src/main/java/cc/mrbird/febs/ai/controller/memberTalk/ApiMemberTalkStreamController.java
@@ -1,10 +1,11 @@
package cc.mrbird.febs.ai.controller.memberTalk;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkMemberListDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkReportListDto;
import cc.mrbird.febs.ai.req.memberTalkStream.*;
-import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo;
-import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkMemberAnswerSavaVo;
-import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkStreamVoOld;
+import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkListDto;
+import cc.mrbird.febs.ai.res.memberTalk.*;
import cc.mrbird.febs.ai.res.memberTalkStream.ApiMemberTalkReloadStreamVo;
import cc.mrbird.febs.ai.res.memberTalkStream.ApiMemberTalkStreamVo;
import cc.mrbird.febs.ai.service.AiMemberTalkStreamService;
@@ -39,6 +40,36 @@
return aiMemberTalkStreamService.start(dto);
}
+ @ApiOperation(value = "陪练记录", notes = "陪练记录")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiMemberTalkListVo.class)
+ })
+ @PostMapping(value = "/talkList")
+ public FebsResponse talkList(@RequestBody @Validated ApiMemberTalkListDto dto) {
+
+ return aiMemberTalkStreamService.talkList(dto);
+ }
+
+ @ApiOperation(value = "陪练记录-答题记录", notes = "陪练记录-答题记录")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiTalkMemberListVo.class)
+ })
+ @PostMapping(value = "/talkMemberList")
+ public FebsResponse talkMemberList(@RequestBody @Validated ApiTalkMemberListDto dto) {
+
+ return aiMemberTalkStreamService.talkMemberList(dto);
+ }
+
+ @ApiOperation(value = "陪练记录-查看报告", notes = "陪练记录-查看报告")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = ApiTalkReportListVo.class)
+ })
+ @PostMapping(value = "/talkReportList")
+ public FebsResponse talkReportList(@RequestBody @Validated ApiTalkReportListDto dto) {
+
+ return aiMemberTalkStreamService.talkReportList(dto);
+ }
+
@ApiOperation(value = "再练一次(重新回答)", notes = "再练一次(重新回答)")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = ApiMemberTalkReloadStreamVo.class)
diff --git a/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkItemMapper.java b/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkItemMapper.java
index 7dade85..5e250c6 100644
--- a/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkItemMapper.java
+++ b/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkItemMapper.java
@@ -2,9 +2,12 @@
import cc.mrbird.febs.ai.entity.AiMemberTalkItem;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkMemberListDto;
import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo;
+import cc.mrbird.febs.ai.res.memberTalk.ApiTalkMemberListVo;
import cc.mrbird.febs.ai.res.product.ApiProductVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
@@ -17,4 +20,6 @@
public interface AiMemberTalkItemMapper extends BaseMapper<AiMemberTalkItem> {
Page<ApiMemberTalkItemVo> getPageListByQuery(Page<ApiMemberTalkItemVo> page, @Param("record") ApiMemberTalkItemPageDto dto);
+
+ IPage<ApiTalkMemberListVo> getPageByDto(Page<ApiTalkMemberListVo> page, @Param("record") ApiTalkMemberListDto dto);
}
diff --git a/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkMapper.java b/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkMapper.java
index 7ab8163..8a6b08b 100644
--- a/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkMapper.java
+++ b/src/main/java/cc/mrbird/febs/ai/mapper/AiMemberTalkMapper.java
@@ -1,7 +1,12 @@
package cc.mrbird.febs.ai.mapper;
import cc.mrbird.febs.ai.entity.AiMemberTalk;
+import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkListDto;
+import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkListVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
/**
* AI用户对话训练记录 Mapper接口
@@ -11,4 +16,5 @@
*/
public interface AiMemberTalkMapper extends BaseMapper<AiMemberTalk> {
+ IPage<ApiMemberTalkListVo> getPageByDto(Page<ApiMemberTalkListVo> page, @Param("record")ApiMemberTalkListDto dto);
}
diff --git a/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiMemberTalkListDto.java b/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiMemberTalkListDto.java
new file mode 100644
index 0000000..f50c8a6
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiMemberTalkListDto.java
@@ -0,0 +1,30 @@
+package cc.mrbird.febs.ai.req.memberTalk;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiMemberTalkListDto", description = "参数")
+public class ApiMemberTalkListDto {
+
+ @NotNull(message = "页码不能为空")
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer pageNow;
+
+ @NotNull(message = "每页数量不能为空")
+ @ApiModelProperty(value = "每页数量", example = "10")
+ private Integer pageSize;
+
+ @NotBlank(message = "产品ID不能为空")
+ @ApiModelProperty(value = "产品ID", example = "10")
+ private String productId;
+
+ @NotBlank(message = "会员ID不能为空")
+ @ApiModelProperty(value = "会员ID", example = "10")
+ private String memberUuid;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiTalkMemberListDto.java b/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiTalkMemberListDto.java
new file mode 100644
index 0000000..61fbbd7
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiTalkMemberListDto.java
@@ -0,0 +1,31 @@
+package cc.mrbird.febs.ai.req.memberTalk;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiTalkMemberListDto", description = "参数")
+public class ApiTalkMemberListDto {
+
+
+ @NotNull(message = "页码不能为空")
+ @ApiModelProperty(value = "页码", example = "1")
+ private Integer pageNow;
+
+ @NotNull(message = "每页数量不能为空")
+ @ApiModelProperty(value = "每页数量", example = "10")
+ private Integer pageSize;
+
+ @NotNull(message = "会话ID不能为空")
+ @ApiModelProperty(value = "会话ID", example = "1")
+ private String memberTalkId;
+
+ @NotBlank(message = "会员ID不能为空")
+ @ApiModelProperty(value = "会员ID", example = "10")
+ private String memberUuid;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiTalkReportListDto.java b/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiTalkReportListDto.java
new file mode 100644
index 0000000..b474ad9
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/req/memberTalk/ApiTalkReportListDto.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.ai.req.memberTalk;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel(value = "ApiTalkReportListDto", description = "参数")
+public class ApiTalkReportListDto {
+
+ @NotNull(message = "会话ID不能为空")
+ @ApiModelProperty(value = "会话ID", example = "1")
+ private String memberTalkId;
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiMemberTalkListVo.java b/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiMemberTalkListVo.java
new file mode 100644
index 0000000..904113b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiMemberTalkListVo.java
@@ -0,0 +1,23 @@
+package cc.mrbird.febs.ai.res.memberTalk;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(value = "ApiMemberTalkListVo", description = "参数")
+public class ApiMemberTalkListVo {
+
+ @ApiModelProperty(value = "会话ID")
+ private String talkId;
+
+ @ApiModelProperty(value = "标题")
+ private String productName;
+
+ @ApiModelProperty(value = "时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createdTime;
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiTalkMemberListVo.java b/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiTalkMemberListVo.java
new file mode 100644
index 0000000..0d6a84c
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiTalkMemberListVo.java
@@ -0,0 +1,38 @@
+package cc.mrbird.febs.ai.res.memberTalk;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiTalkMemberListVo", description = "参数")
+public class ApiTalkMemberListVo {
+
+ /**
+ * 用户对话ID (UUID)
+ */
+
+ @ApiModelProperty(value = "会话ID")
+ private String memberTalkId;
+
+ /**
+ * 用户消息ID (UUID)
+ */
+
+ @ApiModelProperty(value = "消息ID")
+ private String memberTalkItemId;
+
+ /**
+ * 类型 1-AI提问 2-用户回答 3-AI分析结果
+ */
+
+ @ApiModelProperty(value = "类型 1-AI提问 2-用户回答 3-AI分析结果")
+ private Integer type;
+
+ /**
+ * 内容
+ */
+
+ @ApiModelProperty(value = "内容(文本格式)")
+ private String context;
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiTalkReportListVo.java b/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiTalkReportListVo.java
new file mode 100644
index 0000000..482d5a3
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/ai/res/memberTalk/ApiTalkReportListVo.java
@@ -0,0 +1,13 @@
+package cc.mrbird.febs.ai.res.memberTalk;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiTalkReportListVo", description = "参数")
+public class ApiTalkReportListVo {
+
+ @ApiModelProperty(value = "报告")
+ private String analysis;
+}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java
index 9bd65d3..baac900 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkItemService.java
@@ -3,7 +3,9 @@
import cc.mrbird.febs.ai.entity.AiMemberTalkItem;
import cc.mrbird.febs.ai.req.ai.AiMessage;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkMemberListDto;
import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo;
+import cc.mrbird.febs.ai.res.memberTalk.ApiTalkMemberListVo;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.vo.MallGoodsListVo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -32,4 +34,5 @@
List<AiMessage> getQuestionUpDownContext(String memberTalkId, int code);
+ IPage<ApiTalkMemberListVo> getPageByDto(ApiTalkMemberListDto dto);
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java
index 77f5c0e..e26fed0 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkService.java
@@ -2,9 +2,13 @@
import cc.mrbird.febs.ai.entity.AiMemberTalk;
import cc.mrbird.febs.ai.req.memberTalk.*;
+import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkListDto;
import cc.mrbird.febs.ai.res.ai.AiResponse;
+import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkListVo;
+import cc.mrbird.febs.ai.res.memberTalk.ApiTalkMemberListVo;
import cc.mrbird.febs.common.entity.FebsResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import reactor.core.publisher.Flux;
@@ -44,4 +48,6 @@
List<AiMemberTalk> getListByCompanyId(String companyId);
List<AiMemberTalk> getListByCompanyIdAndMemberUuid(String companyId, String memberUuid);
+
+ IPage<ApiMemberTalkListVo> getPageByDto(ApiMemberTalkListDto dto);
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkStreamService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkStreamService.java
index 8f475c0..df9144a 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkStreamService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberTalkStreamService.java
@@ -2,7 +2,10 @@
import cc.mrbird.febs.ai.entity.AiMemberTalk;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkMemberListDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkReportListDto;
import cc.mrbird.febs.ai.req.memberTalkStream.*;
+import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkListDto;
import cc.mrbird.febs.common.entity.FebsResponse;
import com.baomidou.mybatisplus.extension.service.IService;
import reactor.core.publisher.Flux;
@@ -17,6 +20,12 @@
*/
FebsResponse start(ApiMemberTalkStreamDto dto);
+ FebsResponse talkList(ApiMemberTalkListDto dto);
+
+ FebsResponse talkMemberList(ApiTalkMemberListDto dto);
+
+ FebsResponse talkReportList(ApiTalkReportListDto dto);
+
FebsResponse reload(ApiMemberTalkReloadStreamDto dto);
FebsResponse historyPage(ApiMemberTalkItemPageDto dto);
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 2271a7b..cd6e136 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
@@ -5,7 +5,9 @@
import cc.mrbird.febs.ai.mapper.AiMemberTalkItemMapper;
import cc.mrbird.febs.ai.req.ai.AiMessage;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkMemberListDto;
import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkItemVo;
+import cc.mrbird.febs.ai.res.memberTalk.ApiTalkMemberListVo;
import cc.mrbird.febs.ai.service.AiMemberTalkItemService;
import cc.mrbird.febs.ai.utils.UUID;
import cc.mrbird.febs.common.entity.FebsResponse;
@@ -103,4 +105,11 @@
return aiMessages;
}
+ @Override
+ public IPage<ApiTalkMemberListVo> getPageByDto(ApiTalkMemberListDto dto) {
+ // 创建分页对象,传入当前页和每页大小
+ Page<ApiTalkMemberListVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
+ return aiMemberTalkItemMapper.getPageByDto(page, dto);
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java
index 1cb9cfe..f6f7618 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkServiceImpl.java
@@ -8,9 +8,12 @@
import cc.mrbird.febs.ai.req.ai.AiMessage;
import cc.mrbird.febs.ai.req.ai.AiRequest;
import cc.mrbird.febs.ai.req.memberTalk.*;
+import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkListDto;
import cc.mrbird.febs.ai.res.ai.AiResponse;
+import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkListVo;
import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkReloadVo;
import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkVo;
+import cc.mrbird.febs.ai.res.memberTalk.ApiTalkMemberListVo;
import cc.mrbird.febs.ai.service.AiMemberTalkItemService;
import cc.mrbird.febs.ai.service.AiMemberTalkService;
import cc.mrbird.febs.ai.service.AiProductRoleLinkService;
@@ -23,7 +26,9 @@
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -315,4 +320,11 @@
);
}
+ @Override
+ public IPage<ApiMemberTalkListVo> getPageByDto(ApiMemberTalkListDto dto) {
+ // 创建分页对象,传入当前页和每页大小
+ Page<ApiMemberTalkListVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
+ return aiMemberTalkMapper.getPageByDto(page, dto);
+ }
+
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkStreamServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkStreamServiceImpl.java
index 3f87f1a..2825f52 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkStreamServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberTalkStreamServiceImpl.java
@@ -5,10 +5,15 @@
import cc.mrbird.febs.ai.enumerates.AiTypeEnum;
import cc.mrbird.febs.ai.mapper.AiMemberTalkMapper;
import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkItemPageDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkMemberListDto;
+import cc.mrbird.febs.ai.req.memberTalk.ApiTalkReportListDto;
import cc.mrbird.febs.ai.req.memberTalkStream.*;
+import cc.mrbird.febs.ai.req.memberTalk.ApiMemberTalkListDto;
import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkMemberAnswerSavaVo;
+import cc.mrbird.febs.ai.res.memberTalk.ApiTalkReportListVo;
import cc.mrbird.febs.ai.res.memberTalkStream.ApiMemberTalkReloadStreamVo;
import cc.mrbird.febs.ai.res.memberTalkStream.ApiMemberTalkStreamVo;
+import cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkListVo;
import cc.mrbird.febs.ai.service.*;
import cc.mrbird.febs.ai.strategy.LlmStrategyFactory;
import cc.mrbird.febs.ai.strategy.enumerates.LlmApplicationAppIdEnum;
@@ -104,6 +109,28 @@
}
@Override
+ public FebsResponse talkList(ApiMemberTalkListDto dto) {
+
+ return new FebsResponse().success().data(aiMemberTalkService.getPageByDto(dto));
+ }
+
+ @Override
+ public FebsResponse talkMemberList(ApiTalkMemberListDto dto) {
+
+ return new FebsResponse().success().data(aiMemberTalkItemService.getPageByDto(dto));
+ }
+
+ @Override
+ public FebsResponse talkReportList(ApiTalkReportListDto dto) {
+ ApiTalkReportListVo apiTalkReportListDto = new ApiTalkReportListVo();
+
+ String memberTalkId = dto.getMemberTalkId();
+ AiMemberTalk byId = aiMemberTalkService.getById(memberTalkId);
+ apiTalkReportListDto.setAnalysis(byId.getAnalysis());
+ return new FebsResponse().success().data(apiTalkReportListDto);
+ }
+
+ @Override
public FebsResponse reload(ApiMemberTalkReloadStreamDto dto) {
String memberUuid = LoginUserUtil.getLoginUser().getMemberUuid();
diff --git a/src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml b/src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml
index 2201f2a..00056bf 100644
--- a/src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml
+++ b/src/main/resources/mapper/modules/AiMemberTalkItemMapper.xml
@@ -18,4 +18,19 @@
</where>
order by a.CREATED_TIME desc
</select>
+
+
+ <select id="getPageByDto" resultType="cc.mrbird.febs.ai.res.memberTalk.ApiTalkMemberListVo">
+ select
+ a.ID as memberTalkItemId,
+ a.member_talk_id as memberTalkId,
+ a.type as type,
+ a.context as context
+ from ai_member_talk_item a
+ <where>
+ and a.member_id = #{record.memberUuid}
+ and a.member_talk_id = #{record.memberTalkId}
+ </where>
+ order by a.CREATED_TIME asc
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/AiMemberTalkMapper.xml b/src/main/resources/mapper/modules/AiMemberTalkMapper.xml
index 9017110..7a0315c 100644
--- a/src/main/resources/mapper/modules/AiMemberTalkMapper.xml
+++ b/src/main/resources/mapper/modules/AiMemberTalkMapper.xml
@@ -1,4 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cc.mrbird.febs.ai.mapper.AiMemberTalkMapper">
+
+ <select id="getPageByDto" resultType="cc.mrbird.febs.ai.res.memberTalk.ApiMemberTalkListVo">
+ select
+ a.ID as talkId,
+ b.name as productName,
+ a.CREATED_TIME as createdTime
+ from ai_member_talk a
+ left join ai_product b on a.product_id = b.id
+ <where>
+ and a.member_id = #{record.memberUuid}
+ and a.product_id = #{record.productId}
+ </where>
+ order by a.CREATED_TIME desc
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1