From 12cbe6b75a2cd522dbff3e68df7b2f6f6b86bedf Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期四, 29 四月 2021 16:59:44 +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 |  458 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 427 insertions(+), 31 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 85799e4..1f655da 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,26 +2,26 @@
 
 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;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.panzhihua.common.model.dtos.neighbor.AddComActNeighborCircleAppDTO;
-import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAdminDTO;
-import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAppDTO;
-import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleDetailAppDTO;
+import com.panzhihua.common.model.dtos.neighbor.*;
 import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.neighbor.AddNeighborCircleAdminVO;
-import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO;
-import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAppVO;
-import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleCommentAppVO;
-import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleDetailAppVO;
+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.neighbor.EditNeighborCircleAdminVO;
 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.*;
@@ -31,8 +31,10 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+
 import java.util.List;
 
 /**
@@ -58,6 +60,14 @@
 
     @Resource
     ComActNeighborCircleCommentReplyDAO neighborCircleCommentReplyDAO;
+    @Resource
+    private ComActNeighborCircleCommentDAO comActNeighborCircleCommentDAO;
+    @Resource
+    private ComActNeighborCircleCommentReplyDAO comActNeighborCircleCommentReplyDAO;
+    @Resource
+    private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO;
+    @Resource
+    private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO;
 
     /**
      * 分页查询邻里圈列表
@@ -68,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);
     }
 
@@ -97,27 +121,66 @@
         }
     }
 
+    /**
+     * 查看邻里圈详情
+     * @param neighborCircleAppDTO  请求参数
+     * @return  邻里圈详情
+     */
     @Override
     public R neighborDetailByApp(ComActNeighborCircleDetailAppDTO neighborCircleAppDTO){
 
-        //添加邻里圈浏览记录
-        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()) {
-                //查询评论下评论回复
-
-
-            }
+        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);
     }
 
@@ -132,7 +195,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());
@@ -157,12 +220,215 @@
     @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());
         this.baseMapper.updateById(neighborCircleDO);
+        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);
+                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)){
+            //增加邻里圈评论点赞数量
+            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天的浏览量
+                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);
+            }
+        }
+
         return R.ok();
     }
 
@@ -185,18 +451,148 @@
                 .eq(ComActNeighborCircleCommentReplyDO::getCircleId, id));
         //邻里圈浏览器记录
         neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>()
-                .eq(ComActNeighborCircleBrowseDO::getNeighborId,id));
-        //邻里圈点赞删除
-        neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>()
-                .eq(ComActNeighborCircleBrowseDO::getNeighborId,id));
+                .eq(ComActNeighborCircleBrowseDO::getNeighborId, id));
+        //邻里圈点赞删除 需要一层一层删
 /*        neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>()
                 .eq(ComActNeighborCircleFabulousDO::get))*/
-            return R.ok();
+        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有误!");
+        }
+        ComActNeighborCommentByAdminVO vo = new ComActNeighborCommentByAdminVO();
+        BeanUtils.copyProperties(commentDO,vo);
+        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);
+        return R.ok(replyPage);
+    }
+
+    @Override
+    public R detailNeighborCommentReply(Long id) {
+        ComActNeighborCircleCommentReplyDO replyDO = neighborCircleCommentReplyDAO.selectById(id);
+        if(replyDO==null){
+            return R.fail("id有误!");
+        }
+        ComActNeighborCommentReplyByAdminVO vo = new ComActNeighborCommentReplyByAdminVO();
+        BeanUtils.copyProperties(replyDO,vo);
+        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