From 5a8a90c095280fbd2106869ecd2bad10e01a57a6 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期四, 23 十二月 2021 18:10:22 +0800
Subject: [PATCH] 12/23  大屏修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 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 39e6c42..e3eb9f9 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) {
@@ -456,7 +458,9 @@
             String attendPeople = actActivityDO.getAattendPeople();
             if (isVolunteer.intValue() == 0 && isNotBlank(attendPeople)) {
                 if (isBlank(currentUserTags)) {
-                    return R.fail("您不是指定参与人群!");
+                    currentUserTags = "全部居民";
+                } else {
+                    currentUserTags = currentUserTags.concat(",全部居民");
                 }
                 List<String> currentUserTagList = Arrays.asList(currentUserTags.split(","));
                 boolean checkResult = currentUserTagList.stream().anyMatch(currentUserTag -> attendPeople.contains(currentUserTag));
@@ -633,11 +637,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);
@@ -718,7 +731,7 @@
         // 查询所有即将开始的活动
         List<ComActActivityDO> actActivityList = comActActivityDAO.selectList(new QueryWrapper<ComActActivityDO>()
             .lambda().le(ComActActivityDO::getBeginAt, DateUtils.addDays(new Date(), 1))
-            .ge(ComActActivityDO::getBeginAt, new Date()));
+            .ge(ComActActivityDO::getBeginAt, new Date()).notIn(ComActActivityDO::getStatus,5,6));
         if (!actActivityList.isEmpty()) {
             WxXCXTempSend util = new WxXCXTempSend();
             try {

--
Gitblit v1.7.1