From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期六, 21 八月 2021 16:35:14 +0800
Subject: [PATCH] 随手拍改版接口开发

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java |  352 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 297 insertions(+), 55 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 fc22ba2..c055873 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
@@ -1,5 +1,6 @@
 package com.panzhihua.service_community.service.impl;
 
+import java.util.ArrayList;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,6 +10,7 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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;
@@ -28,6 +30,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;
@@ -65,6 +69,10 @@
     private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO;
     @Resource
     private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO;
+    @Resource
+    private ComActDAO comActDAO;
+    @Resource
+    private ComActNeighborCircleTopicMapper comActNeighborCircleTopicMapper;
 
     /**
      * 分页查询邻里圈列表
@@ -77,16 +85,27 @@
         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(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);
@@ -132,48 +151,75 @@
             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());
+            }
         }
+
+        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()) {
-                //查询点赞信息
-                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 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> 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());
                 }
             }
         }
@@ -185,6 +231,11 @@
     public R pageNeighborByAdmin(ComActNeighborCircleAdminDTO neighborCircleAdminDTO) {
         Page page = new Page(neighborCircleAdminDTO.getPageNum(), neighborCircleAdminDTO.getPageSize());
         IPage<ComActNeighborCircleAdminVO> doPager = this.baseMapper.pageNeighborByAdmin(page, neighborCircleAdminDTO);
+        doPager.getRecords().forEach(data->{
+            if(data.getUserType()!=1){
+                data.setReleaseName(data.getCommunityName());
+            }
+        });
         return R.ok(doPager);
     }
 
@@ -192,7 +243,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());
@@ -200,7 +251,8 @@
         comActNeighborCircleDO.setCommunityId(adminUser.getCommunityId());
         comActNeighborCircleDO.setReleaseContent(addVO.getReleaseContent());
         comActNeighborCircleDO.setReleaseImages(addVO.getReleaseImages());
-        comActNeighborCircleDO.setStatus(1);
+        comActNeighborCircleDO.setType(2);
+        comActNeighborCircleDO.setStatus(2);
         comActNeighborCircleDO.setCommentNum(0);
         comActNeighborCircleDO.setFabulousNum(0);
         comActNeighborCircleDO.setForwardNum(0);
@@ -217,13 +269,15 @@
     @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();
+        return R.ok(neighborCircleDO.getReleaseId());
     }
 
     /**
@@ -235,6 +289,21 @@
     public R neighborExamineByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO){
         IPage<ComActNeighborCircleAppVO> neighborCircleIPage = this.baseMapper.neighborExamineByApp(
                 new Page<>(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO.getUserId());
+        if(!neighborCircleIPage.getRecords().isEmpty()) {
+            for (ComActNeighborCircleAppVO circleAppVO : neighborCircleIPage.getRecords()) {
+                //查询点赞信息
+                ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
+                        new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId, circleAppVO.getId())
+                                .eq(ComActNeighborCircleFabulousDO::getUserId, neighborCircleAppDTO.getUserId())
+                                .eq(ComActNeighborCircleFabulousDO::getType, ComActNeighborCircleFabulousDO.type.llq)
+                                .eq(ComActNeighborCircleFabulousDO::getIsEffective, ComActNeighborCircleFabulousDO.isEffective.yes));
+                if (circleFabulousDO != null) {
+                    circleAppVO.setHaveSign(1);
+                } else {
+                    circleAppVO.setHaveSign(2);
+                }
+            }
+        }
         return R.ok(neighborCircleIPage);
     }
 
@@ -253,6 +322,16 @@
         circleFabulousDO.setParentId(fabulousAppDTO.getServiceId());
         //判断点赞类型
         if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.llq)){
+
+            ComActNeighborCircleFabulousDO oldCircleFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
+                    new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborFabulousAppDTO.type.llq)
+                            .eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId())
+                            .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes)
+                            .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId()));
+            if(oldCircleFabulousDO != null){
+                return R.fail("您已点赞");
+            }
+
             //增加邻里圈点赞数量
             ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(fabulousAppDTO.getServiceId());
             if(neighborCircleDO != null){
@@ -264,6 +343,13 @@
             //添加邻里圈浏览记录
             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){
@@ -272,6 +358,13 @@
                 circleFabulousDO.setCircleId(circleCommentDO.getCircleId());
             }
         }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)){
+            ComActNeighborCircleFabulousDO oldCircleFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
+                    new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborFabulousAppDTO.type.hf)
+                            .eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId())
+                            .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes));
+            if(oldCircleFabulousDO != null){
+                return R.fail("您已点赞");
+            }
             //增加邻里圈评论回复点赞数量
             ComActNeighborCircleCommentReplyDO circleCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId());
             if(circleCommentReplyDO != null){
@@ -295,8 +388,10 @@
     @Override
     public R neighborForwardByApp(ComActNeighborForwardAppDTO forwardAppDTO){
 
-        //添加邻里圈浏览记录
-        comActNeighborCircleBrowseService.addBrowseRecord(forwardAppDTO.getCircleId(),forwardAppDTO.getUserId());
+        if(forwardAppDTO.getUserId() != null){
+            //添加邻里圈浏览记录
+            comActNeighborCircleBrowseService.addBrowseRecord(forwardAppDTO.getCircleId(),forwardAppDTO.getUserId());
+        }
 
         ComActNeighborCircleDO circleDO = this.baseMapper.selectById(forwardAppDTO.getCircleId());
         if(circleDO == null){
@@ -448,19 +543,114 @@
                 .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);
+        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);
+    }
+
+    @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);
+
+        //查询邻里圈更新邻里圈评论数量
+        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){
+            return R.fail("id有误!");
+        }
+        AdministratorsUserVO user = this.baseMapper.selectUserByUserId(commentDO.getUserId());
+        ComActNeighborCommentByAdminVO vo = new ComActNeighborCommentByAdminVO();
+        BeanUtils.copyProperties(commentDO,vo);
+        String name = user.getName()==null?user.getNickName():user.getName();
+        vo.setUserName(name);
+        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();
     }
 
     /**
@@ -477,25 +667,48 @@
             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::getType,ComActNeighborCircleFabulousDO.type.llq)
+                            .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes));
             if(circleFabulousDO == null){
                 return R.fail("未查询到点赞信息");
+            }
+
+            //减少邻里圈点赞数量
+            ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(fabulousAppDTO.getServiceId());
+            if(neighborCircleDO != null){
+                neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() - 1);
+                this.baseMapper.updateById(neighborCircleDO);
             }
         }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)){
             circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
                     new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId())
                             .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId())
-                            .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.pl));
+                            .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.pl)
+                            .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes));
             if(circleFabulousDO == null){
                 return R.fail("未查询到点赞信息");
+            }
+
+            //减少邻里圈评论点赞数量
+            ComActNeighborCircleCommentDO circleCommentDO = comActNeighborCircleCommentDAO.selectById(fabulousAppDTO.getServiceId());
+            if(circleCommentDO != null){
+                circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() - 1);
+                comActNeighborCircleCommentDAO.updateById(circleCommentDO);
             }
         }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)){
             circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
                     new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,fabulousAppDTO.getServiceId())
                             .eq(ComActNeighborCircleFabulousDO::getUserId,fabulousAppDTO.getUserId())
-                            .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf));
+                            .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf)
+                            .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes));
             if(circleFabulousDO == null){
                 return R.fail("未查询到点赞信息");
+            }
+            //减少邻里圈评论回复点赞数量
+            ComActNeighborCircleCommentReplyDO circleCommentReplyDO = comActNeighborCircleCommentReplyDAO.selectById(fabulousAppDTO.getServiceId());
+            if(circleCommentReplyDO != null){
+                circleCommentReplyDO.setFabulousNum(circleCommentReplyDO.getFabulousNum() - 1);
+                comActNeighborCircleCommentReplyDAO.updateById(circleCommentReplyDO);
             }
         }
         if(circleFabulousDO != null){
@@ -523,4 +736,33 @@
         }
         return R.ok();
     }
+
+    /**
+     * 分页查询评论下所有回复
+     * @param commentReplyAppDTO    请求参数
+     * @return  回复列表
+     */
+    @Override
+    public R neighborCommentReplyByApp(ComActNeighborCommentReplyAppDTO commentReplyAppDTO){
+        IPage<ComActNeighborCommentReplyAppVO> neighborCircleIPage = this.baseMapper.neighborCommentReplyByApp(
+                new Page<>(commentReplyAppDTO.getPageNum(),commentReplyAppDTO.getPageSize()),commentReplyAppDTO.getCommentId());
+        if(!neighborCircleIPage.getRecords().isEmpty()){
+            for (ComActNeighborCommentReplyAppVO commentReplyAppVO:neighborCircleIPage.getRecords()) {
+                if(commentReplyAppDTO.getUserId() != null){
+                    //查询点赞信息
+                    ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
+                            new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,commentReplyAppVO.getId())
+                                    .eq(ComActNeighborCircleFabulousDO::getUserId,commentReplyAppDTO.getUserId())
+                                    .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf)
+                                    .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes));
+                    if(circleFabulousDO != null){
+                        commentReplyAppVO.setHaveSign(1);
+                    }else{
+                        commentReplyAppVO.setHaveSign(2);
+                    }
+                }
+            }
+        }
+        return R.ok(neighborCircleIPage);
+    }
 }

--
Gitblit v1.7.1