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