From 3fbcddbb28134e1afe848f7e336f58bc82c914a2 Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期三, 21 七月 2021 17:18:58 +0800
Subject: [PATCH] Merge branch 'test' into 'master'
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 619 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 584 insertions(+), 35 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 c290807..ff84220 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,27 +1,28 @@
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.ComActNeighborCircleAdminDTO;
-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.AddNeighborCircleAdminVO;
-import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO;
-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.neighbor.EditNeighborCircleAdminVO;
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.*;
@@ -31,8 +32,10 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+
import java.util.List;
/**
@@ -46,9 +49,7 @@
@Resource
private ComActNeighborCircleBrowseService comActNeighborCircleBrowseService;
- @Resource
- private ComActNeighborCircleCommentDAO comActNeighborCircleCommentDAO;
-public abstract class ComActNeighborCircleServiceImpl extends ServiceImpl<ComActNeighborCircleDAO, ComActNeighborCircleDO> implements ComActNeighborCircleService {
+
@Resource
ComActNeighborCircleFabulousDAO neighborCircleFabulousDAO;
@@ -60,6 +61,18 @@
@Resource
ComActNeighborCircleCommentReplyDAO neighborCircleCommentReplyDAO;
+ @Resource
+ private ComActNeighborCircleCommentDAO comActNeighborCircleCommentDAO;
+ @Resource
+ private ComActNeighborCircleCommentReplyDAO comActNeighborCircleCommentReplyDAO;
+ @Resource
+ private ComActNeighborCircleFabulousDAO comActNeighborCircleFabulousDAO;
+ @Resource
+ private ComActNeighborCircleBrowseDAO comActNeighborCircleBrowseDAO;
+ @Resource
+ private ComActDAO comActDAO;
+ @Resource
+ private ComActNeighborCircleTopicMapper comActNeighborCircleTopicMapper;
/**
* 分页查询邻里圈列表
@@ -70,6 +83,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);
}
@@ -99,27 +135,84 @@
}
}
+ /**
+ * 查看邻里圈详情
+ * @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);
}
@@ -127,6 +220,11 @@
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);
}
@@ -134,7 +232,7 @@
public R addNeighborByAdmin(AddNeighborCircleAdminVO addVO) {
ComActNeighborCircleDO comActNeighborCircleDO = new ComActNeighborCircleDO();
AdministratorsUserVO adminUser = this.baseMapper.selectUserByUserId(addVO.getUserId());
- if(adminUser==null){
+ if (adminUser == null) {
return R.fail("请登录重试");
}
comActNeighborCircleDO.setReleaseId(addVO.getUserId());
@@ -142,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);
@@ -159,12 +258,256 @@
@Override
public R changeStatusByAdmin(EditNeighborCircleAdminVO editVO) {
ComActNeighborCircleDO neighborCircleDO = this.baseMapper.selectById(editVO.getId());
- if(neighborCircleDO==null){
+ if (neighborCircleDO == null) {
return R.fail("id有误!");
}
neighborCircleDO.setStatus(editVO.getStatus());
- neighborCircleDO.setRefuseReason(editVO.getRefuseReason());
+ 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();
}
@@ -187,18 +530,224 @@
.eq(ComActNeighborCircleCommentReplyDO::getCircleId, id));
//邻里圈浏览器记录
neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>()
- .eq(ComActNeighborCircleBrowseDO::getNeighborId,id));
+ .eq(ComActNeighborCircleBrowseDO::getNeighborId, id));
//邻里圈点赞删除
- neighborCircleBrowseDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleBrowseDO>()
- .eq(ComActNeighborCircleBrowseDO::getNeighborId,id));
-/* neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>()
- .eq(ComActNeighborCircleFabulousDO::get))*/
- return R.ok();
+ neighborCircleFabulousDAO.delete(new LambdaQueryWrapper<ComActNeighborCircleFabulousDO>()
+ .eq(ComActNeighborCircleFabulousDO::getCircleId,id));
+ return R.ok();
}
@Override
public R detailNeighborByAdmin(Long id) {
- return null;
+ ComActNeighborCircleDO comActNeighborCircleDO = this.baseMapper.selectById(id);
+ 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);
+ }
+
+ @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