From ce34fb4b611a61885c7146e8d776c758b3f366fe Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期五, 08 七月 2022 10:11:06 +0800
Subject: [PATCH] 问题清单bug处理
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 46 insertions(+), 14 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 2e3af14..1fcef65 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();
@@ -313,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);
}
@@ -393,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);
}
/**
@@ -1293,8 +1314,14 @@
//组装viewNum key
List<String> viewNumKeys = new ArrayList<>();
Iterator<String> iterator = needWriteDiscussIdSet.iterator();
+ List<String> idList = new ArrayList<>();
while (iterator.hasNext()) {
- viewNumKeys.add(String.join("_", DISCUSS_VIEW_NUM_PREFIX, iterator.next()));
+ String next = iterator.next();
+ String key = String.join("_", DISCUSS_VIEW_NUM_PREFIX, next);
+ if (stringRedisTemplate.hasKey(key)) {
+ idList.add(next);
+ viewNumKeys.add(key);
+ }
}
ValueOperations opsForValue = stringRedisTemplate.opsForValue();
@@ -1302,13 +1329,18 @@
//待处理集合,以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()) {
+ 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;
+ }
}
}
int result = comActDiscussDAO.batchUpdateViewNum(needDealMap);
--
Gitblit v1.7.1