From 8130bed63a505cf718481c0d95d3fcf7b037db96 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 16 Sep 2025 15:11:45 +0800
Subject: [PATCH] refactor(ai): 优化代码结构和更新时间处理
---
src/main/java/cc/mrbird/febs/ai/service/AiMemberAnswerService.java | 4 ++++
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberAnswerServiceImpl.java | 20 +++++++++++++++-----
src/main/java/cc/mrbird/febs/ai/service/ApiMemberTalkStreamService.java | 4 ++++
src/main/java/cc/mrbird/febs/ai/service/impl/ApiMemberTalkStreamServiceImpl.java | 14 ++++++++++++++
4 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/AiMemberAnswerService.java b/src/main/java/cc/mrbird/febs/ai/service/AiMemberAnswerService.java
index 5c5a946..474732c 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/AiMemberAnswerService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/AiMemberAnswerService.java
@@ -5,6 +5,8 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Date;
import java.util.List;
/**
@@ -32,4 +34,6 @@
FebsResponse wrongPage(ApiMemberAnswerWrongPageDto dto);
FebsResponse myWork(ApiMemberProductWorkPageDto dto);
+
+ void updateMemberAnswerUpdateTime(String memberAnswerId, Date updateTime);
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/ApiMemberTalkStreamService.java b/src/main/java/cc/mrbird/febs/ai/service/ApiMemberTalkStreamService.java
index e2d593f..0ca15c4 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/ApiMemberTalkStreamService.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/ApiMemberTalkStreamService.java
@@ -7,6 +7,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import reactor.core.publisher.Flux;
+import java.util.Date;
+
public interface ApiMemberTalkStreamService extends IService<AiMemberTalk> {
/**
* 生成题目(流式)
@@ -26,4 +28,6 @@
Flux<FebsResponse> answerV2(AiTalkAnswerStreamDto dto);
FebsResponse saveAnswer(ApiMemberTalkAnswerSavaDto dto);
+
+ void updateMemberTalkUpdateTime(String memberTalkId, Date updateTime);
}
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 56576c6..2434673 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
@@ -253,11 +253,11 @@
throw new FebsException("答题记录不存在");
}
- String companyId = aiMemberAnswer.getCompanyId();
+ Date nowTime = new Date();
- Date createdTime = new Date();
+ String companyId = aiMemberAnswer.getCompanyId();
AiMemberAnswerItem aiMemberAnswerItem = aiMemberAnswerItemService.getById(memberAnswerItemId);
- aiMemberAnswerItem.setUpdatedTime(createdTime);
+ aiMemberAnswerItem.setUpdatedTime(nowTime);
AiProductQuestion aiProductQuestion = aiProductQuestionService.getById(productQuestionId);
LambdaQueryWrapper<AiProductQuestionItem> productQuestionItemLambdaQueryWrapper = Wrappers.lambdaQuery(AiProductQuestionItem.class);
@@ -282,14 +282,14 @@
}else{
aiMemberAnswerItem.setIsCollected(0);
}
+ aiMemberAnswerItem.setCompanyId(companyId);
aiMemberAnswerItemService.updateById(aiMemberAnswerItem);
aiMemberAnswer.setDoneCnt(aiMemberAnswer.getDoneCnt() + 1);
if (aiMemberAnswerItem.getMemberAnswerState() == 1){
aiMemberAnswer.setCorrectCnt(aiMemberAnswer.getCorrectCnt() + 1);
}
- aiMemberAnswerItem.setCompanyId(companyId);
- aiMemberAnswer.setUpdatedTime(createdTime);
+ aiMemberAnswer.setUpdatedTime(nowTime);
aiMemberAnswerMapper.updateById(aiMemberAnswer);
apiQuestionItemInfoVo.setAnswerAnalysis(aiMemberAnswerItem.getAnswerAnalysis());
@@ -396,4 +396,14 @@
return new FebsResponse().success().data(pageListByQuery);
}
+
+ @Override
+ public void updateMemberAnswerUpdateTime(String memberAnswerId, Date updateTime) {
+ aiMemberAnswerMapper.update(
+ null,
+ Wrappers.lambdaUpdate(AiMemberAnswer.class)
+ .set(AiMemberAnswer::getUpdatedTime,updateTime)
+ .eq(AiMemberAnswer::getId,memberAnswerId)
+ );
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/ApiMemberTalkStreamServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/ApiMemberTalkStreamServiceImpl.java
index 3c1e6f8..c25e496 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/ApiMemberTalkStreamServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/ApiMemberTalkStreamServiceImpl.java
@@ -130,6 +130,8 @@
if (ObjectUtil.isNull(aiMemberTalk)){
throw new FebsException("对话不存在");
}
+ this.updateMemberTalkUpdateTime(aiMemberTalk.getId(), new Date());
+
String companyId = aiMemberTalk.getCompanyId();
aiMemberTalkItemService.add(memberUuid,aiMemberTalk.getId(),companyId,2,content,new Date());
return new FebsResponse().success();
@@ -277,6 +279,9 @@
if (ObjectUtil.isNull(aiMemberTalk)){
throw new FebsException("对话不存在");
}
+
+ this.updateMemberTalkUpdateTime(aiMemberTalk.getId(), new Date());
+
String companyId = aiMemberTalk.getCompanyId();
Integer type = dto.getType();
String memberTalkItemId;
@@ -306,4 +311,13 @@
return new FebsResponse().success().data(stringStringHashMap);
}
+ @Override
+ public void updateMemberTalkUpdateTime(String memberTalkId, Date updateTime) {
+ aiMemberTalkMapper.update(null,
+ Wrappers.lambdaUpdate(AiMemberTalk.class)
+ .set(AiMemberTalk::getUpdatedTime,updateTime)
+ .eq(AiMemberTalk::getId,memberTalkId)
+ );
+ }
+
}
--
Gitblit v1.9.1