From 07c60d85678d4a3b6fedcc27d7984f29cfb8dcc1 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期四, 29 四月 2021 16:22:29 +0800
Subject: [PATCH] 邻里圈模块小程序接口开发

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java |  131 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 125 insertions(+), 6 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java
index 3c97b42..fc22ba2 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
@@ -57,11 +57,14 @@
 
     @Resource
     ComActNeighborCircleCommentReplyDAO neighborCircleCommentReplyDAO;
+    @Resource
     private ComActNeighborCircleCommentDAO comActNeighborCircleCommentDAO;
     @Resource
     private ComActNeighborCircleCommentReplyDAO comActNeighborCircleCommentReplyDAO;
     @Resource
     private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO;
+    @Resource
+    private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO;
 
     /**
      * 分页查询邻里圈列表
@@ -72,6 +75,20 @@
     public R pageNeighborByApp(ComActNeighborCircleAppDTO neighborCircleAppDTO){
         Page userPage = new Page(neighborCircleAppDTO.getPageNum(), neighborCircleAppDTO.getPageSize());
         IPage<ComActNeighborCircleAppVO> doPager = this.baseMapper.pageNeighborByApp(userPage, neighborCircleAppDTO);
+        if(!doPager.getRecords().isEmpty()){
+            for (ComActNeighborCircleAppVO circleAppVO:doPager.getRecords()) {
+                //查询点赞信息
+                ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
+                        new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleAppVO.getId())
+                .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId())
+                                .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq));
+                if(circleFabulousDO != null && circleFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){
+                    circleAppVO.setHaveSign(1);
+                }else{
+                    circleAppVO.setHaveSign(2);
+                }
+            }
+        }
         return R.ok(doPager);
     }
 
@@ -108,22 +125,59 @@
      */
     @Override
     public R neighborDetailByApp(ComActNeighborCircleDetailAppDTO neighborCircleAppDTO){
-        //添加邻里圈浏览记录
-        comActNeighborCircleBrowseService.addBrowseRecord(neighborCircleAppDTO.getCircleId(),neighborCircleAppDTO.getUserId());
+
         //查询邻里圈详情
         ComActNeighborCircleDetailAppVO circleDetailAppVO = this.baseMapper.neighborDetailByApp(neighborCircleAppDTO.getCircleId());
+        if(circleDetailAppVO == null){
+            return R.fail("未找到邻里圈信息");
+        }
+
+        //查询邻里圈点赞信息
+        ComActNeighborCircleFabulousDO circleFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
+                new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleDetailAppVO.getId())
+                        .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId())
+                        .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq));
+        if(circleFabulousDO != null && circleFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){
+            circleDetailAppVO.setHaveSign(1);
+        }else{
+            circleDetailAppVO.setHaveSign(2);
+        }
+
         //查询邻里圈下评论列表
         IPage<ComActNeighborCircleCommentAppVO> circleCommentAppPage = comActNeighborCircleCommentDAO.pageNeighborCommentByApp(
                 new Page(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO);
         if(!circleCommentAppPage.getRecords().isEmpty()){
             for (ComActNeighborCircleCommentAppVO circleCommentVo:circleCommentAppPage.getRecords()) {
+                //查询点赞信息
+                ComActNeighborCircleFabulousDO circleCommentFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
+                        new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,circleCommentVo.getId())
+                                .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId())
+                                .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.pl));
+                if(circleCommentFabulousDO != null && circleCommentFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){
+                    circleCommentVo.setHaveSign(1);
+                }else{
+                    circleCommentVo.setHaveSign(2);
+                }
                 //查询评论下评论回复
                 List<ComActNeighborCircleCommentReplyAppVO> commentReplyAppVOS = comActNeighborCircleCommentReplyDAO.getCircleCommentReplyList(circleCommentVo.getId());
                 if(!commentReplyAppVOS.isEmpty()){
+                    for (ComActNeighborCircleCommentReplyAppVO commentReplyVO:commentReplyAppVOS) {
+                        //查询点赞信息
+                        ComActNeighborCircleFabulousDO circleReplyFabulousDO = comActNeighborCircleFabulousDAO.selectOne(
+                                new QueryWrapper<ComActNeighborCircleFabulousDO>().lambda().eq(ComActNeighborCircleFabulousDO::getParentId,commentReplyVO.getId())
+                                        .eq(ComActNeighborCircleFabulousDO::getUserId,neighborCircleAppDTO.getUserId())
+                                        .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.hf));
+                        if(circleReplyFabulousDO != null && circleReplyFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){
+                            commentReplyVO.setHaveSign(1);
+                        }else{
+                            commentReplyVO.setHaveSign(2);
+                        }
+                    }
                     circleCommentVo.setCircleCommentReplyAppList(commentReplyAppVOS);
                 }
             }
         }
+        circleDetailAppVO.setCircleCommentAppList(circleCommentAppPage.getRecords());
         return R.ok(circleDetailAppVO);
     }
 
@@ -203,10 +257,10 @@
             ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(fabulousAppDTO.getServiceId());
             if(neighborCircleDO != null){
                 neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() + 1);
+                neighborCircleDO.setViewsNum(neighborCircleDO.getViewsNum() + 1);
                 this.baseMapper.updateById(neighborCircleDO);
                 circleFabulousDO.setCircleId(neighborCircleDO.getId());
             }
-
             //添加邻里圈浏览记录
             comActNeighborCircleBrowseService.addBrowseRecord(fabulousAppDTO.getServiceId(),fabulousAppDTO.getUserId());
         }else if(fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)){
@@ -357,14 +411,18 @@
                 int commentReplyCount = comActNeighborCircleCommentReplyDAO.selectCount(
                         new QueryWrapper<ComActNeighborCircleCommentReplyDO>().lambda()
                                 .eq(ComActNeighborCircleCommentReplyDO::getCircleId,neighborCircleDO.getId()));
-
                 //查询邻里圈近3天的点赞数
                 int fabulousCount = comActNeighborCircleFabulousDAO.selectCount(new QueryWrapper<ComActNeighborCircleFabulousDO>()
                         .lambda().eq(ComActNeighborCircleFabulousDO::getCircleId,neighborCircleDO.getId())
                         .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes));
-
                 //查询邻里圈近3天的浏览量
-
+                int browseCount = comActNeighborCircleBrowseDAO.selectCount(
+                        new QueryWrapper<ComActNeighborCircleBrowseDO>().lambda().eq(ComActNeighborCircleBrowseDO::getNeighborId,neighborCircleDO.getId()));
+                //更新邻里圈信息
+                neighborCircleDO.setLastCommentNum(commentCount + commentReplyCount);
+                neighborCircleDO.setLastFabulousNum(fabulousCount);
+                neighborCircleDO.setLastViewsNum(browseCount);
+                this.baseMapper.updateById(neighborCircleDO);
             }
         }
 
@@ -404,4 +462,65 @@
     public R detailNeighborByAdmin(Long id) {
         return null;
     }
+
+    /**
+     * 邻里圈取消点赞
+     * @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