From 43f0578e80af82ecae6c61b51bd0539c6b960603 Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期二, 16 八月 2022 19:08:32 +0800 Subject: [PATCH] 服务范围优化 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java | 40 +++++++++++++++++++++++++++++----------- 1 files changed, 29 insertions(+), 11 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 b92b1c1..4069f73 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 @@ -317,6 +317,11 @@ } }); comActDiscussVO.setDiscussCommentList(discussComments.getRecords()); + String viewNumKey = String.join("_", DISCUSS_VIEW_NUM_PREFIX, id.toString()); + if (stringRedisTemplate.hasKey(viewNumKey)) { + ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue(); + comActDiscussVO.setViewsNum(Integer.parseInt(opsForValue.get(viewNumKey))); + } return R.ok(comActDiscussVO); } @@ -397,7 +402,19 @@ */ @Override public R pageDiscussAdmin(PageComActDiscussDTO pageComActDiscussDTO) { - return R.ok(comActDiscussDAO.pageDiscussAdmin(new Page<>(pageComActDiscussDTO.getPageNum(), pageComActDiscussDTO.getPageSize()), pageComActDiscussDTO)); + IPage<ComActDiscussVO> comActDiscussVOIPage=comActDiscussDAO.pageDiscussAdmin(new Page<>(pageComActDiscussDTO.getPageNum(), pageComActDiscussDTO.getPageSize()), pageComActDiscussDTO); + List<ComActDiscussVO> records = comActDiscussVOIPage.getRecords(); + if (!ObjectUtils.isEmpty(records)) { + records.forEach(comActDiscussVO -> { + Long id = comActDiscussVO.getId(); + String viewNumKey = String.join("_", DISCUSS_VIEW_NUM_PREFIX, id.toString()); + if (stringRedisTemplate.hasKey(viewNumKey)) { + ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue(); + comActDiscussVO.setViewsNum(Integer.parseInt(opsForValue.get(viewNumKey))); + } + }); + } + return R.ok(comActDiscussVOIPage); } /** @@ -978,13 +995,9 @@ comActDiscussOptionUserDO.setUserId(userId); comActDiscussOptionUserDO.setDiscussOptionId(optionId); comActDiscussOptionUserDO.setDiscussId(discussId); - comActDiscussOptionUserDOList.add(comActDiscussOptionUserDO); + comActDiscussOptionUserDAO.insert(comActDiscussOptionUserDO); }); - int result = comActDiscussOptionUserDAO.batchInsert(comActDiscussOptionUserDOList); - if (result > 0) { - return R.ok(); - } - return R.fail(); + return R.ok(); } /** @@ -1297,11 +1310,13 @@ //组装viewNum key List<String> viewNumKeys = new ArrayList<>(); Iterator<String> iterator = needWriteDiscussIdSet.iterator(); - List<String> idList = null; + List<String> idList = new ArrayList<>(); while (iterator.hasNext()) { - idList = Arrays.asList(iterator.next().split(",")); - if (nonNull(idList) && !idList.isEmpty()) { - idList.forEach(discussId -> viewNumKeys.add(String.join("_", DISCUSS_VIEW_NUM_PREFIX, discussId))); + String next = iterator.next(); + String key = String.join("_", DISCUSS_VIEW_NUM_PREFIX, next); + if (stringRedisTemplate.hasKey(key)) { + idList.add(next); + viewNumKeys.add(key); } } @@ -1311,11 +1326,14 @@ //待处理集合,以key-value/discussId-viewNum 存放 HashMap<Long, Integer> needDealMap = new HashMap<>(); if (nonNull(idList) && !idList.isEmpty()) { + log.error("一起议id列表:" + idList.toString()); + log.error("一起议浏览量:" + viewNumList.toString()); for (String discussId : idList) { try { needDealMap.put(Long.parseLong(discussId), Integer.parseInt(viewNumList.get(0))); viewNumList.remove(0); } catch (IndexOutOfBoundsException e) { + log.error("数据异常:" + discussId, e.getMessage()); //数据存在异常了,跳过,继续执行正确的 continue; } -- Gitblit v1.7.1