Administrator
2 days ago d158eb66602278d6f02b767b6639463ec4b671cb
fix(ai): 解决会员学习数据转换中的空指针异常

- 添加 productPoint 空值检查避免 NPE
- 添加 totalTime 空值检查并设置默认值为 0
- 优化代码结构提高可读性
- 防止因数据缺失导致的系统崩溃
1 files modified
14 ■■■■ changed files
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java 14 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/ai/service/impl/AiMemberServiceImpl.java
@@ -271,11 +271,21 @@
        }
        for (AiMemberPoint aiMemberPoint : aiMemberPoints){
            String productPointId = aiMemberPoint.getProductPointId();
            AiProductPoint productPoint = productPointMap.get(productPointId);
            // 检查 productPoint 是否存在
            if (productPoint != null) {
            ApiMemberTeamStudyVo vo = new ApiMemberTeamStudyVo();
            vo.setTitle(productPointMap.get(aiMemberPoint.getProductPointId()).getTitle());
            vo.setTotalTime(DateUtil.secondToTime(aiMemberPoint.getTotalTime()));
                vo.setTitle(productPoint.getTitle());
                // 检查 totalTime 是否为 null
                Integer totalTime = aiMemberPoint.getTotalTime();
                vo.setTotalTime(DateUtil.secondToTime(totalTime != null ? totalTime : 0));
            vos.add(vo);
        }
        }
        return new FebsResponse().success().data(vos);
    }