From 5006b1ba2452c4fb487fdd48746ad8a9b8fce640 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期六, 18 九月 2021 13:46:40 +0800
Subject: [PATCH] 修复议事投票小程序bug

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java |   25 +++++++++----------------
 1 files changed, 9 insertions(+), 16 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 2dbcd46..8206fed 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
@@ -597,12 +597,14 @@
         IPage<ComActDiscussVO> iPage = comActDiscussDAO.pageDiscussApplets(page, pageComActDiscussDTO);
         List<ComActDiscussVO> records = iPage.getRecords();
         if (!ObjectUtils.isEmpty(records)) {
-            List<String> viewNumKeys = new ArrayList<>();
             records.forEach(comActDiscussVO -> {
                 Integer type = comActDiscussVO.getType();
                 Long id = comActDiscussVO.getId();
                 String viewNumKey = String.join("_", DISCUSS_VIEW_NUM_PREFIX, id.toString());
-                viewNumKeys.add(viewNumKey);
+                if (stringRedisTemplate.hasKey(viewNumKey)) {
+                    ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue();
+                    comActDiscussVO.setViewsNum(Integer.parseInt(opsForValue.get(viewNumKey)));
+                }
                 if (type.equals(2)) {
                     List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
                             new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
@@ -666,17 +668,6 @@
                     comActDiscussVO.setHaveVote(haveVote > 0 ? 1 : 0);
                 }
             });
-            ValueOperations opsForValue = stringRedisTemplate.opsForValue();
-            List<String> viewNumList = opsForValue.multiGet(viewNumKeys);
-            for (ComActDiscussVO discussVO : records) {
-                try {
-                    discussVO.setViewsNum(Integer.parseInt(viewNumList.get(0)));
-                    viewNumList.remove(0);
-                } catch (IndexOutOfBoundsException e) {
-                    //数据存在异常了,跳过,继续执行正确的
-                    continue;
-                }
-            }
         }
         return R.ok(iPage);
     }
@@ -904,9 +895,11 @@
             comActDiscussVO.setHaveVote(comActDiscussVO1.getHaveVote());
         }
         String viewNumKey = String.join("_", DISCUSS_VIEW_NUM_PREFIX, id.toString());
-        ValueOperations opsForValue = stringRedisTemplate.opsForValue();
-        int viewNum = Integer.parseInt((String) opsForValue.get(viewNumKey));
-        comActDiscussVO.setViewsNum(viewNum);
+        if (stringRedisTemplate.hasKey(viewNumKey)) {
+            ValueOperations opsForValue = stringRedisTemplate.opsForValue();
+            int viewNum = Integer.parseInt((String) opsForValue.get(viewNumKey));
+            comActDiscussVO.setViewsNum(viewNum);
+        }
         return R.ok(comActDiscussVO);
     }
 

--
Gitblit v1.7.1