From 5a8a90c095280fbd2106869ecd2bad10e01a57a6 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期四, 23 十二月 2021 18:10:22 +0800 Subject: [PATCH] 12/23 大屏修改 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 787 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 551 insertions(+), 236 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 6dafef1..6aace56 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,41 +1,34 @@ package com.panzhihua.service_community.service.impl; +import java.util.ArrayList; import java.util.Date; +import java.util.List; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import javax.annotation.Resource; + +import com.panzhihua.service_community.service.ComActNeighborCircleTopicService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.constants.NeighborCircleConstants; 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.model.vos.user.AdministratorsUserVO; 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.*; +import com.panzhihua.service_community.service.ComActNeighborCircleBrowseService; import com.panzhihua.service_community.service.ComActNeighborCircleService; + 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; - -import java.util.List; /** * @auther lyq @@ -44,22 +37,19 @@ */ @Slf4j @Service -public class ComActNeighborCircleServiceImpl extends ServiceImpl<ComActNeighborCircleDAO, ComActNeighborCircleDO> implements ComActNeighborCircleService { - - @Resource - private ComActNeighborCircleBrowseService comActNeighborCircleBrowseService; +public class ComActNeighborCircleServiceImpl extends ServiceImpl<ComActNeighborCircleDAO, ComActNeighborCircleDO> + implements ComActNeighborCircleService { @Resource ComActNeighborCircleFabulousDAO neighborCircleFabulousDAO; - @Resource ComActNeighborCircleBrowseDAO neighborCircleBrowseDAO; - @Resource ComActNeighborCircleCommentDAO neighborCircleCommentDAO; - @Resource ComActNeighborCircleCommentReplyDAO neighborCircleCommentReplyDAO; + @Resource + private ComActNeighborCircleBrowseService comActNeighborCircleBrowseService; @Resource private ComActNeighborCircleCommentDAO comActNeighborCircleCommentDAO; @Resource @@ -68,28 +58,49 @@ private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO; @Resource private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO; + @Resource + private ComActDAO comActDAO; + @Resource + private ComActNeighborCircleTopicMapper comActNeighborCircleTopicMapper; + @Resource + private ComActNeighborCircleTopicService comActNeighborCircleTopicService; /** * 分页查询邻里圈列表 - * @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); - 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); + 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); @@ -97,86 +108,161 @@ /** * 用户发布邻里圈审核 - * @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(StringUtils.isNotEmpty(addNeighborCircleAppDTO.getTopicName())){ + //新增邻里圈话题 + ComActNeighborCircleTopicDO circleTopicDO = comActNeighborCircleTopicMapper.selectOne(new QueryWrapper<ComActNeighborCircleTopicDO>() + .lambda().eq(ComActNeighborCircleTopicDO::getCommunityId,neighborCircleDO.getCommunityId()) + .eq(ComActNeighborCircleTopicDO::getName,addNeighborCircleAppDTO.getTopicName())); + if(circleTopicDO == null){ + circleTopicDO = new ComActNeighborCircleTopicDO(); + circleTopicDO.setCommunityId(neighborCircleDO.getCommunityId()); + circleTopicDO.setName(addNeighborCircleAppDTO.getTopicName()); + circleTopicDO.setCreateBy(neighborCircleDO.getReleaseId()); + circleTopicDO.setCreateAt(new Date()); + circleTopicDO.setCount(0); + circleTopicDO.setHotNum(0L); + circleTopicDO.setStatus(ComActNeighborCircleTopicDO.status.yes); + comActNeighborCircleTopicMapper.insert(circleTopicDO); + } + neighborCircleDO.setTopicId(circleTopicDO.getId()); + } + //判断当前邻里圈是否需要审核 + if(addNeighborCircleAppDTO.getIsExamine().equals(AddComActNeighborCircleAppDTO.isExamine.no)){ + //当邻里圈不需要审核才进入自动审核 + //判断邻里圈自动审核结果 + if(addNeighborCircleAppDTO.getWxExamineResult().equals(AddComActNeighborCircleAppDTO.isExamine.yes)){ + neighborCircleDO.setStatus(ComActNeighborCircleDO.status.xs); + if(neighborCircleDO.getTopicId() != null){ + //给邻里圈话题添加邻里圈数量 + comActNeighborCircleTopicMapper.addCount(neighborCircleDO.getTopicId()); + } + }else{ + neighborCircleDO.setStatus(ComActNeighborCircleDO.status.bh); + neighborCircleDO.setRefuseReason("内容违规"); + } + } + if(this.baseMapper.insert(neighborCircleDO) > 0){ return R.ok(); - }else{ + } else { return R.fail("发布失败"); } } /** * 查看邻里圈详情 - * @param neighborCircleAppDTO 请求参数 - * @return 邻里圈详情 + * + * @param neighborCircleAppDTO + * 请求参数 + * @return 邻里圈详情 */ @Override - public R neighborDetailByApp(ComActNeighborCircleDetailAppDTO neighborCircleAppDTO){ + public R neighborDetailByApp(ComActNeighborCircleDetailAppDTO neighborCircleAppDTO) { - //查询邻里圈详情 - ComActNeighborCircleDetailAppVO circleDetailAppVO = this.baseMapper.neighborDetailByApp(neighborCircleAppDTO.getCircleId()); - if(circleDetailAppVO == null){ + // 查询邻里圈详情 + 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); + if (circleDetailAppVO.getType() != null + && circleDetailAppVO.getType().equals(ComActNeighborCircleDO.type.admin)) { + ComActDO actDO = comActDAO.selectById(circleDetailAppVO.getCommunityId()); + if (actDO != null) { + circleDetailAppVO.setName(actDO.getName()); + } } - //查询邻里圈下评论列表 - 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); + 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 = + 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 = 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); + + // 查询评论下评论回复 + List<ComActNeighborCircleCommentReplyAppVO> commentReplyAppVOS = + comActNeighborCircleCommentReplyDAO.getCircleCommentReplyList(circleCommentVo.getId()); + if (!commentReplyAppVOS.isEmpty()) { + 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(commentReplyAppVOS); + circleCommentVo.setCircleCommentReplyAppList(newCommentReplyAppVOS); + circleCommentVo.setCommentReplyNum(commentReplyAppVOS.size()); } } } @@ -188,9 +274,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()); + doPager.getRecords().forEach(data -> { + if(data.getUserType()!=null){ + if (data.getUserType() != 1) { + data.setReleaseName(data.getCommunityName()); + } } }); return R.ok(doPager); @@ -208,7 +296,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); @@ -229,206 +318,306 @@ return R.fail("id有误!"); } neighborCircleDO.setStatus(editVO.getStatus()); - if(editVO.getRefuseReason()!=null){ + if (editVO.getRefuseReason() != null) { neighborCircleDO.setRefuseReason(editVO.getRefuseReason()); } this.baseMapper.updateById(neighborCircleDO); - return R.ok(); + + if(editVO.getStatus().equals(EditNeighborCircleAdminVO.status.xs) && neighborCircleDO.getTopicId() != null){ + //给邻里圈话题添加邻里圈数量 + comActNeighborCircleTopicMapper.addCount(neighborCircleDO.getTopicId()); + } + return R.ok(neighborCircleDO.getReleaseId()); } /** * 用户查询邻里圈列表 - * @param neighborCircleAppDTO 请求参数 - * @return 邻里圈列表 + * + * @param neighborCircleAppDTO + * 请求参数 + * @return 邻里圈列表 */ @Override - public R neighborExamineByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO){ + public R neighborExamineByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO) { IPage<ComActNeighborCircleAppVO> neighborCircleIPage = this.baseMapper.neighborExamineByApp( - new Page<>(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO.getUserId()); + 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); } /** * 邻里圈点赞 - * @param fabulousAppDTO 请求参数 - * @return 点赞结果 + * + * @param fabulousAppDTO + * 请求参数 + * @return 点赞结果 */ @Override @Transactional(rollbackFor = Exception.class) - public R neighborFabulousByApp(ComActNeighborFabulousAppDTO fabulousAppDTO){ + 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)){ - //增加邻里圈点赞数量 + // 判断点赞类型 + 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){ + if (neighborCircleDO != null) { neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() + 1); neighborCircleDO.setViewsNum(neighborCircleDO.getViewsNum() + 1); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM + NeighborCircleConstants.VIEW_HOT_NUM; + neighborCircleDO.setHotNum(neighborCircleDO.getHotNum() + hotNum); this.baseMapper.updateById(neighborCircleDO); + comActNeighborCircleTopicMapper.addHotNum(neighborCircleDO.getTopicId(),hotNum); 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){ + // 添加邻里圈浏览记录 + 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 = + comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); + if (circleCommentDO != null) { circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() + 1); comActNeighborCircleCommentDAO.updateById(circleCommentDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM + NeighborCircleConstants.VIEW_HOT_NUM; + this.baseMapper.addTopicHotNum(circleCommentDO.getCircleId(),hotNum); + this.baseMapper.addHotNum(circleCommentDO.getCircleId(),hotNum); circleFabulousDO.setCircleId(circleCommentDO.getCircleId()); } - }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)){ - //增加邻里圈评论回复点赞数量 - ComActNeighborCircleCommentReplyDO circleCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId()); - if(circleCommentReplyDO != null){ + } 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 = + comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId()); + if (circleCommentReplyDO != null) { circleCommentReplyDO.setFabulousNum(circleCommentReplyDO.getFabulousNum() + 1); comActNeighborCircleCommentReplyDAO.updateById(circleCommentReplyDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM + NeighborCircleConstants.VIEW_HOT_NUM; + this.baseMapper.addTopicHotNum(circleCommentReplyDO.getCircleId(),hotNum); + this.baseMapper.addHotNum(circleCommentReplyDO.getCircleId(),hotNum); circleFabulousDO.setCircleId(circleCommentReplyDO.getCircleId()); } } - if(comActNeighborCircleFabulousDAO.insert(circleFabulousDO) > 0){ + if (comActNeighborCircleFabulousDAO.insert(circleFabulousDO) > 0) { return R.ok(); - }else{ + } else { return R.fail("点赞失败"); } } /** * 邻里圈转发 - * @param forwardAppDTO 请求参数 - * @return 转发结果 + * + * @param forwardAppDTO + * 请求参数 + * @return 转发结果 */ @Override - public R neighborForwardByApp(ComActNeighborForwardAppDTO forwardAppDTO){ + 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){ + if (circleDO == null) { return R.fail("没有找到邻里圈"); } circleDO.setForwardNum(circleDO.getForwardNum() + 1); - if(this.baseMapper.updateById(circleDO) > 0){ + if (this.baseMapper.updateById(circleDO) > 0){ + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.VIEW_HOT_NUM; + this.baseMapper.addHotNum(forwardAppDTO.getCircleId(),hotNum); + this.baseMapper.addTopicHotNum(forwardAppDTO.getCircleId(),hotNum); return R.ok(); - }else{ + } else { return R.fail("转发失败"); } } /** * 邻里圈评论 - * @param commentAppDTO 请求参数 - * @return 评论结果 + * + * @param commentAppDTO + * 请求参数 + * @return 评论结果 */ @Override @Transactional(rollbackFor = Exception.class) - public R neighborCommentByApp(ComActNeighborCommentAppDTO commentAppDTO){ + public R neighborCommentByApp(ComActNeighborCommentAppDTO commentAppDTO) { ComActNeighborCircleCommentDO circleCommentDO = new ComActNeighborCircleCommentDO(); - //查询邻里圈更新邻里圈评论数量 + // 查询邻里圈更新邻里圈评论数量 ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(commentAppDTO.getCircleId()); - if(neighborCircleDO == null){ + if (neighborCircleDO == null) { return R.fail("没有找到邻里圈"); } neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() + 1); neighborCircleDO.setReplyAt(new Date()); this.baseMapper.updateById(neighborCircleDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.COMMENT_HOT_NUM; + this.baseMapper.addHotNum(commentAppDTO.getCircleId(),hotNum); + this.baseMapper.addTopicHotNum(commentAppDTO.getCircleId(),hotNum); + circleCommentDO.setCircleId(commentAppDTO.getCircleId()); circleCommentDO.setUserId(commentAppDTO.getUserId()); circleCommentDO.setUserPhone(commentAppDTO.getPhone()); circleCommentDO.setContent(commentAppDTO.getContent()); - if(neighborCircleDO.getReleaseId().equals(commentAppDTO.getUserId())){ + if (neighborCircleDO.getReleaseId().equals(commentAppDTO.getUserId())) { circleCommentDO.setIsRelease(ComActNeighborCircleCommentDO.isRelease.yes); } - if(comActNeighborCircleCommentDAO.insert(circleCommentDO) > 0){ + if (comActNeighborCircleCommentDAO.insert(circleCommentDO) > 0) { return R.ok(); - }else{ + } else { return R.fail("评论失败"); } } /** * 邻里圈回复 - * @param replyAppDTO 请求参数 - * @return 回复结果 + * + * @param replyAppDTO + * 请求参数 + * @return 回复结果 */ @Override - public R neighborReplyByApp(ComActNeighborReplyAppDTO replyAppDTO){ + public R neighborReplyByApp(ComActNeighborReplyAppDTO replyAppDTO) { ComActNeighborCircleCommentReplyDO circleCommentReplyDO = new ComActNeighborCircleCommentReplyDO(); - //查询邻里圈更新邻里圈评论数量 + // 查询邻里圈更新邻里圈评论数量 ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(replyAppDTO.getCircleId()); - if(neighborCircleDO == null){ + if (neighborCircleDO == null) { return R.fail("没有找到邻里圈"); } neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() + 1); neighborCircleDO.setReplyAt(new Date()); this.baseMapper.updateById(neighborCircleDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.COMMENT_HOT_NUM; + this.baseMapper.addHotNum(replyAppDTO.getCircleId(),hotNum); + this.baseMapper.addTopicHotNum(replyAppDTO.getCircleId(),hotNum); + circleCommentReplyDO.setCircleId(replyAppDTO.getCircleId()); circleCommentReplyDO.setUserId(replyAppDTO.getUserId()); circleCommentReplyDO.setReplyContent(replyAppDTO.getContent()); - if(neighborCircleDO.getReleaseId().equals(replyAppDTO.getUserId())){ + 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){ + // 判断回复类型 + 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){ + } 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){ + if (comActNeighborCircleCommentReplyDAO.insert(circleCommentReplyDO) > 0) { return R.ok(); - }else{ + } 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天的浏览量 - int browseCount = comActNeighborCircleBrowseDAO.selectCount( - new QueryWrapper<ComActNeighborCircleBrowseDO>().lambda().eq(ComActNeighborCircleBrowseDO::getNeighborId,neighborCircleDO.getId())); - //更新邻里圈信息 + 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天的浏览量 + int browseCount = + comActNeighborCircleBrowseDAO.selectCount(new QueryWrapper<ComActNeighborCircleBrowseDO>().lambda() + .eq(ComActNeighborCircleBrowseDO::getNeighborId, neighborCircleDO.getId())); + // 更新邻里圈信息 neighborCircleDO.setLastCommentNum(commentCount + commentReplyCount); neighborCircleDO.setLastFabulousNum(fabulousCount); neighborCircleDO.setLastViewsNum(browseCount); @@ -448,20 +637,20 @@ if (comActNeighborCircleDO.getStatus() == 1) { return R.fail("待审核的邻里圈不能删除"); } - //邻里圈删除 + // 邻里圈删除 this.baseMapper.deleteById(id); - //邻里圈评论删除 - neighborCircleCommentDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleCommentDO>() - .eq(ComActNeighborCircleCommentDO::getCircleId, id)); - //邻里圈回复删除 + // 邻里圈评论删除 + neighborCircleCommentDAO.delete( + new LambdaQueryWrapper<ComActNeighborCircleCommentDO>().eq(ComActNeighborCircleCommentDO::getCircleId, id)); + // 邻里圈回复删除 neighborCircleCommentReplyDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleCommentReplyDO>() - .eq(ComActNeighborCircleCommentReplyDO::getCircleId, id)); - //邻里圈浏览器记录 - neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>() - .eq(ComActNeighborCircleBrowseDO::getNeighborId, id)); - //邻里圈点赞删除 + .eq(ComActNeighborCircleCommentReplyDO::getCircleId, id)); + // 邻里圈浏览器记录 + neighborCircleBrowseDAO.delete( + new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>().eq(ComActNeighborCircleBrowseDO::getNeighborId, id)); + // 邻里圈点赞删除 neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>() - .eq(ComActNeighborCircleFabulousDO::getCircleId,id)); + .eq(ComActNeighborCircleFabulousDO::getCircleId, id)); return R.ok(); } @@ -469,13 +658,20 @@ @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); } @@ -485,41 +681,56 @@ if (comActNeighborCircleDO == null) { return R.fail("id有误"); } - Page<ComActNeighborCircleCommentDO> page = new Page<>(dto.getPageNum(),dto.getPageSize()); - //1、先查询所有该邻里圈_的评论 - IPage<ComActNeighborCommentByAdminVO> commentDOIPage = neighborCircleCommentDAO.selectPageDetailNeighborComment(page,dto); + 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){ + if (commentDO == null) { return R.fail("id有误!"); } 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(); } @Override public R detailNeighborCommentByAdmin(Long id) { ComActNeighborCircleCommentDO commentDO = neighborCircleCommentDAO.selectById(id); - if(commentDO==null){ + 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()); + BeanUtils.copyProperties(commentDO, vo); + String name = user.getName() == null ? user.getNickName() : user.getName(); + vo.setUserName(name); + vo.setUserPhone(user.getPhone()); 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->{ + Page<ComActNeighborCircleCommentReplyDO> page = new Page<>(dto.getPageNum(), dto.getPageSize()); + Page<ComActNeighborCommentReplyByAdminVO> replyPage = + neighborCircleCommentReplyDAO.selectListByComment(page, dto); + replyPage.getRecords().forEach(reply -> { }); return R.ok(replyPage); @@ -528,12 +739,12 @@ @Override public R detailNeighborCommentReply(Long id) { ComActNeighborCircleCommentReplyDO replyDO = neighborCircleCommentReplyDAO.selectById(id); - if(replyDO==null){ + if (replyDO == null) { return R.fail("id有误!"); } AdministratorsUserVO user = this.baseMapper.selectUserByUserId(replyDO.getUserId()); ComActNeighborCommentReplyByAdminVO vo = new ComActNeighborCommentReplyByAdminVO(); - BeanUtils.copyProperties(replyDO,vo); + BeanUtils.copyProperties(replyDO, vo); vo.setUserName(user.getName()); vo.setUserPhone(user.getPhone()); return R.ok(vo); @@ -541,8 +752,9 @@ @Override public R changeCommentReplyStatusByAdmin(ChangeCommentReplyStatusByAdminVO changeStatusReplyVO) { - ComActNeighborCircleCommentReplyDO replyDO = neighborCircleCommentReplyDAO.selectById(changeStatusReplyVO.getId()); - if(replyDO==null){ + ComActNeighborCircleCommentReplyDO replyDO = + neighborCircleCommentReplyDAO.selectById(changeStatusReplyVO.getId()); + if (replyDO == null) { return R.fail("id有误!"); } replyDO.setStatus(changeStatusReplyVO.getStatus()); @@ -552,40 +764,86 @@ /** * 邻里圈取消点赞 - * @param fabulousAppDTO 请求参数 - * @return 取消点赞结果 + * + * @param fabulousAppDTO + * 请求参数 + * @return 取消点赞结果 */ @Override - public R neighborFabulousCancelByApp(ComActNeighborFabulousAppDTO fabulousAppDTO){ + @Transactional(rollbackFor = Exception.class) + 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){ + // 查询邻里圈点赞信息 + 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("未查询到点赞信息"); } - }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){ + + // 减少邻里圈点赞数量 + ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(fabulousAppDTO.getServiceId()); + if (neighborCircleDO != null) { + neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() - 1); + this.baseMapper.updateById(neighborCircleDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(neighborCircleDO.getId(),-hotNum); + this.baseMapper.addTopicHotNum(neighborCircleDO.getId(),-hotNum); + } + } 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("未查询到点赞信息"); } - }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){ + + // 减少邻里圈评论点赞数量 + ComActNeighborCircleCommentDO circleCommentDO = + comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId()); + if (circleCommentDO != null) { + circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() - 1); + comActNeighborCircleCommentDAO.updateById(circleCommentDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(circleCommentDO.getCircleId(),-hotNum); + this.baseMapper.addTopicHotNum(circleCommentDO.getCircleId(),-hotNum); + } + } 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); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(circleCommentReplyDO.getCircleId(),-hotNum); + this.baseMapper.addTopicHotNum(circleCommentReplyDO.getCircleId(),-hotNum); } } - if(circleFabulousDO != null){ + if (circleFabulousDO != null) { circleFabulousDO.setIsEffective(ComActNeighborCircleFabulousDO.isEffective.no); comActNeighborCircleFabulousDAO.updateById(circleFabulousDO); } @@ -594,20 +852,77 @@ /** * 添加邻里圈浏览记录 - * @param addBrowseAppDTO 请求参数 - * @return 返回参数 + * + * @param addBrowseAppDTO + * 请求参数 + * @return 返回参数 */ @Override @Transactional(rollbackFor = Exception.class) - public R neighborAddBrowseByApp(ComActNeighborAddBrowseAppDTO addBrowseAppDTO){ - //添加邻里圈浏览记录 - comActNeighborCircleBrowseService.addBrowseRecord(addBrowseAppDTO.getCircleId(),addBrowseAppDTO.getUserId()); - //更新邻里圈记录 + public R neighborAddBrowseByApp(ComActNeighborAddBrowseAppDTO addBrowseAppDTO) { + // 添加邻里圈浏览记录 + comActNeighborCircleBrowseService.addBrowseRecord(addBrowseAppDTO.getCircleId(), addBrowseAppDTO.getUserId()); + // 更新邻里圈记录 ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(addBrowseAppDTO.getCircleId()); - if(neighborCircleDO != null){ + if (neighborCircleDO != null) { neighborCircleDO.setViewsNum(neighborCircleDO.getViewsNum() + 1); this.baseMapper.updateById(neighborCircleDO); + + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(neighborCircleDO.getId(),hotNum); + this.baseMapper.addTopicHotNum(neighborCircleDO.getId(),hotNum); } 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); + } + + /** + * 小程序-删除邻里圈 + * @param circleTopicAppDTO 请求参数 + * @return 删除结果 + */ + @Override + public R deleteNeighborByApp(DeleteNeighborCircleAppDTO circleTopicAppDTO){ + ComActNeighborCircleDO neighborCircleDO = new ComActNeighborCircleDO(); + neighborCircleDO.setId(circleTopicAppDTO.getId()); + neighborCircleDO.setIsDel(ComActNeighborCircleDO.isDel.yes); + if(this.baseMapper.updateById(neighborCircleDO) > 0){ + return R.ok(); + } + return R.fail(); + } } -- Gitblit v1.7.1