From 00a59b93c16b24e7be77c6f1ce4866c75a2e0431 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期二, 19 四月 2022 16:32:21 +0800 Subject: [PATCH] 花城E+防疫修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java | 55 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 28 insertions(+), 27 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..934c044 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(); @@ -597,12 +601,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 +672,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); } @@ -687,11 +682,13 @@ */ private void checkDiscussStatusIsCorrect(ComActDiscussVO comActDiscussVO) { //判断discuss状态是否正确 - boolean isIncorrectStatus = comActDiscussVO.getEndTime().before(new Date()) && - (comActDiscussVO.getStatus().intValue() == 1 || comActDiscussVO.getStatus().intValue() == 2); - if (isIncorrectStatus) { - comActDiscussVO.setStatus(3); - comActDiscussDAO.updateStatusById(comActDiscussVO.getId(), 3); + if(comActDiscussVO.getEndTime() != null){ + boolean isIncorrectStatus = comActDiscussVO.getEndTime().before(new Date()) && + (comActDiscussVO.getStatus().intValue() == 1 || comActDiscussVO.getStatus().intValue() == 2); + if (isIncorrectStatus) { + comActDiscussVO.setStatus(3); + comActDiscussDAO.updateStatusById(comActDiscussVO.getId(), 3); + } } } @@ -904,9 +901,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); } @@ -1140,7 +1139,9 @@ @Override public R discussJurisdictionGet(Long communityId, Long userId) { List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() - .eq(SysConfDO::getCommunityId, communityId).orderByDesc(SysConfDO::getCreateAt)); + .eq(SysConfDO::getCommunityId, communityId) + .eq(SysConfDO::getCode,Constants.DISCUSS_IDENTITY_KEY + communityId) + .orderByDesc(SysConfDO::getCreateAt)); if (confDOList == null || confDOList.size() == 0) { SysConfDO sysConfDO = new SysConfDO(); sysConfDO.setCode(Constants.DISCUSS_IDENTITY_KEY + communityId); -- Gitblit v1.7.1