From 6cbbbc92f623c83e918ef0f2eea8ff82cc920b1b Mon Sep 17 00:00:00 2001 From: DESKTOP-71BH0QO\L、ming <172680469@qq.com> Date: 星期五, 30 四月 2021 10:57:04 +0800 Subject: [PATCH] Add:添加邻里圈删除 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 222 insertions(+), 16 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 3c97b42..6dafef1 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 @@ -10,6 +10,7 @@ import com.panzhihua.common.model.dtos.neighbor.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.neighbor.*; +import com.panzhihua.common.model.vos.neighbor.*; import com.panzhihua.common.utlis.DateUtils; import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComActNeighborCircleCommentDAO; @@ -28,6 +29,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -57,11 +60,14 @@ @Resource ComActNeighborCircleCommentReplyDAO neighborCircleCommentReplyDAO; + @Resource private ComActNeighborCircleCommentDAO comActNeighborCircleCommentDAO; @Resource private ComActNeighborCircleCommentReplyDAO comActNeighborCircleCommentReplyDAO; @Resource private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO; + @Resource + private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO; /** * 分页查询邻里圈列表 @@ -72,6 +78,20 @@ 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()) { + //查询点赞信息 + ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleAppVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq)); + if(circleFabulousDO != null && circleFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){ + circleAppVO.setHaveSign(1); + }else{ + circleAppVO.setHaveSign(2); + } + } + } return R.ok(doPager); } @@ -108,22 +128,59 @@ */ @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("未找到邻里圈信息"); + } + + //查询邻里圈点赞信息 + ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleDetailAppVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq)); + if(circleFabulousDO != null && circleFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){ + circleDetailAppVO.setHaveSign(1); + }else{ + circleDetailAppVO.setHaveSign(2); + } + //查询邻里圈下评论列表 IPage<ComActNeighborCircleCommentAppVO> circleCommentAppPage = comActNeighborCircleCommentDAO.pageNeighborCommentByApp( new Page(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO); if(!circleCommentAppPage.getRecords().isEmpty()){ for (ComActNeighborCircleCommentAppVO circleCommentVo:circleCommentAppPage.getRecords()) { + //查询点赞信息 + ComActNeighborCircleFabulousDO circleCommentFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleCommentVo.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.pl)); + if(circleCommentFabulousDO != null && circleCommentFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){ + circleCommentVo.setHaveSign(1); + }else{ + circleCommentVo.setHaveSign(2); + } //查询评论下评论回复 List<ComActNeighborCircleCommentReplyAppVO> commentReplyAppVOS = comActNeighborCircleCommentReplyDAO.getCircleCommentReplyList(circleCommentVo.getId()); if(!commentReplyAppVOS.isEmpty()){ + for (ComActNeighborCircleCommentReplyAppVO commentReplyVO:commentReplyAppVOS) { + //查询点赞信息 + ComActNeighborCircleFabulousDO circleReplyFabulousDO = comActNeighborCircleFabulousDAO.selectOne( + new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,commentReplyVO.getId()) + .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId()) + .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf)); + if(circleReplyFabulousDO != null && circleReplyFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){ + commentReplyVO.setHaveSign(1); + }else{ + commentReplyVO.setHaveSign(2); + } + } circleCommentVo.setCircleCommentReplyAppList(commentReplyAppVOS); } } } + circleDetailAppVO.setCircleCommentAppList(circleCommentAppPage.getRecords()); return R.ok(circleDetailAppVO); } @@ -131,6 +188,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); } @@ -138,7 +200,7 @@ public R addNeighborByAdmin(AddNeighborCircleAdminVO addVO) { ComActNeighborCircleDO comActNeighborCircleDO = new ComActNeighborCircleDO(); AdministratorsUserVO adminUser = this.baseMapper.selectUserByUserId(addVO.getUserId()); - if(adminUser==null){ + if (adminUser == null) { return R.fail("请登录重试"); } comActNeighborCircleDO.setReleaseId(addVO.getUserId()); @@ -163,11 +225,13 @@ @Override public R changeStatusByAdmin(EditNeighborCircleAdminVO editVO) { ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(editVO.getId()); - if(neighborCircleDO==null){ + if (neighborCircleDO == null) { return R.fail("id有误!"); } neighborCircleDO.setStatus(editVO.getStatus()); - neighborCircleDO.setRefuseReason(editVO.getRefuseReason()); + if(editVO.getRefuseReason()!=null){ + neighborCircleDO.setRefuseReason(editVO.getRefuseReason()); + } this.baseMapper.updateById(neighborCircleDO); return R.ok(); } @@ -203,10 +267,10 @@ 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)){ @@ -357,14 +421,18 @@ int commentReplyCount = comActNeighborCircleCommentReplyDAO.selectCount( new QueryWrapper<ComActNeighborCircleCommentReplyDO>().lambda() .eq(ComActNeighborCircleCommentReplyDO::getCircleId,neighborCircleDO.getId())); - //查询邻里圈近3天的点赞数 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); } } @@ -390,18 +458,156 @@ .eq(ComActNeighborCircleCommentReplyDO::getCircleId, id)); //邻里圈浏览器记录 neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>() - .eq(ComActNeighborCircleBrowseDO::getNeighborId,id)); + .eq(ComActNeighborCircleBrowseDO::getNeighborId, id)); //邻里圈点赞删除 - neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>() - .eq(ComActNeighborCircleBrowseDO::getNeighborId,id)); -/* neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>() - .eq(ComActNeighborCircleFabulousDO::get))*/ - return R.ok(); + neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>() + .eq(ComActNeighborCircleFabulousDO::getCircleId,id)); + return R.ok(); } @Override public R detailNeighborByAdmin(Long id) { - return null; + ComActNeighborCircleDO comActNeighborCircleDO = this.baseMapper.selectById(id); + AdministratorsUserVO user = this.baseMapper.selectUserByUserId(comActNeighborCircleDO.getReleaseId()); + if (comActNeighborCircleDO == null) { + return R.fail("id有误"); + } + DetailNeighborCircleAdminVO vo = new DetailNeighborCircleAdminVO(); + BeanUtils.copyProperties(comActNeighborCircleDO, vo); + vo.setReleaseName(user.getName()); + return R.ok(vo); + } + + @Override + public R detailNeighborAllCommentByAdmin(DetailNeighborAllCommentByAdminDTO dto) { + ComActNeighborCircleDO comActNeighborCircleDO = this.baseMapper.selectById(dto.getId()); + if (comActNeighborCircleDO == null) { + return R.fail("id有误"); + } + Page<ComActNeighborCircleCommentDO> page = new Page<>(dto.getPageNum(),dto.getPageSize()); + //1、先查询所有该邻里圈_的评论 + IPage<ComActNeighborCommentByAdminVO> commentDOIPage = neighborCircleCommentDAO.selectPageDetailNeighborComment(page,dto); + return R.ok(commentDOIPage); + } + + @Override + public R changeCommentStatusByAdmin(ChangeCommentStatusByAdminVO dto) { + ComActNeighborCircleCommentDO commentDO = neighborCircleCommentDAO.selectById(dto.getId()); + if(commentDO==null){ + return R.fail("id有误!"); + } + commentDO.setStatus(dto.getStatus()); + neighborCircleCommentDAO.updateById(commentDO); + return R.ok(); + } + + @Override + public R detailNeighborCommentByAdmin(Long id) { + ComActNeighborCircleCommentDO commentDO = neighborCircleCommentDAO.selectById(id); + if(commentDO==null){ + return R.fail("id有误!"); + } + AdministratorsUserVO user = this.baseMapper.selectUserByUserId(commentDO.getUserId()); + ComActNeighborCommentByAdminVO vo = new ComActNeighborCommentByAdminVO(); + BeanUtils.copyProperties(commentDO,vo); + vo.setUserName(user.getName()); + return R.ok(vo); + } + + @Override + public R detailNeighborCommentAllReply(DetailNeighborCommentReplyByAdminDTO dto) { + Page<ComActNeighborCircleCommentReplyDO> page = new Page<>(dto.getPageNum(),dto.getPageSize()); + Page<ComActNeighborCommentReplyByAdminVO> replyPage = neighborCircleCommentReplyDAO.selectListByComment(page, dto); + replyPage.getRecords().forEach(reply->{ + + }); + return R.ok(replyPage); + } + + @Override + public R detailNeighborCommentReply(Long id) { + ComActNeighborCircleCommentReplyDO replyDO = neighborCircleCommentReplyDAO.selectById(id); + if(replyDO==null){ + return R.fail("id有误!"); + } + AdministratorsUserVO user = this.baseMapper.selectUserByUserId(replyDO.getUserId()); + ComActNeighborCommentReplyByAdminVO vo = new ComActNeighborCommentReplyByAdminVO(); + BeanUtils.copyProperties(replyDO,vo); + vo.setUserName(user.getName()); + vo.setUserPhone(user.getPhone()); + return R.ok(vo); + } + + @Override + public R changeCommentReplyStatusByAdmin(ChangeCommentReplyStatusByAdminVO changeStatusReplyVO) { + ComActNeighborCircleCommentReplyDO replyDO = neighborCircleCommentReplyDAO.selectById(changeStatusReplyVO.getId()); + if(replyDO==null){ + return R.fail("id有误!"); + } + replyDO.setStatus(changeStatusReplyVO.getStatus()); + 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)); + if(circleFabulousDO == null){ + return R.fail("未查询到点赞信息"); + } + }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)); + if(circleFabulousDO == null){ + return R.fail("未查询到点赞信息"); + } + }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)); + if(circleFabulousDO == null){ + return R.fail("未查询到点赞信息"); + } + } + 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(); } } -- Gitblit v1.7.1