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