From e0df047509b4afed457c54f8cef7ff3ee9623cd8 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 23 Jan 2026 10:42:34 +0800
Subject: [PATCH] refactor(ai): 优化会员学习数据处理逻辑

---
 src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java |   34 ++++++++++++----------------------
 1 files changed, 12 insertions(+), 22 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 62f0eb8..2da1918 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
@@ -241,8 +241,6 @@
         String companyId = LoginUserUtil.getLoginUser().getCompanyId();
         String memberUuid = dto.getMemberUuid();
 
-
-
         // 创建分页对象,传入当前页和每页大小
         Page<AiMemberPoint> page = new Page<>(dto.getPageNow(), dto.getPageSize());
         LambdaQueryWrapper<AiMemberPoint> queryWrapper = Wrappers.lambdaQuery(AiMemberPoint.class);
@@ -251,46 +249,38 @@
         Page<AiMemberPoint> pageListByQuery = aiMemberPointService.getBaseMapper().selectPage(page, queryWrapper);
         List<AiMemberPoint> aiMemberPoints = pageListByQuery.getRecords();
 
-//        List<AiMemberPoint> aiMemberPoints = aiMemberPointService.getListByCompanyIdAndMemberUuid(companyId, memberUuid);
         if (CollUtil.isEmpty(aiMemberPoints)){
             return new FebsResponse().success().data(vos);
         }
-        Map<String, List<AiMemberPoint>> aiMemberPointMap = new HashMap<>();
-        if (CollUtil.isNotEmpty(aiMemberPoints)){
-            //stream操作aiMemberPoints,返回一个Map<productPointId,List<AiMemberPoint>>
-            aiMemberPointMap = aiMemberPoints.stream().collect(Collectors.groupingBy(AiMemberPoint::getProductPointId));
-        }
 
-        //stream流操作aiMemberPoints,返回一个productPointId的set集合
-        Set<String> productPointIdSet = aiMemberPoints.stream().map(AiMemberPoint::getProductPointId).collect(Collectors.toSet());
+        // stream流操作aiMemberPoints,返回一个productPointId的set集合
+        Set<String> productPointIdSet = aiMemberPoints.stream()
+                .map(AiMemberPoint::getProductPointId)
+                .collect(Collectors.toSet());
 
         List<AiProductPoint> aiProductPoints = aiProductPointService.getBaseMapper().selectList(
                 Wrappers.lambdaQuery(AiProductPoint.class)
-                        .select(AiProductPoint::getId,AiProductPoint::getTitle)
+                        .select(AiProductPoint::getId, AiProductPoint::getTitle)
                         .in(AiProductPoint::getId, productPointIdSet)
         );
+        //stream操作aiProductPoints,返回一个根据Map<id,AiProductPoint>
+        Map<String, AiProductPoint> productPointMap = aiProductPoints.stream().collect(Collectors.toMap(AiProductPoint::getId, aiProductPoint -> aiProductPoint));
+
         if (CollUtil.isEmpty(aiProductPoints)){
             return new FebsResponse().success().data(vos);
         }
 
-        for (AiProductPoint aiProductPoint : aiProductPoints){
+        for (AiMemberPoint aiMemberPoint : aiMemberPoints){
             ApiMemberTeamStudyVo vo = new ApiMemberTeamStudyVo();
-            vo.setTitle(aiProductPoint.getTitle());
-            Integer totalTime = 0;
-            if (aiMemberPointMap.containsKey(aiProductPoint.getId())){
-                List<AiMemberPoint> memberPoints = aiMemberPointMap.get(aiProductPoint.getId());
-                for (AiMemberPoint memberPoint : memberPoints){
-                    totalTime += memberPoint.getTotalTime();
-                }
-            }
-            vo.setTotalTime(DateUtil.secondToTime(totalTime));
-
+            vo.setTitle(productPointMap.get(aiMemberPoint.getProductPointId()).getTitle());
+            vo.setTotalTime(DateUtil.secondToTime(aiMemberPoint.getTotalTime()));
             vos.add(vo);
         }
 
         return new FebsResponse().success().data(vos);
     }
 
+
     @Override
     public FebsResponse talkPage(ApiMemberTalkPageDto dto) {
 

--
Gitblit v1.9.1