From 0a2656ceb2d92f36f72dd837b9acf347befd3b32 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 22 Jan 2026 15:05:20 +0800
Subject: [PATCH] fix(ai): 修复AI会员答题服务事务管理问题

---
 src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java
index d4fed26..afbfb9a 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java
@@ -4,8 +4,10 @@
 import cc.mrbird.febs.ai.enumerates.AiTypeEnum;
 import cc.mrbird.febs.ai.mapper.AiMemberAnswerMapper;
 import cc.mrbird.febs.ai.req.member.ApiCompanyStudyDto;
+import cc.mrbird.febs.ai.req.member.ApiCompanyStudyRecordDto;
 import cc.mrbird.febs.ai.req.member.ApiMemberAnswerPageDto;
 import cc.mrbird.febs.ai.req.memberAnswer.*;
+import cc.mrbird.febs.ai.res.member.ApiCompanyStudyRecordVo;
 import cc.mrbird.febs.ai.res.member.ApiCompanyStudyVo;
 import cc.mrbird.febs.ai.res.member.ApiMemberAnswerPageVo;
 import cc.mrbird.febs.ai.res.memberAnswer.*;
@@ -65,6 +67,7 @@
     }
 
     @Override
+    @Transactional
     public FebsResponse startAnswerV2(ApiMemberAnswerDto dto) {
         String memberUuid = LoginUserUtil.getLoginUser().getMemberUuid();
         ApiMemberAnswerVoV2 apiMemberAnswerVoV2 = new ApiMemberAnswerVoV2();
@@ -463,4 +466,20 @@
     public IPage<ApiCompanyStudyVo> selectListPage(ApiCompanyStudyDto dto, Page<ApiCompanyStudyVo> page) {
         return aiMemberAnswerMapper.selectProductListPage(page,dto);
     }
+
+    @Override
+    public IPage<ApiCompanyStudyRecordVo> getStudyRecordList(Page<ApiCompanyStudyRecordVo> page, ApiCompanyStudyRecordDto dto) {
+        return aiMemberAnswerMapper.getStudyRecordList(page,dto);
+    }
+
+    @Override
+    public List<AiMemberAnswer> getIdListByCompanyIdAndProductId(String companyId, Set<String> collect) {
+        return aiMemberAnswerMapper.selectList(
+                Wrappers.lambdaQuery(AiMemberAnswer.class)
+                        .select(AiMemberAnswer::getId,AiMemberAnswer::getProductId)
+                        .eq(AiMemberAnswer::getCompanyId, companyId)
+                        .in(AiMemberAnswer::getProductId, collect)
+                        .eq(AiMemberAnswer::getState, AiTypeEnum.AI_MEMBER_ANSWER_STATE_DONE.getCode())
+        );
+    }
 }

--
Gitblit v1.9.1