From 17935dcdfa3d85c48d99f4065ed5ac1bd7bd2c7b Mon Sep 17 00:00:00 2001
From: DESKTOP-71BH0QO\L、ming <172680469@qq.com>
Date: 星期四, 29 四月 2021 14:15:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java |  266 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 239 insertions(+), 27 deletions(-)

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

--
Gitblit v1.7.1