From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 21 八月 2021 16:35:14 +0800 Subject: [PATCH] 随手拍改版接口开发 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 344 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 314 insertions(+), 30 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java index 14a1d96..c055873 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java @@ -1,5 +1,6 @@ package com.panzhihua.service_community.service.impl; +import java.util.ArrayList; import java.util.Date; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -60,6 +61,18 @@ @Resource ComActNeighborCircleCommentReplyDAO neighborCircleCommentReplyDAO; + @Resource + private ComActNeighborCircleCommentDAO comActNeighborCircleCommentDAO; + @Resource + private ComActNeighborCircleCommentReplyDAO comActNeighborCircleCommentReplyDAO; + @Resource + private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO; + @Resource + private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO; + @Resource + private ComActDAO comActDAO; + @Resource + private ComActNeighborCircleTopicMapper comActNeighborCircleTopicMapper; /** * 分页查询邻里圈列表 @@ -70,6 +83,31 @@ public R pageNeighborByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO){ Page userPage = new Page(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize()); IPage<ComActNeighborCircleAppVO> doPager = this.baseMapper.pageNeighborByApp(userPage, neighborCircleAppDTO); + if(!doPager.getRecords().isEmpty()){ + for (ComActNeighborCircleAppVO circleAppVO:doPager.getRecords()) { + if(neighborCircleAppDTO.getUserId() != null){ + //查询点赞信息 + ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleAppVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(circleFabulousDO != null){ + circleAppVO.setHaveSign(1); + }else{ + circleAppVO.setHaveSign(2); + } + } + + if(circleAppVO.getType() != null && circleAppVO.getType().equals(ComActNeighborCircleDO.type.admin)){ + ComActDO actDO = comActDAO.selectById(circleAppVO.getCommunityId()); + if(actDO != null){ + circleAppVO.setName(actDO.getName()); + } + } + + } + } return R.ok(doPager); } @@ -106,22 +144,86 @@ */ @Override public R neighborDetailByApp(ComActNeighborCircleDetailAppDTO neighborCircleAppDTO){ - //添加邻里圈浏览记录 - comActNeighborCircleBrowseService.addBrowseRecord(neighborCircleAppDTO.getCircleId(),neighborCircleAppDTO.getUserId()); + //查询邻里圈详情 ComActNeighborCircleDetailAppVO circleDetailAppVO = this.baseMapper.neighborDetailByApp(neighborCircleAppDTO.getCircleId()); + if(circleDetailAppVO == null){ + return R.fail("未找到邻里圈信息"); + } + + if(circleDetailAppVO.getType() != null && circleDetailAppVO.getType().equals(ComActNeighborCircleDO.type.admin)){ + ComActDO actDO = comActDAO.selectById(circleDetailAppVO.getCommunityId()); + if(actDO != null){ + circleDetailAppVO.setName(actDO.getName()); + } + } + + if(neighborCircleAppDTO.getUserId() != null){ + //查询邻里圈点赞信息 + ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleDetailAppVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(circleFabulousDO != null){ + circleDetailAppVO.setHaveSign(1); + }else{ + circleDetailAppVO.setHaveSign(2); + } + } + + //查询邻里圈下评论列表 - IPage<ComActNeighborCircleCommentAppVO> circleCommentAppPage = neighborCircleCommentDAO.pageNeighborCommentByApp( + IPage<ComActNeighborCircleCommentAppVO> circleCommentAppPage = comActNeighborCircleCommentDAO.pageNeighborCommentByApp( new Page(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO); if(!circleCommentAppPage.getRecords().isEmpty()){ for (ComActNeighborCircleCommentAppVO circleCommentVo:circleCommentAppPage.getRecords()) { + + if(neighborCircleAppDTO.getUserId() != null){ + //查询点赞信息 + ComActNeighborCircleFabulousDO circleCommentFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleCommentVo.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.pl) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(circleCommentFabulousDO != null){ + circleCommentVo.setHaveSign(1); + }else{ + circleCommentVo.setHaveSign(2); + } + } + //查询评论下评论回复 - List<ComActNeighborCircleCommentReplyAppVO> commentReplyAppVOS = neighborCircleCommentReplyDAO.getCircleCommentReplyList(circleCommentVo.getId()); + List<ComActNeighborCircleCommentReplyAppVO> commentReplyAppVOS = comActNeighborCircleCommentReplyDAO.getCircleCommentReplyList(circleCommentVo.getId()); if(!commentReplyAppVOS.isEmpty()){ - circleCommentVo.setCircleCommentReplyAppList(commentReplyAppVOS); + List<ComActNeighborCircleCommentReplyAppVO> newCommentReplyAppVOS = new ArrayList<>(); + if(neighborCircleAppDTO.getUserId() != null){ + int i = 0; + for (ComActNeighborCircleCommentReplyAppVO commentReplyVO:commentReplyAppVOS) { + if(i >= 2){ + break; + } + //查询点赞信息 + ComActNeighborCircleFabulousDO circleReplyFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,commentReplyVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(circleReplyFabulousDO != null){ + commentReplyVO.setHaveSign(1); + }else{ + commentReplyVO.setHaveSign(2); + } + newCommentReplyAppVOS.add(commentReplyVO); + i++; + } + } + circleCommentVo.setCircleCommentReplyAppList(newCommentReplyAppVOS); + circleCommentVo.setCommentReplyNum(commentReplyAppVOS.size()); } } } + circleDetailAppVO.setCircleCommentAppList(circleCommentAppPage.getRecords()); return R.ok(circleDetailAppVO); } @@ -129,6 +231,11 @@ public R pageNeighborByAdmin(ComActNeighborCircleAdminDTO neighborCircleAdminDTO) { Page page = new Page(neighborCircleAdminDTO.getPageNum(), neighborCircleAdminDTO.getPageSize()); IPage<ComActNeighborCircleAdminVO> doPager = this.baseMapper.pageNeighborByAdmin(page, neighborCircleAdminDTO); + doPager.getRecords().forEach(data->{ + if(data.getUserType()!=1){ + data.setReleaseName(data.getCommunityName()); + } + }); return R.ok(doPager); } @@ -144,7 +251,8 @@ comActNeighborCircleDO.setCommunityId(adminUser.getCommunityId()); comActNeighborCircleDO.setReleaseContent(addVO.getReleaseContent()); comActNeighborCircleDO.setReleaseImages(addVO.getReleaseImages()); - comActNeighborCircleDO.setStatus(1); + comActNeighborCircleDO.setType(2); + comActNeighborCircleDO.setStatus(2); comActNeighborCircleDO.setCommentNum(0); comActNeighborCircleDO.setFabulousNum(0); comActNeighborCircleDO.setForwardNum(0); @@ -169,7 +277,7 @@ neighborCircleDO.setRefuseReason(editVO.getRefuseReason()); } this.baseMapper.updateById(neighborCircleDO); - return R.ok(); + return R.ok(neighborCircleDO.getReleaseId()); } /** @@ -181,6 +289,21 @@ public R neighborExamineByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO){ IPage<ComActNeighborCircleAppVO> neighborCircleIPage = this.baseMapper.neighborExamineByApp( new Page<>(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO.getUserId()); + if(!neighborCircleIPage.getRecords().isEmpty()) { + for (ComActNeighborCircleAppVO circleAppVO : neighborCircleIPage.getRecords()) { + //查询点赞信息 + ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId, circleAppVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId, neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.llq) + .eq(ComActNeighborCircleFabulousDO::getIsEffective, ComActNeighborCircleFabulousDO.isEffective.yes)); + if (circleFabulousDO != null) { + circleAppVO.setHaveSign(1); + } else { + circleAppVO.setHaveSign(2); + } + } + } return R.ok(neighborCircleIPage); } @@ -199,34 +322,58 @@ circleFabulousDO.setParentId(fabulousAppDTO.getServiceId()); //判断点赞类型 if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.llq)){ + + ComActNeighborCircleFabulousDO oldCircleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborFabulousAppDTO.type.llq) + .eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes) + .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId())); + if(oldCircleFabulousDO != null){ + return R.fail("您已点赞"); + } + //增加邻里圈点赞数量 ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(fabulousAppDTO.getServiceId()); if(neighborCircleDO != null){ neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() + 1); + neighborCircleDO.setViewsNum(neighborCircleDO.getViewsNum() + 1); this.baseMapper.updateById(neighborCircleDO); circleFabulousDO.setCircleId(neighborCircleDO.getId()); } - //添加邻里圈浏览记录 comActNeighborCircleBrowseService.addBrowseRecord(fabulousAppDTO.getServiceId(),fabulousAppDTO.getUserId()); }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)){ + ComActNeighborCircleFabulousDO oldCircleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborFabulousAppDTO.type.pl) + .eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(oldCircleFabulousDO != null){ + return R.fail("您已点赞"); + } //增加邻里圈评论点赞数量 - ComActNeighborCircleCommentDO circleCommentDO = neighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); + ComActNeighborCircleCommentDO circleCommentDO = comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); if(circleCommentDO != null){ circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() + 1); - neighborCircleCommentDAO.updateById(circleCommentDO); + comActNeighborCircleCommentDAO.updateById(circleCommentDO); circleFabulousDO.setCircleId(circleCommentDO.getCircleId()); } }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)){ + ComActNeighborCircleFabulousDO oldCircleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborFabulousAppDTO.type.hf) + .eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(oldCircleFabulousDO != null){ + return R.fail("您已点赞"); + } //增加邻里圈评论回复点赞数量 - ComActNeighborCircleCommentReplyDO circleCommentReplyDO = neighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId()); + ComActNeighborCircleCommentReplyDO circleCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId()); if(circleCommentReplyDO != null){ circleCommentReplyDO.setFabulousNum(circleCommentReplyDO.getFabulousNum() + 1); - neighborCircleCommentReplyDAO.updateById(circleCommentReplyDO); + comActNeighborCircleCommentReplyDAO.updateById(circleCommentReplyDO); circleFabulousDO.setCircleId(circleCommentReplyDO.getCircleId()); } } - if(neighborCircleFabulousDAO.insert(circleFabulousDO) > 0){ + if(comActNeighborCircleFabulousDAO.insert(circleFabulousDO) > 0){ return R.ok(); }else{ return R.fail("点赞失败"); @@ -241,8 +388,10 @@ @Override public R neighborForwardByApp(ComActNeighborForwardAppDTO forwardAppDTO){ - //添加邻里圈浏览记录 - comActNeighborCircleBrowseService.addBrowseRecord(forwardAppDTO.getCircleId(),forwardAppDTO.getUserId()); + if(forwardAppDTO.getUserId() != null){ + //添加邻里圈浏览记录 + comActNeighborCircleBrowseService.addBrowseRecord(forwardAppDTO.getCircleId(),forwardAppDTO.getUserId()); + } ComActNeighborCircleDO circleDO = this.baseMapper.selectById(forwardAppDTO.getCircleId()); if(circleDO == null){ @@ -283,7 +432,7 @@ circleCommentDO.setIsRelease(ComActNeighborCircleCommentDO.isRelease.yes); } - if(neighborCircleCommentDAO.insert(circleCommentDO) > 0){ + if(comActNeighborCircleCommentDAO.insert(circleCommentDO) > 0){ return R.ok(); }else{ return R.fail("评论失败"); @@ -318,7 +467,7 @@ //判断回复类型 if(replyAppDTO.getType().equals(ComActNeighborReplyAppDTO.type.pl)){ //查询评论信息 - ComActNeighborCircleCommentDO circleCommentDO = neighborCircleCommentDAO.selectById(replyAppDTO.getServiceId()); + ComActNeighborCircleCommentDO circleCommentDO = comActNeighborCircleCommentDAO.selectById(replyAppDTO.getServiceId()); if(circleCommentDO != null){ circleCommentReplyDO.setCommentId(replyAppDTO.getServiceId()); circleCommentReplyDO.setParentId(0L); @@ -326,7 +475,7 @@ } }else if(replyAppDTO.getType().equals(ComActNeighborReplyAppDTO.type.hf)){ //查询上级回复信息 - ComActNeighborCircleCommentReplyDO parentCommentReplyDO = neighborCircleCommentReplyDAO.selectById(replyAppDTO.getServiceId()); + ComActNeighborCircleCommentReplyDO parentCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(replyAppDTO.getServiceId()); if(parentCommentReplyDO != null){ circleCommentReplyDO.setCommentId(parentCommentReplyDO.getCommentId()); circleCommentReplyDO.setParentId(parentCommentReplyDO.getId()); @@ -334,7 +483,7 @@ } } - if(neighborCircleCommentReplyDAO.insert(circleCommentReplyDO) > 0){ + if(comActNeighborCircleCommentReplyDAO.insert(circleCommentReplyDO) > 0){ return R.ok(); }else{ return R.fail("回复失败"); @@ -351,20 +500,24 @@ //遍历查询到的邻里圈,更新邻里圈内近3天的评论数,点赞数,浏览量 for (ComActNeighborCircleDO neighborCircleDO:circleDOList) { //查询邻里圈近3天的评论数 - int commentCount = neighborCircleCommentDAO.selectCount( + int commentCount = comActNeighborCircleCommentDAO.selectCount( new QueryWrapper<ComActNeighborCircleCommentDO>().lambda().eq(ComActNeighborCircleCommentDO::getCircleId,neighborCircleDO.getId())); //查询邻里圈近3天的评论回复数 - int commentReplyCount = neighborCircleCommentReplyDAO.selectCount( + int commentReplyCount = comActNeighborCircleCommentReplyDAO.selectCount( new QueryWrapper<ComActNeighborCircleCommentReplyDO>().lambda() .eq(ComActNeighborCircleCommentReplyDO::getCircleId,neighborCircleDO.getId())); - //查询邻里圈近3天的点赞数 - int fabulousCount = neighborCircleFabulousDAO.selectCount(new QueryWrapper<ComActNeighborCircleFabulousDO>() + int fabulousCount = comActNeighborCircleFabulousDAO.selectCount(new QueryWrapper<ComActNeighborCircleFabulousDO>() .lambda().eq(ComActNeighborCircleFabulousDO::getCircleId,neighborCircleDO.getId()) .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); - //查询邻里圈近3天的浏览量 - + int browseCount = comActNeighborCircleBrowseDAO.selectCount( + new QueryWrapper<ComActNeighborCircleBrowseDO>().lambda().eq(ComActNeighborCircleBrowseDO::getNeighborId,neighborCircleDO.getId())); + //更新邻里圈信息 + neighborCircleDO.setLastCommentNum(commentCount + commentReplyCount); + neighborCircleDO.setLastFabulousNum(fabulousCount); + neighborCircleDO.setLastViewsNum(browseCount); + this.baseMapper.updateById(neighborCircleDO); } } @@ -391,9 +544,9 @@ //邻里圈浏览器记录 neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>() .eq(ComActNeighborCircleBrowseDO::getNeighborId, id)); - //邻里圈点赞删除 需要一层一层删 -/* neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>() - .eq(ComActNeighborCircleFabulousDO::get))*/ + //邻里圈点赞删除 + neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>() + .eq(ComActNeighborCircleFabulousDO::getCircleId,id)); return R.ok(); } @@ -401,13 +554,19 @@ @Override public R detailNeighborByAdmin(Long id) { ComActNeighborCircleDO comActNeighborCircleDO = this.baseMapper.selectById(id); - AdministratorsUserVO user = this.baseMapper.selectUserByUserId(comActNeighborCircleDO.getReleaseId()); if (comActNeighborCircleDO == null) { return R.fail("id有误"); } + AdministratorsUserVO user = this.baseMapper.selectUserByUserId(comActNeighborCircleDO.getReleaseId()); DetailNeighborCircleAdminVO vo = new DetailNeighborCircleAdminVO(); BeanUtils.copyProperties(comActNeighborCircleDO, vo); vo.setReleaseName(user.getName()); + + //查询话题名称 + if(comActNeighborCircleDO.getTopicId() != null){ + ComActNeighborCircleTopicDO circleTopicDO = comActNeighborCircleTopicMapper.selectById(comActNeighborCircleDO.getTopicId()); + vo.setTopicName(circleTopicDO.getName()); + } return R.ok(vo); } @@ -431,6 +590,17 @@ } commentDO.setStatus(dto.getStatus()); neighborCircleCommentDAO.updateById(commentDO); + + //查询邻里圈更新邻里圈评论数量 + ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(commentDO.getCircleId()); + if(neighborCircleDO != null){ + if(dto.getStatus().equals(2)){ + neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() - 1); + }else{ + neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() + 1); + } + this.baseMapper.updateById(neighborCircleDO); + } return R.ok(); } @@ -443,7 +613,8 @@ AdministratorsUserVO user = this.baseMapper.selectUserByUserId(commentDO.getUserId()); ComActNeighborCommentByAdminVO vo = new ComActNeighborCommentByAdminVO(); BeanUtils.copyProperties(commentDO,vo); - vo.setUserName(user.getName()); + String name = user.getName()==null?user.getNickName():user.getName(); + vo.setUserName(name); return R.ok(vo); } @@ -481,4 +652,117 @@ neighborCircleCommentReplyDAO.updateById(replyDO); return R.ok(); } + + /** + * 邻里圈取消点赞 + * @param fabulousAppDTO 请求参数 + * @return 取消点赞结果 + */ + @Override + public R neighborFabulousCancelByApp(ComActNeighborFabulousAppDTO fabulousAppDTO){ + ComActNeighborCircleFabulousDO circleFabulousDO = null; + //查询邻里圈点赞信息 + if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.llq)){ + //查询点赞信息 + circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(circleFabulousDO == null){ + return R.fail("未查询到点赞信息"); + } + + //减少邻里圈点赞数量 + ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(fabulousAppDTO.getServiceId()); + if(neighborCircleDO != null){ + neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() - 1); + this.baseMapper.updateById(neighborCircleDO); + } + }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)){ + circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.pl) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(circleFabulousDO == null){ + return R.fail("未查询到点赞信息"); + } + + //减少邻里圈评论点赞数量 + ComActNeighborCircleCommentDO circleCommentDO = comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); + if(circleCommentDO != null){ + circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() - 1); + comActNeighborCircleCommentDAO.updateById(circleCommentDO); + } + }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)){ + circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(circleFabulousDO == null){ + return R.fail("未查询到点赞信息"); + } + //减少邻里圈评论回复点赞数量 + ComActNeighborCircleCommentReplyDO circleCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId()); + if(circleCommentReplyDO != null){ + circleCommentReplyDO.setFabulousNum(circleCommentReplyDO.getFabulousNum() - 1); + comActNeighborCircleCommentReplyDAO.updateById(circleCommentReplyDO); + } + } + if(circleFabulousDO != null){ + circleFabulousDO.setIsEffective(ComActNeighborCircleFabulousDO.isEffective.no); + comActNeighborCircleFabulousDAO.updateById(circleFabulousDO); + } + return R.ok(); + } + + /** + * 添加邻里圈浏览记录 + * @param addBrowseAppDTO 请求参数 + * @return 返回参数 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R neighborAddBrowseByApp(ComActNeighborAddBrowseAppDTO addBrowseAppDTO){ + //添加邻里圈浏览记录 + comActNeighborCircleBrowseService.addBrowseRecord(addBrowseAppDTO.getCircleId(),addBrowseAppDTO.getUserId()); + //更新邻里圈记录 + ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(addBrowseAppDTO.getCircleId()); + if(neighborCircleDO != null){ + neighborCircleDO.setViewsNum(neighborCircleDO.getViewsNum() + 1); + this.baseMapper.updateById(neighborCircleDO); + } + return R.ok(); + } + + /** + * 分页查询评论下所有回复 + * @param commentReplyAppDTO 请求参数 + * @return 回复列表 + */ + @Override + public R neighborCommentReplyByApp(ComActNeighborCommentReplyAppDTO commentReplyAppDTO){ + IPage<ComActNeighborCommentReplyAppVO> neighborCircleIPage = this.baseMapper.neighborCommentReplyByApp( + new Page<>(commentReplyAppDTO.getPageNum(),commentReplyAppDTO.getPageSize()),commentReplyAppDTO.getCommentId()); + if(!neighborCircleIPage.getRecords().isEmpty()){ + for (ComActNeighborCommentReplyAppVO commentReplyAppVO:neighborCircleIPage.getRecords()) { + if(commentReplyAppDTO.getUserId() != null){ + //查询点赞信息 + ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,commentReplyAppVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,commentReplyAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf) + .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)); + if(circleFabulousDO != null){ + commentReplyAppVO.setHaveSign(1); + }else{ + commentReplyAppVO.setHaveSign(2); + } + } + } + } + return R.ok(neighborCircleIPage); + } } -- Gitblit v1.7.1