Administrator
7 hours ago 4fe2bf0b6bbd04f5570be66246ab933ac1dd1c12
fix(ai): 修复会员答案显示问题

- 添加了答案查询逻辑,从AiProductQuestionItem中获取正确的答案数据
- 创建了答案集合和映射用于关联会员答案与产品问题答案
- 修改了答案设置逻辑,使用答案映射中的实际答案内容替代原始答案ID
- 确保返回给前端的答案字段包含正确的产品问题答案内容
1 files modified
10 ■■■■■ changed files
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
@@ -500,6 +500,14 @@
            return  new FebsResponse().success().data(objects);
        }
        Set<String> answerSet = memberAnswerItemList.stream().map(AiMemberAnswerItem::getAnswer).collect(Collectors.toSet());
        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)
@@ -515,7 +523,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);