From 1775bb71f952106c58657cf02891cbe2a286c8f8 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期三, 22 九月 2021 11:30:47 +0800 Subject: [PATCH] Merge branch 'test' of http://gitlab.nhys.cdnhxx.com/root/zhihuishequ into test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 131 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 118 insertions(+), 13 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 c904152..5e10984 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 @@ -6,6 +6,7 @@ import javax.annotation.Resource; +import com.panzhihua.service_community.service.ComActNeighborCircleTopicService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -15,6 +16,7 @@ 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.constants.NeighborCircleConstants; import com.panzhihua.common.model.dtos.neighbor.*; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.neighbor.*; @@ -60,10 +62,12 @@ private ComActDAO comActDAO; @Resource private ComActNeighborCircleTopicMapper comActNeighborCircleTopicMapper; + @Resource + private ComActNeighborCircleTopicService comActNeighborCircleTopicService; /** * 分页查询邻里圈列表 - * + * * @param neighborCircleAppDTO * 请求参数 * @return 邻里圈列表 @@ -104,7 +108,7 @@ /** * 用户发布邻里圈审核 - * + * * @param addNeighborCircleAppDTO * 邻里圈请求参数 * @return 发布结果 @@ -123,7 +127,42 @@ if (StringUtils.isNotEmpty(addNeighborCircleAppDTO.getPhone())) { neighborCircleDO.setReleasePhone(addNeighborCircleAppDTO.getPhone()); } - if (this.baseMapper.insert(neighborCircleDO) > 0) { + //判断用户的话题是否是新增的 + if(StringUtils.isNotEmpty(addNeighborCircleAppDTO.getTopicName())){ + //新增邻里圈话题 + ComActNeighborCircleTopicDO circleTopicDO = comActNeighborCircleTopicMapper.selectOne(new QueryWrapper<ComActNeighborCircleTopicDO>() + .lambda().eq(ComActNeighborCircleTopicDO::getCommunityId,neighborCircleDO.getCommunityId()) + .eq(ComActNeighborCircleTopicDO::getName,addNeighborCircleAppDTO.getTopicName())); + if(circleTopicDO == null){ + circleTopicDO = new ComActNeighborCircleTopicDO(); + circleTopicDO.setCommunityId(neighborCircleDO.getCommunityId()); + circleTopicDO.setName(addNeighborCircleAppDTO.getTopicName()); + circleTopicDO.setCreateBy(neighborCircleDO.getReleaseId()); + circleTopicDO.setCreateAt(new Date()); + circleTopicDO.setCount(0); + circleTopicDO.setHotNum(0L); + circleTopicDO.setStatus(ComActNeighborCircleTopicDO.status.yes); + comActNeighborCircleTopicMapper.insert(circleTopicDO); + } + neighborCircleDO.setTopicId(circleTopicDO.getId()); + } + //判断当前邻里圈是否需要审核 + if(addNeighborCircleAppDTO.getIsExamine().equals(AddComActNeighborCircleAppDTO.isExamine.no)){ + //当邻里圈不需要审核才进入自动审核 + //判断邻里圈自动审核结果 + if(addNeighborCircleAppDTO.getWxExamineResult().equals(AddComActNeighborCircleAppDTO.isExamine.yes)){ + neighborCircleDO.setStatus(ComActNeighborCircleDO.status.xs); + if(neighborCircleDO.getTopicId() != null){ + //给邻里圈话题添加邻里圈数量 + comActNeighborCircleTopicMapper.addCount(neighborCircleDO.getTopicId()); + } + }else{ + neighborCircleDO.setStatus(ComActNeighborCircleDO.status.bh); + neighborCircleDO.setRefuseReason("内容违规"); + } + } + + if(this.baseMapper.insert(neighborCircleDO) > 0){ return R.ok(); } else { return R.fail("发布失败"); @@ -132,7 +171,7 @@ /** * 查看邻里圈详情 - * + * * @param neighborCircleAppDTO * 请求参数 * @return 邻里圈详情 @@ -281,12 +320,17 @@ neighborCircleDO.setRefuseReason(editVO.getRefuseReason()); } this.baseMapper.updateById(neighborCircleDO); + + if(editVO.getStatus().equals(EditNeighborCircleAdminVO.status.xs) && neighborCircleDO.getTopicId() != null){ + //给邻里圈话题添加邻里圈数量 + comActNeighborCircleTopicMapper.addCount(neighborCircleDO.getTopicId()); + } return R.ok(neighborCircleDO.getReleaseId()); } /** * 用户查询邻里圈列表 - * + * * @param neighborCircleAppDTO * 请求参数 * @return 邻里圈列表 @@ -318,7 +362,7 @@ /** * 邻里圈点赞 - * + * * @param fabulousAppDTO * 请求参数 * @return 点赞结果 @@ -349,7 +393,11 @@ if (neighborCircleDO != null) { neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() + 1); neighborCircleDO.setViewsNum(neighborCircleDO.getViewsNum() + 1); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM + NeighborCircleConstants.VIEW_HOT_NUM; + neighborCircleDO.setHotNum(neighborCircleDO.getHotNum() + hotNum); this.baseMapper.updateById(neighborCircleDO); + comActNeighborCircleTopicMapper.addHotNum(neighborCircleDO.getTopicId(),hotNum); circleFabulousDO.setCircleId(neighborCircleDO.getId()); } // 添加邻里圈浏览记录 @@ -371,6 +419,10 @@ if (circleCommentDO != null) { circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() + 1); comActNeighborCircleCommentDAO.updateById(circleCommentDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM + NeighborCircleConstants.VIEW_HOT_NUM; + this.baseMapper.addTopicHotNum(circleCommentDO.getCircleId(),hotNum); + this.baseMapper.addHotNum(circleCommentDO.getCircleId(),hotNum); circleFabulousDO.setCircleId(circleCommentDO.getCircleId()); } } else if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)) { @@ -389,6 +441,10 @@ if (circleCommentReplyDO != null) { circleCommentReplyDO.setFabulousNum(circleCommentReplyDO.getFabulousNum() + 1); comActNeighborCircleCommentReplyDAO.updateById(circleCommentReplyDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM + NeighborCircleConstants.VIEW_HOT_NUM; + this.baseMapper.addTopicHotNum(circleCommentReplyDO.getCircleId(),hotNum); + this.baseMapper.addHotNum(circleCommentReplyDO.getCircleId(),hotNum); circleFabulousDO.setCircleId(circleCommentReplyDO.getCircleId()); } } @@ -401,7 +457,7 @@ /** * 邻里圈转发 - * + * * @param forwardAppDTO * 请求参数 * @return 转发结果 @@ -419,7 +475,11 @@ return R.fail("没有找到邻里圈"); } circleDO.setForwardNum(circleDO.getForwardNum() + 1); - if (this.baseMapper.updateById(circleDO) > 0) { + if (this.baseMapper.updateById(circleDO) > 0){ + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.VIEW_HOT_NUM; + this.baseMapper.addHotNum(forwardAppDTO.getCircleId(),hotNum); + this.baseMapper.addTopicHotNum(forwardAppDTO.getCircleId(),hotNum); return R.ok(); } else { return R.fail("转发失败"); @@ -428,7 +488,7 @@ /** * 邻里圈评论 - * + * * @param commentAppDTO * 请求参数 * @return 评论结果 @@ -447,6 +507,11 @@ neighborCircleDO.setReplyAt(new Date()); this.baseMapper.updateById(neighborCircleDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.COMMENT_HOT_NUM; + this.baseMapper.addHotNum(commentAppDTO.getCircleId(),hotNum); + this.baseMapper.addTopicHotNum(commentAppDTO.getCircleId(),hotNum); + circleCommentDO.setCircleId(commentAppDTO.getCircleId()); circleCommentDO.setUserId(commentAppDTO.getUserId()); circleCommentDO.setUserPhone(commentAppDTO.getPhone()); @@ -464,7 +529,7 @@ /** * 邻里圈回复 - * + * * @param replyAppDTO * 请求参数 * @return 回复结果 @@ -481,6 +546,11 @@ neighborCircleDO.setCommentNum(neighborCircleDO.getCommentNum() + 1); neighborCircleDO.setReplyAt(new Date()); this.baseMapper.updateById(neighborCircleDO); + + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.COMMENT_HOT_NUM; + this.baseMapper.addHotNum(replyAppDTO.getCircleId(),hotNum); + this.baseMapper.addTopicHotNum(replyAppDTO.getCircleId(),hotNum); circleCommentReplyDO.setCircleId(replyAppDTO.getCircleId()); circleCommentReplyDO.setUserId(replyAppDTO.getUserId()); @@ -649,6 +719,7 @@ BeanUtils.copyProperties(commentDO, vo); String name = user.getName() == null ? user.getNickName() : user.getName(); vo.setUserName(name); + vo.setUserPhone(user.getPhone()); return R.ok(vo); } @@ -691,12 +762,13 @@ /** * 邻里圈取消点赞 - * + * * @param fabulousAppDTO * 请求参数 * @return 取消点赞结果 */ @Override + @Transactional(rollbackFor = Exception.class) public R neighborFabulousCancelByApp(ComActNeighborFabulousAppDTO fabulousAppDTO) { ComActNeighborCircleFabulousDO circleFabulousDO = null; // 查询邻里圈点赞信息 @@ -718,6 +790,10 @@ if (neighborCircleDO != null) { neighborCircleDO.setFabulousNum(neighborCircleDO.getFabulousNum() - 1); this.baseMapper.updateById(neighborCircleDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(neighborCircleDO.getId(),-hotNum); + this.baseMapper.addTopicHotNum(neighborCircleDO.getId(),-hotNum); } } else if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.pl)) { circleFabulousDO = @@ -737,6 +813,10 @@ if (circleCommentDO != null) { circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() - 1); comActNeighborCircleCommentDAO.updateById(circleCommentDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(circleCommentDO.getCircleId(),-hotNum); + this.baseMapper.addTopicHotNum(circleCommentDO.getCircleId(),-hotNum); } } else if (fabulousAppDTO.getType().equals(ComActNeighborFabulousAppDTO.type.hf)) { circleFabulousDO = @@ -755,6 +835,10 @@ if (circleCommentReplyDO != null) { circleCommentReplyDO.setFabulousNum(circleCommentReplyDO.getFabulousNum() - 1); comActNeighborCircleCommentReplyDAO.updateById(circleCommentReplyDO); + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(circleCommentReplyDO.getCircleId(),-hotNum); + this.baseMapper.addTopicHotNum(circleCommentReplyDO.getCircleId(),-hotNum); } } if (circleFabulousDO != null) { @@ -766,7 +850,7 @@ /** * 添加邻里圈浏览记录 - * + * * @param addBrowseAppDTO * 请求参数 * @return 返回参数 @@ -781,13 +865,18 @@ if (neighborCircleDO != null) { neighborCircleDO.setViewsNum(neighborCircleDO.getViewsNum() + 1); this.baseMapper.updateById(neighborCircleDO); + + //计算需要增加的热度值 + Long hotNum = NeighborCircleConstants.FABULOUS_HOT_NUM; + this.baseMapper.addHotNum(neighborCircleDO.getId(),hotNum); + this.baseMapper.addTopicHotNum(neighborCircleDO.getId(),hotNum); } return R.ok(); } /** * 分页查询评论下所有回复 - * + * * @param commentReplyAppDTO * 请求参数 * @return 回复列表 @@ -818,4 +907,20 @@ } return R.ok(neighborCircleIPage); } + + /** + * 小程序-删除邻里圈 + * @param circleTopicAppDTO 请求参数 + * @return 删除结果 + */ + @Override + public R deleteNeighborByApp(DeleteNeighborCircleAppDTO circleTopicAppDTO){ + ComActNeighborCircleDO neighborCircleDO = new ComActNeighborCircleDO(); + neighborCircleDO.setId(circleTopicAppDTO.getId()); + neighborCircleDO.setIsDel(ComActNeighborCircleDO.isDel.yes); + if(this.baseMapper.updateById(neighborCircleDO) > 0){ + return R.ok(); + } + return R.fail(); + } } -- Gitblit v1.7.1