From a39945f76232c423d9610f60c98cd3ec53e98cbd Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期二, 08 六月 2021 18:29:53 +0800
Subject: [PATCH] Merge branch 'master' into test
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 677 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 660 insertions(+), 17 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 f026ac8..72e5af4 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,26 +1,41 @@
package com.panzhihua.service_community.service.impl;
+import java.util.ArrayList;
+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;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.panzhihua.common.model.dtos.neighbor.AddComActNeighborCircleAppDTO;
-import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleAppDTO;
-import com.panzhihua.common.model.dtos.neighbor.ComActNeighborCircleDetailAppDTO;
+import com.panzhihua.common.model.dtos.neighbor.*;
import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAppVO;
-import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleCommentAppVO;
-import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleDetailAppVO;
+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.*;
import com.panzhihua.service_community.service.ComActNeighborCircleService;
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;
+
import java.util.List;
/**
@@ -34,8 +49,28 @@
@Resource
private ComActNeighborCircleBrowseService comActNeighborCircleBrowseService;
+
+ @Resource
+ ComActNeighborCircleFabulousDAO neighborCircleFabulousDAO;
+
+ @Resource
+ ComActNeighborCircleBrowseDAO neighborCircleBrowseDAO;
+
+ @Resource
+ ComActNeighborCircleCommentDAO neighborCircleCommentDAO;
+
+ @Resource
+ ComActNeighborCircleCommentReplyDAO neighborCircleCommentReplyDAO;
@Resource
private ComActNeighborCircleCommentDAO comActNeighborCircleCommentDAO;
+ @Resource
+ private ComActNeighborCircleCommentReplyDAO comActNeighborCircleCommentReplyDAO;
+ @Resource
+ private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO;
+ @Resource
+ private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO;
+ @Resource
+ private ComActDAO comActDAO;
/**
* 分页查询邻里圈列表
@@ -46,6 +81,29 @@
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)
+ .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);
}
@@ -75,28 +133,613 @@
}
}
+ /**
+ * 查看邻里圈详情
+ * @param neighborCircleAppDTO 请求参数
+ * @return 邻里圈详情
+ */
@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("未找到邻里圈信息");
+ }
- //查询邻里圈下评论列表
- IPage<ComActNeighborCircleCommentAppVO> circleCommentAppPage = comActNeighborCircleCommentDAO.pageNeighborCommentByApp(
- new Page(neighborCircleAppDTO.getPageNum(),neighborCircleAppDTO.getPageSize()),neighborCircleAppDTO.getCircleId());
- if(!circleCommentAppPage.getRecords().isEmpty()){
- for (ComActNeighborCircleCommentAppVO circleCommentVo:circleCommentAppPage.getRecords()) {
- //查询评论下评论回复
-
-
+ 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)
+ .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)
+ .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()){
+ 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)
+ .eq(ComActNeighborCircleFabulousDO::getIsEffective,ComActNeighborCircleFabulousDO.isEffective.yes));
+ if(circleReplyFabulousDO != null){
+ commentReplyVO.setHaveSign(1);
+ }else{
+ commentReplyVO.setHaveSign(2);
+ }
+ newCommentReplyAppVOS.add(commentReplyVO);
+ i++;
+ }
+ circleCommentVo.setCircleCommentReplyAppList(newCommentReplyAppVOS);
+ circleCommentVo.setCommentReplyNum(commentReplyAppVOS.size());
+ }
+ }
+ }
+ circleDetailAppVO.setCircleCommentAppList(circleCommentAppPage.getRecords());
return R.ok(circleDetailAppVO);
}
+ @Override
+ 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);
+ }
+
+ @Override
+ public R addNeighborByAdmin(AddNeighborCircleAdminVO addVO) {
+ ComActNeighborCircleDO comActNeighborCircleDO = new ComActNeighborCircleDO();
+ AdministratorsUserVO adminUser = this.baseMapper.selectUserByUserId(addVO.getUserId());
+ if (adminUser == null) {
+ return R.fail("请登录重试");
+ }
+ comActNeighborCircleDO.setReleaseId(addVO.getUserId());
+ comActNeighborCircleDO.setReleasePhone(adminUser.getPhone());
+ comActNeighborCircleDO.setCommunityId(adminUser.getCommunityId());
+ comActNeighborCircleDO.setReleaseContent(addVO.getReleaseContent());
+ comActNeighborCircleDO.setReleaseImages(addVO.getReleaseImages());
+ comActNeighborCircleDO.setType(2);
+ comActNeighborCircleDO.setStatus(2);
+ comActNeighborCircleDO.setCommentNum(0);
+ comActNeighborCircleDO.setFabulousNum(0);
+ comActNeighborCircleDO.setForwardNum(0);
+ comActNeighborCircleDO.setViewsNum(0);
+ comActNeighborCircleDO.setIsBoutique(2);
+ comActNeighborCircleDO.setCreateAt(new Date());
+ comActNeighborCircleDO.setLastCommentNum(0);
+ comActNeighborCircleDO.setLastFabulousNum(0);
+ comActNeighborCircleDO.setLastViewsNum(0);
+ this.baseMapper.insert(comActNeighborCircleDO);
+ return R.ok();
+ }
+
+ @Override
+ public R changeStatusByAdmin(EditNeighborCircleAdminVO editVO) {
+ ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(editVO.getId());
+ if (neighborCircleDO == null) {
+ return R.fail("id有误!");
+ }
+ neighborCircleDO.setStatus(editVO.getStatus());
+ if(editVO.getRefuseReason()!=null){
+ neighborCircleDO.setRefuseReason(editVO.getRefuseReason());
+ }
+ this.baseMapper.updateById(neighborCircleDO);
+ return R.ok(neighborCircleDO.getReleaseId());
+ }
+
+ /**
+ * 用户查询邻里圈列表
+ * @param neighborCircleAppDTO 请求参数
+ * @return 邻里圈列表
+ */
+ @Override
+ 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);
+ }
+
+ /**
+ * 邻里圈点赞
+ * @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)){
+
+ 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){
+ 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)){
+ 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){
+ circleCommentDO.setFabulousNum(circleCommentDO.getFabulousNum() + 1);
+ comActNeighborCircleCommentDAO.updateById(circleCommentDO);
+ 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){
+ 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天的浏览量
+ 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);
+ }
+ }
+
+ return R.ok();
+ }
+
+ @Override
+ public R deleteByAdmin(Long id) {
+ ComActNeighborCircleDO comActNeighborCircleDO = this.baseMapper.selectById(id);
+ if (comActNeighborCircleDO == null) {
+ return R.fail();
+ }
+ if (comActNeighborCircleDO.getStatus() == 1) {
+ return R.fail("待审核的邻里圈不能删除");
+ }
+ //邻里圈删除
+ this.baseMapper.deleteById(id);
+ //邻里圈评论删除
+ neighborCircleCommentDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleCommentDO>()
+ .eq(ComActNeighborCircleCommentDO::getCircleId, id));
+ //邻里圈回复删除
+ neighborCircleCommentReplyDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleCommentReplyDO>()
+ .eq(ComActNeighborCircleCommentReplyDO::getCircleId, id));
+ //邻里圈浏览器记录
+ neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>()
+ .eq(ComActNeighborCircleBrowseDO::getNeighborId, id));
+ //邻里圈点赞删除
+ neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>()
+ .eq(ComActNeighborCircleFabulousDO::getCircleId,id));
+ return R.ok();
+
+ }
+
+ @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有误");
+ }
+ DetailNeighborCircleAdminVO vo = new DetailNeighborCircleAdminVO();
+ BeanUtils.copyProperties(comActNeighborCircleDO, vo);
+ vo.setReleaseName(user.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();
+ }
+
+ /**
+ * 邻里圈取消点赞
+ * @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)
+ .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::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::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){
+ 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();
+ }
+
+ /**
+ * 分页查询评论下所有回复
+ * @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);
+ }
}
--
Gitblit v1.7.1