puhanshu
2022-04-26 99446f0de1cb0e870795f04385869bcabb63c5f4
bug修改
1个文件已修改
22 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
@@ -1297,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();
@@ -1306,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);