From 723bc1c8b6d4fd6c8a0388572e6afbc70344bf49 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 13 Jan 2026 17:07:08 +0800
Subject: [PATCH] fix(ai): 修复会员答案设置问题
---
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java | 14 +++++++++++---
1 files changed, 11 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..973f780 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);
@@ -448,6 +448,7 @@
LambdaQueryWrapper<AiMemberAnswerItem> memberAnswerItemLambdaQueryWrapper = Wrappers.lambdaQuery(AiMemberAnswerItem.class);
memberAnswerItemLambdaQueryWrapper.in(AiMemberAnswerItem::getMemberAnswerQuestionId,questionItemIdSet);
memberAnswerItemLambdaQueryWrapper.eq(AiMemberAnswerItem::getCompanyId,companyId);
+ memberAnswerItemLambdaQueryWrapper.isNotNull(AiMemberAnswerItem::getAnswer);
List<AiMemberAnswerItem> memberAnswerItemList = aiMemberAnswerItemService.getListByQuery(memberAnswerItemLambdaQueryWrapper);
//利用stream流,操作集合memberAnswerItemList,返回一个map对象,key为memberAnswerQuestionId,value为按照memberAnswerQuestionId分组的集合的大小,默认值为0
Map<String, Long> memberAnswerItemCountMap =
@@ -495,17 +496,24 @@
LambdaQueryWrapper<AiMemberAnswerItem> memberAnswerItemLambdaQueryWrapper = Wrappers.lambdaQuery(AiMemberAnswerItem.class);
memberAnswerItemLambdaQueryWrapper.eq(AiMemberAnswerItem::getProductQuestionId,productQuestionId);
memberAnswerItemLambdaQueryWrapper.eq(AiMemberAnswerItem::getCompanyId,companyId);
+ memberAnswerItemLambdaQueryWrapper.isNotNull(AiMemberAnswerItem::getAnswer);
List<AiMemberAnswerItem> memberAnswerItemList = aiMemberAnswerItemService.getListByQuery(memberAnswerItemLambdaQueryWrapper);
if ( CollUtil.isEmpty(memberAnswerItemList)){
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 +523,7 @@
vo.setNickName(mallMemberMap.get(memberAnswerItem.getMemberId()).getRealName());
vo.setMemberAnswerState(memberAnswerItem.getMemberAnswerState());
- vo.setAnswer( memberAnswerItem.getAnswer());
+ vo.setAnswer(answerMap.get(memberAnswerItem.getMemberAnswerQuestionId()).getAnswer());
objects.add(vo);
}
return new FebsResponse().success().data(objects);
--
Gitblit v1.9.1