From 17935dcdfa3d85c48d99f4065ed5ac1bd7bd2c7b Mon Sep 17 00:00:00 2001 From: DESKTOP-71BH0QO\L、ming <172680469@qq.com> Date: 星期四, 29 四月 2021 14:15:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 266 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 239 insertions(+), 27 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 7b2f2e4..ee6b6d2 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 @@ -2,6 +2,7 @@ import java.util.Date; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -9,11 +10,18 @@ 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; import com.panzhihua.common.model.vos.user.AdministratorsUserVO; +import com.panzhihua.service_community.dao.ComActNeighborCircleCommentReplyDAO; import com.panzhihua.service_community.dao.ComActNeighborCircleDAO; +import com.panzhihua.service_community.dao.ComActNeighborCircleFabulousDAO; +import com.panzhihua.service_community.model.dos.ComActNeighborCircleCommentDO; +import com.panzhihua.service_community.model.dos.ComActNeighborCircleCommentReplyDO; import com.panzhihua.service_community.model.dos.ComActNeighborCircleDO; +import com.panzhihua.service_community.model.dos.ComActNeighborCircleFabulousDO; import com.panzhihua.service_community.service.ComActNeighborCircleBrowseService; import com.panzhihua.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; @@ -23,6 +31,11 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; + +import java.util.List; /** * @auther lyq @@ -50,12 +63,11 @@ /** * 分页查询邻里圈列表 - * - * @param neighborCircleAppDTO 请求参数 - * @return 邻里圈列表 + * @param neighborCircleAppDTO 请求参数 + * @return 邻里圈列表 */ @Override - public R pageNeighborByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO) { + public R pageNeighborByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO){ Page userPage = new Page(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize()); IPage<ComActNeighborCircleAppVO> doPager = this.baseMapper.pageNeighborByApp(userPage, neighborCircleAppDTO); return R.ok(doPager); @@ -63,52 +75,53 @@ /** * 用户发布邻里圈审核 - * - * @param addNeighborCircleAppDTO 邻里圈请求参数 - * @return 发布结果 + * @param addNeighborCircleAppDTO 邻里圈请求参数 + * @return 发布结果 */ @Override - public R addNeighborByApp(AddComActNeighborCircleAppDTO addNeighborCircleAppDTO) { + public R addNeighborByApp(AddComActNeighborCircleAppDTO addNeighborCircleAppDTO){ //新增邻里圈审核 ComActNeighborCircleDO neighborCircleDO = new ComActNeighborCircleDO(); - BeanUtils.copyProperties(addNeighborCircleAppDTO, neighborCircleDO); - if (addNeighborCircleAppDTO.getUserId() != null) { + BeanUtils.copyProperties(addNeighborCircleAppDTO,neighborCircleDO); + if(addNeighborCircleAppDTO.getUserId() != null){ neighborCircleDO.setReleaseId(addNeighborCircleAppDTO.getUserId()); } - if (addNeighborCircleAppDTO.getCommunityId() != null) { + if(addNeighborCircleAppDTO.getCommunityId() != null){ neighborCircleDO.setCommunityId(addNeighborCircleAppDTO.getCommunityId()); } - if (StringUtils.isNotEmpty(addNeighborCircleAppDTO.getPhone())) { + if(StringUtils.isNotEmpty(addNeighborCircleAppDTO.getPhone())){ neighborCircleDO.setReleasePhone(addNeighborCircleAppDTO.getPhone()); } - if (this.baseMapper.insert(neighborCircleDO) > 0) { + if(this.baseMapper.insert(neighborCircleDO) > 0){ return R.ok(); - } else { + }else{ return R.fail("发布失败"); } } + /** + * 查看邻里圈详情 + * @param neighborCircleAppDTO 请求参数 + * @return 邻里圈详情 + */ @Override - public R neighborDetailByApp(ComActNeighborCircleDetailAppDTO neighborCircleAppDTO) { - + public R neighborDetailByApp(ComActNeighborCircleDetailAppDTO neighborCircleAppDTO){ //添加邻里圈浏览记录 - comActNeighborCircleBrowseService.addBrowseRecord(neighborCircleAppDTO.getCircleId(), neighborCircleAppDTO.getUserId()); - + comActNeighborCircleBrowseService.addBrowseRecord(neighborCircleAppDTO.getCircleId(),neighborCircleAppDTO.getUserId()); //查询邻里圈详情 ComActNeighborCircleDetailAppVO circleDetailAppVO = this.baseMapper.neighborDetailByApp(neighborCircleAppDTO.getCircleId()); - //查询邻里圈下评论列表 - IPage<ComActNeighborCircleCommentAppVO> circleCommentAppPage = neighborCircleCommentDAO.pageNeighborCommentByApp( - new Page(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize()), neighborCircleAppDTO.getCircleId()); - if (!circleCommentAppPage.getRecords().isEmpty()) { - for (ComActNeighborCircleCommentAppVO circleCommentVo : circleCommentAppPage.getRecords()) { + IPage<ComActNeighborCircleCommentAppVO> circleCommentAppPage = comActNeighborCircleCommentDAO.pageNeighborCommentByApp( + new Page(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO); + if(!circleCommentAppPage.getRecords().isEmpty()){ + for (ComActNeighborCircleCommentAppVO circleCommentVo:circleCommentAppPage.getRecords()) { //查询评论下评论回复 - - + List<ComActNeighborCircleCommentReplyAppVO> commentReplyAppVOS = comActNeighborCircleCommentReplyDAO.getCircleCommentReplyList(circleCommentVo.getId()); + if(!commentReplyAppVOS.isEmpty()){ + circleCommentVo.setCircleCommentReplyAppList(commentReplyAppVOS); + } } } - - return R.ok(circleDetailAppVO); } @@ -157,6 +170,205 @@ return R.ok(); } + /** + * 用户查询邻里圈列表 + * @param neighborCircleAppDTO 请求参数 + * @return 邻里圈列表 + */ + @Override + public R neighborExamineByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO){ + IPage<ComActNeighborCircleAppVO> neighborCircleIPage = this.baseMapper.neighborExamineByApp( + new Page<>(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO.getUserId()); + return R.ok(neighborCircleIPage); + } + + /** + * 邻里圈点赞 + * @param fabulousAppDTO 请求参数 + * @return 点赞结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R neighborFabulousByApp(ComActNeighborFabulousAppDTO fabulousAppDTO){ + + ComActNeighborCircleFabulousDO circleFabulousDO = new ComActNeighborCircleFabulousDO(); + circleFabulousDO.setUserId(fabulousAppDTO.getUserId()); + circleFabulousDO.setType(fabulousAppDTO.getType()); + circleFabulousDO.setParentId(fabulousAppDTO.getServiceId()); + //判断点赞类型 + if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.llq)){ + //增加邻里圈点赞数量 + ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(fabulousAppDTO.getServiceId()); + if(neighborCircleDO != null){ + neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() + 1); + this.baseMapper.updateById(neighborCircleDO); + circleFabulousDO.setCircleId(neighborCircleDO.getId()); + } + + //添加邻里圈浏览记录 + comActNeighborCircleBrowseService.addBrowseRecord(fabulousAppDTO.getServiceId(),fabulousAppDTO.getUserId()); + }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)){ + //增加邻里圈评论点赞数量 + ComActNeighborCircleCommentDO circleCommentDO = comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); + if(circleCommentDO != null){ + circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() + 1); + comActNeighborCircleCommentDAO.updateById(circleCommentDO); + circleFabulousDO.setCircleId(circleCommentDO.getCircleId()); + } + }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)){ + //增加邻里圈评论回复点赞数量 + ComActNeighborCircleCommentReplyDO circleCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId()); + if(circleCommentReplyDO != null){ + circleCommentReplyDO.setFabulousNum(circleCommentReplyDO.getFabulousNum() + 1); + comActNeighborCircleCommentReplyDAO.updateById(circleCommentReplyDO); + circleFabulousDO.setCircleId(circleCommentReplyDO.getCircleId()); + } + } + if(comActNeighborCircleFabulousDAO.insert(circleFabulousDO) > 0){ + return R.ok(); + }else{ + return R.fail("点赞失败"); + } + } + + /** + * 邻里圈转发 + * @param forwardAppDTO 请求参数 + * @return 转发结果 + */ + @Override + public R neighborForwardByApp(ComActNeighborForwardAppDTO forwardAppDTO){ + + //添加邻里圈浏览记录 + comActNeighborCircleBrowseService.addBrowseRecord(forwardAppDTO.getCircleId(),forwardAppDTO.getUserId()); + + ComActNeighborCircleDO circleDO = this.baseMapper.selectById(forwardAppDTO.getCircleId()); + if(circleDO == null){ + return R.fail("没有找到邻里圈"); + } + circleDO.setForwardNum(circleDO.getForwardNum() + 1); + if(this.baseMapper.updateById(circleDO) > 0){ + return R.ok(); + }else{ + return R.fail("转发失败"); + } + } + + /** + * 邻里圈评论 + * @param commentAppDTO 请求参数 + * @return 评论结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R neighborCommentByApp(ComActNeighborCommentAppDTO commentAppDTO){ + + ComActNeighborCircleCommentDO circleCommentDO = new ComActNeighborCircleCommentDO(); + //查询邻里圈更新邻里圈评论数量 + ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(commentAppDTO.getCircleId()); + if(neighborCircleDO == null){ + return R.fail("没有找到邻里圈"); + } + neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() + 1); + neighborCircleDO.setReplyAt(new Date()); + this.baseMapper.updateById(neighborCircleDO); + + circleCommentDO.setCircleId(commentAppDTO.getCircleId()); + circleCommentDO.setUserId(commentAppDTO.getUserId()); + circleCommentDO.setUserPhone(commentAppDTO.getPhone()); + circleCommentDO.setContent(commentAppDTO.getContent()); + if(neighborCircleDO.getReleaseId().equals(commentAppDTO.getUserId())){ + circleCommentDO.setIsRelease(ComActNeighborCircleCommentDO.isRelease.yes); + } + + if(comActNeighborCircleCommentDAO.insert(circleCommentDO) > 0){ + return R.ok(); + }else{ + return R.fail("评论失败"); + } + } + + /** + * 邻里圈回复 + * @param replyAppDTO 请求参数 + * @return 回复结果 + */ + @Override + public R neighborReplyByApp(ComActNeighborReplyAppDTO replyAppDTO){ + + ComActNeighborCircleCommentReplyDO circleCommentReplyDO = new ComActNeighborCircleCommentReplyDO(); + //查询邻里圈更新邻里圈评论数量 + ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(replyAppDTO.getCircleId()); + if(neighborCircleDO == null){ + return R.fail("没有找到邻里圈"); + } + neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() + 1); + neighborCircleDO.setReplyAt(new Date()); + this.baseMapper.updateById(neighborCircleDO); + + circleCommentReplyDO.setCircleId(replyAppDTO.getCircleId()); + circleCommentReplyDO.setUserId(replyAppDTO.getUserId()); + circleCommentReplyDO.setReplyContent(replyAppDTO.getContent()); + if(neighborCircleDO.getReleaseId().equals(replyAppDTO.getUserId())){ + circleCommentReplyDO.setIsRelease(1); + } + + //判断回复类型 + if(replyAppDTO.getType().equals(ComActNeighborReplyAppDTO.type.pl)){ + //查询评论信息 + ComActNeighborCircleCommentDO circleCommentDO = comActNeighborCircleCommentDAO.selectById(replyAppDTO.getServiceId()); + if(circleCommentDO != null){ + circleCommentReplyDO.setCommentId(replyAppDTO.getServiceId()); + circleCommentReplyDO.setParentId(0L); + circleCommentReplyDO.setParentUserId(circleCommentDO.getUserId()); + } + }else if(replyAppDTO.getType().equals(ComActNeighborReplyAppDTO.type.hf)){ + //查询上级回复信息 + ComActNeighborCircleCommentReplyDO parentCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(replyAppDTO.getServiceId()); + if(parentCommentReplyDO != null){ + circleCommentReplyDO.setCommentId(parentCommentReplyDO.getCommentId()); + circleCommentReplyDO.setParentId(parentCommentReplyDO.getId()); + circleCommentReplyDO.setParentUserId(parentCommentReplyDO.getUserId()); + } + } + + if(comActNeighborCircleCommentReplyDAO.insert(circleCommentReplyDO) > 0){ + return R.ok(); + }else{ + return R.fail("回复失败"); + } + } + + @Override + public R timeTaskCircleFlow(){ + Date oldDate = DateUtils.addDay(new Date(),-3); + //查询所有状态正常的邻里圈 + List<ComActNeighborCircleDO> circleDOList = this.baseMapper.selectList( + new QueryWrapper<ComActNeighborCircleDO>().lambda().eq(ComActNeighborCircleDO::getStatus,ComActNeighborCircleDO.status.xs)); + if(!circleDOList.isEmpty()){ + //遍历查询到的邻里圈,更新邻里圈内近3天的评论数,点赞数,浏览量 + for (ComActNeighborCircleDO neighborCircleDO:circleDOList) { + //查询邻里圈近3天的评论数 + int commentCount = comActNeighborCircleCommentDAO.selectCount( + new QueryWrapper<ComActNeighborCircleCommentDO>().lambda().eq(ComActNeighborCircleCommentDO::getCircleId,neighborCircleDO.getId())); + //查询邻里圈近3天的评论回复数 + 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天的浏览量 + + } + } + + return R.ok(); + } + @Override public R deleteByAdmin(Long id) { ComActNeighborCircleDO comActNeighborCircleDO = this.baseMapper.selectById(id); -- Gitblit v1.7.1