From b20847eeab9a9ab4ac502118eaf577d3545f89c2 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期二, 26 四月 2022 17:53:58 +0800
Subject: [PATCH] bug修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java |   48 ++++++++++++++++++++++++++++++------------------
 1 files changed, 30 insertions(+), 18 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
index 8db80c5..b92b1c1 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
@@ -204,10 +204,13 @@
                 }
                 if (currentUserRoles.isEmpty()) {
                     checkResult = false;
-                }
-                boolean result = sysAllowedRoles.stream().anyMatch(role -> currentUserRoles.contains(role));
-                if (!result) {
-                    checkResult = false;
+                } else {
+                    if (!sysAllowedRoles.contains("1")) {
+                        boolean result = sysAllowedRoles.stream().anyMatch(role -> currentUserRoles.contains(role));
+                        if (!result) {
+                            checkResult = false;
+                        }
+                    }
                 }
             }
         }
@@ -251,7 +254,7 @@
         } else {
             comActDiscussDO.setStatus(ComActDiscussDO.status.yfb);
         }
-        comActDiscussDO.setUpdateAt(new Date());
+        comActDiscussDO.setUpdateAt(nowDate);
         int insert = comActDiscussDAO.updateById(comActDiscussDO);
         if (insert > 0) {
             //如果是投票,需要把投票的选项存储
@@ -299,6 +302,7 @@
         LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(userId);
         comActDiscussVO.setUserName(loginUserInfoVO.getName());
         comActDiscussVO.setUserNickName(loginUserInfoVO.getNickName());
+        comActDiscussVO.setImageUrl(loginUserInfoVO.getImageUrl());
 
         //分页查询评论列表
         PageComActDiscussCommentDTO pageComActDiscussCommentDTO = new PageComActDiscussCommentDTO();
@@ -678,11 +682,13 @@
      */
     private void checkDiscussStatusIsCorrect(ComActDiscussVO comActDiscussVO) {
         //判断discuss状态是否正确
-        boolean isIncorrectStatus = comActDiscussVO.getEndTime().before(new Date()) &&
-                (comActDiscussVO.getStatus().intValue() == 1 || comActDiscussVO.getStatus().intValue() == 2);
-        if (isIncorrectStatus) {
-            comActDiscussVO.setStatus(3);
-            comActDiscussDAO.updateStatusById(comActDiscussVO.getId(), 3);
+        if(comActDiscussVO.getEndTime() != null){
+            boolean isIncorrectStatus = comActDiscussVO.getEndTime().before(new Date()) &&
+                    (comActDiscussVO.getStatus().intValue() == 1 || comActDiscussVO.getStatus().intValue() == 2);
+            if (isIncorrectStatus) {
+                comActDiscussVO.setStatus(3);
+                comActDiscussDAO.updateStatusById(comActDiscussVO.getId(), 3);
+            }
         }
     }
 
@@ -1291,8 +1297,12 @@
                 //组装viewNum key
                 List<String> viewNumKeys = new ArrayList<>();
                 Iterator<String> iterator = needWriteDiscussIdSet.iterator();
+                List<String> idList = null;
                 while (iterator.hasNext()) {
-                    viewNumKeys.add(String.join("_", DISCUSS_VIEW_NUM_PREFIX, iterator.next()));
+                    idList = Arrays.asList(iterator.next().split(","));
+                    if (nonNull(idList) && !idList.isEmpty()) {
+                        idList.forEach(discussId -> viewNumKeys.add(String.join("_", DISCUSS_VIEW_NUM_PREFIX, discussId)));
+                    }
                 }
 
                 ValueOperations opsForValue = stringRedisTemplate.opsForValue();
@@ -1300,13 +1310,15 @@
 
                 //待处理集合,以key-value/discussId-viewNum 存放
                 HashMap<Long, Integer> needDealMap = new HashMap<>();
-                for (String discussId : needWriteDiscussIdSet) {
-                    try {
-                        needDealMap.put(Long.parseLong(discussId), Integer.parseInt(viewNumList.get(0)));
-                        viewNumList.remove(0);
-                    } catch (IndexOutOfBoundsException e) {
-                        //数据存在异常了,跳过,继续执行正确的
-                        continue;
+                if (nonNull(idList) && !idList.isEmpty()) {
+                    for (String discussId : idList) {
+                        try {
+                            needDealMap.put(Long.parseLong(discussId), Integer.parseInt(viewNumList.get(0)));
+                            viewNumList.remove(0);
+                        } catch (IndexOutOfBoundsException e) {
+                            //数据存在异常了,跳过,继续执行正确的
+                            continue;
+                        }
                     }
                 }
                 int result = comActDiscussDAO.batchUpdateViewNum(needDealMap);

--
Gitblit v1.7.1