Browse Source

feat:优化课程分析接口(空数据处理)

caoliqin 1 week ago
parent
commit
ce573487f1

+ 8 - 4
fs-service-system/src/main/java/com/fs/store/service/impl/FsUserServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fs.store.service.impl;
 
 import java.math.BigDecimal;
+import java.math.BigInteger;
 import java.math.RoundingMode;
 import java.util.*;
 import java.util.function.Function;
@@ -625,10 +626,13 @@ public class FsUserServiceImpl implements IFsUserService
             FsCourseAnalysisCountVO courseVO = courseMap.getOrDefault(v.getVideoId(), countVO);
             FsCourseAnalysisCountVO redPacketVO = redPacketMap.getOrDefault(v.getVideoId(), countVO);
             FsCourseAnalysisCountVO answerVO = answerMap.getOrDefault(v.getVideoId(), countVO);
-
-            BeanUtils.copyProperties(courseVO, countVO);
-            countVO.setRedPacketNum(redPacketVO.getRedPacketNum()).setRedPacketAmount(redPacketVO.getRedPacketAmount());
-            countVO.setAnswerNum(answerVO.getAnswerNum()).setAnswerRightNum(answerVO.getAnswerRightNum()).setAnswerRightRate(answerVO.getAnswerRightRate());
+            //单独赋值
+            countVO.setVideoId(v.getVideoId()).setCourseWatchNum(courseVO.getCourseWatchNum()).setCourseCompleteNum(courseVO.getCourseWatchNum())
+                    .setCompleteRate(courseVO.getCompleteRate() != null ? courseVO.getCompleteRate() : new BigDecimal(BigInteger.ZERO));
+            countVO.setRedPacketNum(redPacketVO.getRedPacketNum())
+                    .setRedPacketAmount(redPacketVO.getRedPacketAmount() != null ? redPacketVO.getRedPacketAmount() : new BigDecimal(BigInteger.ZERO));
+            countVO.setAnswerNum(answerVO.getAnswerNum()).setAnswerRightNum(answerVO.getAnswerRightNum())
+                    .setAnswerRightRate(answerVO.getAnswerRightRate()!=null ? answerVO.getAnswerRightRate() : new BigDecimal(BigInteger.ZERO));
             allVO.setCountVO(countVO);
             return allVO;
         }).collect(Collectors.toList());