From 6f05a3669979af08422a2f6fd6df93e3e39774d7 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期日, 26 九月 2021 19:31:50 +0800
Subject: [PATCH] 修改bug

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
index 0d412a3..5673d1d 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -4,6 +4,8 @@
 import static org.apache.commons.lang3.StringUtils.isBlank;
 import static org.apache.commons.lang3.StringUtils.isNotBlank;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -177,7 +179,7 @@
         // 结束时间大于当前时间则设置为“进行中”
         Date now = new Date();
         if (comActActivityVO.getSignUpEnd() != null && now.getTime() < comActActivityVO.getSignUpEnd().getTime()) {
-            comActActivityDO.setStatus(4);
+            comActActivityDO.setStatus(3);
         }
         boolean b = this.updateById(comActActivityDO);
         if (b) {
@@ -599,13 +601,13 @@
         // 修改报名状态 变为报名中
 //        int num1 = comActActivityDAO.updateStatusToBeginSign();
 //        log.info("定时任务--修改社区活动报名状态活动数量【{}】", num1);
+        int num3 = comActActivityDAO.updateStatusToBeginAfterSingEnd();
+        log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3);
         // 查询已经结束的活动,需要计算积分
         List<Long> activityEndIds = comActActivityDAO.getActivityEndIds();
         // 修改进行状态 变为进行中或者已结束
         int num2 = comActActivityDAO.updateStatusToBeginActiveOrEnd();
         log.info("定时任务--修改社区活动进行状态活动数量【{}】", num2);
-        int num3 = comActActivityDAO.updateStatusToBeginAfterSingEnd();
-        log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3);
         return R.ok(activityEndIds);
     }
 
@@ -633,11 +635,20 @@
         iPage.getRecords().forEach(vo ->{
             List<ComActActEvaluateDO> comActActEvaluateDOList = comActActEvaluateDAO
                     .selectList(new QueryWrapper<ComActActEvaluateDO>().lambda().eq(ComActActEvaluateDO::getActivityId, vo.getId()));
-            if (comActActEvaluateDOList != null && comActActEvaluateDOList.size() != 0) {
+            if (comActActEvaluateDOList != null && comActActEvaluateDOList.size() > 0) {
+                BigDecimal starNum = BigDecimal.ZERO;
                 //总星级
-                int starNum = comActActEvaluateDOList.stream().mapToInt(ComActActEvaluateDO::getStarLevel).sum();
-                //评分星级=总星级/总评价人数
-                vo.setEvaluateLevel(Double.valueOf(starNum/comActActEvaluateDOList.size()));
+                for (ComActActEvaluateDO evaluateDO:comActActEvaluateDOList) {
+                    starNum = starNum.add(BigDecimal.valueOf(evaluateDO.getStarLevel()==null?0:evaluateDO.getStarLevel()));
+                }
+                //评分星级(如果无评分默认5分)=总星级/总评价人数
+                if(starNum.compareTo(BigDecimal.ZERO) == 0){
+                    vo.setEvaluateLevel(BigDecimal.valueOf(5));
+                }else{
+                    vo.setEvaluateLevel(starNum.divide(BigDecimal.valueOf(comActActEvaluateDOList.size()),2, RoundingMode.HALF_UP));
+                }
+            }else{
+                vo.setEvaluateLevel(BigDecimal.valueOf(5));
             }
         });
         return R.ok(iPage);

--
Gitblit v1.7.1