From 2ab7f6493bccd6dde61ac331645daee4d82ea7ea Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 21 Aug 2025 09:58:44 +0800
Subject: [PATCH] refactor(ai): 优化会员答案保存逻辑

---
 src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 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 a13c68e..5cb8f6c 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
@@ -57,7 +57,6 @@
     public FebsResponse startAnswerV2(ApiMemberAnswerDto dto) {
         String memberUuid = LoginUserUtil.getLoginUser().getMemberUuid();
         ApiMemberAnswerVoV2 apiMemberAnswerVoV2 = new ApiMemberAnswerVoV2();
-        Integer current = 1;
 
         String productId = dto.getId();
         AiProduct aiProduct = aiProductService.getById(productId);
@@ -114,11 +113,15 @@
                 aiMemberAnswerItems.add(aiMemberAnswerItem);
             }
             aiMemberAnswerItemService.saveBatch(aiMemberAnswerItems);
-            current = 1;
+            apiMemberAnswerVoV2.setCurrent(1);
         }else{
-            current = aiMemberAnswer.getDoneCnt();
+            if (aiMemberAnswer.getQuestionCnt() > aiMemberAnswer.getDoneCnt()){
+                apiMemberAnswerVoV2.setCurrent(aiMemberAnswer.getDoneCnt() + 1);
+            }else{
+                apiMemberAnswerVoV2.setCurrent(aiMemberAnswer.getDoneCnt());
+            }
         }
-        apiMemberAnswerVoV2.setCurrent(current);
+        apiMemberAnswerVoV2.setMemberAnswerId(aiMemberAnswer.getId());
 
         return new FebsResponse().success().data(apiMemberAnswerVoV2);
     }
@@ -273,7 +276,7 @@
         }else{
             aiMemberAnswerItem.setIsCollected(0);
         }
-        aiMemberAnswerItemService.save(aiMemberAnswerItem);
+        aiMemberAnswerItemService.updateById(aiMemberAnswerItem);
 
         aiMemberAnswer.setDoneCnt(aiMemberAnswer.getDoneCnt() + 1);
         if (aiMemberAnswerItem.getMemberAnswerState() == 1){

--
Gitblit v1.9.1