huanghongfa
2021-07-22 02f18587bd8860b305e2c688e20465be166bb48c
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;
@@ -68,6 +69,10 @@
    private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO;
    @Resource
    private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO;
    @Resource
    private ComActDAO comActDAO;
    @Resource
    private ComActNeighborCircleTopicMapper comActNeighborCircleTopicMapper;
    /**
     * 分页查询邻里圈列表
@@ -84,12 +89,21 @@
                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)){
                                .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);
@@ -135,12 +149,20 @@
            return R.fail("未找到邻里圈信息");
        }
        if(circleDetailAppVO.getType() != null && circleDetailAppVO.getType().equals(ComActNeighborCircleDO.type.admin)){
            ComActDO actDO = comActDAO.selectById(circleDetailAppVO.getCommunityId());
            if(actDO != null){
                circleDetailAppVO.setName(actDO.getName());
            }
        }
        //查询邻里圈点赞信息
        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)){
                        .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.llq)
                        .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes));
        if(circleFabulousDO != null){
            circleDetailAppVO.setHaveSign(1);
        }else{
            circleDetailAppVO.setHaveSign(2);
@@ -155,8 +177,9 @@
                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)){
                                .eq(ComActNeighborCircleFabulousDO::getType,ComActNeighborCircleFabulousDO.type.pl)
                                .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes));
                if(circleCommentFabulousDO != null){
                    circleCommentVo.setHaveSign(1);
                }else{
                    circleCommentVo.setHaveSign(2);
@@ -164,19 +187,28 @@
                //查询评论下评论回复
                List<ComActNeighborCircleCommentReplyAppVO> commentReplyAppVOS = comActNeighborCircleCommentReplyDAO.getCircleCommentReplyList(circleCommentVo.getId());
                if(!commentReplyAppVOS.isEmpty()){
                    List<ComActNeighborCircleCommentReplyAppVO> newCommentReplyAppVOS = new ArrayList<>();
                    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));
                        if(circleReplyFabulousDO != null && circleReplyFabulousDO.getIsEffective().equals(ComActNeighborCircleFabulousDO.isEffective.yes)){
                                        .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());
                }
            }
        }
@@ -208,7 +240,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);
@@ -233,7 +266,7 @@
            neighborCircleDO.setRefuseReason(editVO.getRefuseReason());
        }
        this.baseMapper.updateById(neighborCircleDO);
        return R.ok();
        return R.ok(neighborCircleDO.getReleaseId());
    }
    /**
@@ -245,6 +278,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);
    }
@@ -263,6 +311,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){
@@ -274,6 +332,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){
@@ -282,6 +347,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){
@@ -469,13 +541,19 @@
    @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);
    }
@@ -499,6 +577,17 @@
        }
        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();
    }
@@ -511,7 +600,8 @@
        AdministratorsUserVO user = this.baseMapper.selectUserByUserId(commentDO.getUserId());
        ComActNeighborCommentByAdminVO vo = new ComActNeighborCommentByAdminVO();
        BeanUtils.copyProperties(commentDO,vo);
        vo.setUserName(user.getName());
        String name = user.getName()==null?user.getNickName():user.getName();
        vo.setUserName(name);
        return R.ok(vo);
    }
@@ -564,25 +654,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){
@@ -610,4 +723,31 @@
        }
        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()) {
                //查询点赞信息
                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);
    }
}