From 41d6b4e7a84e8dc752949f9bcfc405050adb2cea Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 13 Jan 2026 16:33:35 +0800
Subject: [PATCH] refactor(ai): 优化AiMemberServiceImpl中的查询逻辑
---
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
index bffe7f3..8d90370 100644
--- a/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
@@ -132,7 +132,7 @@
//判断mallMemberMap中是否存在该会员
apiMemberTeamPageVo.setNickName(mallMemberMap.containsKey(aiMemberId) ? mallMemberMap.get(aiMemberId).getName() : "");
- apiMemberTeamPageVo.setMemberName(mallMemberMap.containsKey(aiMemberId) ? mallMemberMap.get(aiMemberId).getName() : "");
+ apiMemberTeamPageVo.setMemberName(mallMemberMap.containsKey(aiMemberId) ? mallMemberMap.get(aiMemberId).getRealName() : "");
Integer practiceCnt = 0;
if (memberIdToCntMapTalk.containsKey(aiMemberId)){
practiceCnt = memberIdToCntMapTalk.get(aiMemberId);
@@ -500,12 +500,18 @@
return new FebsResponse().success().data(objects);
}
+ LambdaQueryWrapper<AiProductQuestionItem> answerQuery = Wrappers.lambdaQuery(AiProductQuestionItem.class);
+ answerQuery.select( AiProductQuestionItem::getId,AiProductQuestionItem::getAnswer);
+ answerQuery.eq(AiProductQuestionItem::getProductQuestionId,productQuestionId);
+ answerQuery.eq(AiProductQuestionItem::getCompanyId,companyId);
+ List<AiProductQuestionItem> answerQueryList = aiProductQuestionItemService.getListByQuery(answerQuery);
+ Map<String, AiProductQuestionItem> answerMap = answerQueryList.stream().collect(Collectors.toMap(AiProductQuestionItem::getId, aiProductQuestionItem -> aiProductQuestionItem));
+
Set<String> memberIdSet = memberAnswerItemList.stream().map(AiMemberAnswerItem::getMemberId).collect(Collectors.toSet());
List<MallMember> mallMembers = mallMemberMapper.selectList(
Wrappers.lambdaQuery(MallMember.class)
.select(MallMember::getMemberUuid, MallMember::getName, MallMember::getRealName)
.in(MallMember::getMemberUuid, memberIdSet)
- .eq(MallMember::getCompanyId, companyId)
);
//Stream流操作mallMembers,获取一个map<memberUuid,mallMember>的对象
Map<String, MallMember> mallMemberMap = mallMembers.stream().collect(Collectors.toMap(MallMember::getMemberUuid, mallMember -> mallMember));
@@ -515,7 +521,7 @@
vo.setNickName(mallMemberMap.get(memberAnswerItem.getMemberId()).getRealName());
vo.setMemberAnswerState(memberAnswerItem.getMemberAnswerState());
- vo.setAnswer( memberAnswerItem.getAnswer());
+ vo.setAnswer(answerMap.get(memberAnswerItem.getAnswer()).getAnswer());
objects.add(vo);
}
return new FebsResponse().success().data(objects);
--
Gitblit v1.9.1