From eda58e0e6d4abdd2b060e28867d103045845aa69 Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期一, 30 八月 2021 13:13:18 +0800
Subject: [PATCH] Merge branch 'test' into 'yuyue_dev'
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java | 437 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 323 insertions(+), 114 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
index dd6a607..8e3689c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
@@ -1,29 +1,35 @@
package com.panzhihua.service_community.service.impl;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import javax.annotation.Resource;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
+import org.springframework.util.StringUtils;
+
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.*;
+import com.panzhihua.common.model.dtos.community.bigscreen.work.ScreenDiscussListDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComActDiscussCommentVO;
import com.panzhihua.common.model.vos.community.ComActDiscussOptionVO;
import com.panzhihua.common.model.vos.community.ComActDiscussVO;
import com.panzhihua.common.model.vos.community.ComActVO;
+import com.panzhihua.common.model.vos.community.screen.work.DiscussListVO;
import com.panzhihua.service_community.dao.*;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.ComActDiscussOptionService;
import com.panzhihua.service_community.service.ComActDiscussService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.ObjectUtils;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
/**
* @program: springcloud_k8s_panzhihuazhihuishequ
@@ -51,26 +57,36 @@
/**
* 一起议-新增
*
- * @param comActDiscussDTO 新增参数
+ * @param comActDiscussDTO
+ * 新增参数
* @return 新增结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public R addDiscuss(ComActDiscussDTO comActDiscussDTO) {
- ComActDiscussDO comActDiscussDO=new ComActDiscussDO();
- BeanUtils.copyProperties(comActDiscussDTO,comActDiscussDO);
+ ComActDiscussDO comActDiscussDO = new ComActDiscussDO();
+ BeanUtils.copyProperties(comActDiscussDTO, comActDiscussDO);
+ ComActVO comActVO = comActDiscussDAO.selectCommunity(comActDiscussDTO.getCommunityId());
+ String address = comActDiscussDO.getAddress();
+ if (ObjectUtils.isEmpty(address)) {
+ comActDiscussDO.setAddress(comActVO.getAddress());
+ }
int insert = comActDiscussDAO.insert(comActDiscussDO);
- if (insert>0) {
- ComActDiscussDO comActDiscussDO1 = comActDiscussDAO.selectOne(new QueryWrapper<ComActDiscussDO>().lambda().eq(ComActDiscussDO::getDiscussSubject, comActDiscussDTO.getDiscussSubject()).eq(ComActDiscussDO::getUserId, comActDiscussDTO.getUserId()).last(" order by create_at desc limit 1 "));
+ if (insert > 0) {
+ ComActDiscussDO comActDiscussDO1 = comActDiscussDAO.selectOne(new QueryWrapper<ComActDiscussDO>().lambda()
+ .eq(ComActDiscussDO::getDiscussSubject, comActDiscussDTO.getDiscussSubject())
+ .eq(ComActDiscussDO::getUserId, comActDiscussDTO.getUserId())
+ .last(" order by create_at desc limit 1 "));
Long comActDiscussDO1Id = comActDiscussDO1.getId();
Integer type = comActDiscussDTO.getType();
- if (type.intValue()==2) {
- List<String> discussOptions = comActDiscussDTO.getDiscussOptions();
- List<ComActDiscussOptionDO> comActDiscussOptionDOS=new ArrayList<>();
+ if (type.equals(2)) {
+ List<ComActDiscussOptionDTO> discussOptions = comActDiscussDTO.getDiscussOptions();
+ List<ComActDiscussOptionDO> comActDiscussOptionDOS = new ArrayList<>();
discussOptions.forEach(s -> {
- ComActDiscussOptionDO comActDiscussOptionDO=new ComActDiscussOptionDO();
+ ComActDiscussOptionDO comActDiscussOptionDO = new ComActDiscussOptionDO();
comActDiscussOptionDO.setDiscussId(comActDiscussDO1Id);
- comActDiscussOptionDO.setOptionContent(s);
+ comActDiscussOptionDO.setOptionContent(s.getOptionContent());
+ comActDiscussOptionDO.setOptionUrl(s.getOptionUrl());
comActDiscussOptionDOS.add(comActDiscussOptionDO);
});
comActDiscussOptionService.saveBatch(comActDiscussOptionDOS);
@@ -83,7 +99,8 @@
/**
* 一起议-详情
*
- * @param id 主键
+ * @param id
+ * 主键
* @return ComActDiscussVO
*/
@Override
@@ -92,28 +109,34 @@
if (ObjectUtils.isEmpty(comActDiscussDO)) {
return R.fail("一起议不存在");
}
- ComActDiscussVO comActDiscussVO=new ComActDiscussVO();
- BeanUtils.copyProperties(comActDiscussDO,comActDiscussVO);
- Integer integer = comActDiscussCommentDAO.selectCount(new QueryWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, id));
+ ComActDiscussVO comActDiscussVO = new ComActDiscussVO();
+ BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO);
+ Integer integer = comActDiscussCommentDAO.selectCount(
+ new QueryWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, id));
comActDiscussVO.setCommentNum(integer);
- Integer integer1 = comActDiscussUserDAO.selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, id));
+ Integer integer1 = comActDiscussUserDAO
+ .selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, id));
comActDiscussVO.setSignNum(integer1);
Integer type = comActDiscussVO.getType();
- if (type.intValue()==2) {
- List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
- List<ComActDiscussOptionVO> comActDiscussOptionVOS=new ArrayList<>();
+ if (type.equals(2)) {
+ List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
+ new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
+ List<ComActDiscussOptionVO> comActDiscussOptionVOS = new ArrayList<>();
comActDiscussOptionDOS.forEach(comActDiscussOptionDO -> {
Long discussOptionDOId = comActDiscussOptionDO.getId();
- Integer selectCount = comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>().lambda().eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
- ComActDiscussOptionVO comActDiscussOptionVO=new ComActDiscussOptionVO();
- BeanUtils.copyProperties(comActDiscussOptionDO,comActDiscussOptionVO);
+ Integer selectCount =
+ comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>().lambda()
+ .eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
+ ComActDiscussOptionVO comActDiscussOptionVO = new ComActDiscussOptionVO();
+ BeanUtils.copyProperties(comActDiscussOptionDO, comActDiscussOptionVO);
comActDiscussOptionVO.setNum(selectCount);
comActDiscussOptionVOS.add(comActDiscussOptionVO);
});
+ comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed());
comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS);
}
Long userId = comActDiscussDO.getUserId();
- LoginUserInfoVO loginUserInfoVO=comActDiscussDAO.selectUserByUserId(userId);
+ LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(userId);
comActDiscussVO.setUserName(loginUserInfoVO.getName());
return R.ok(comActDiscussVO);
@@ -122,20 +145,24 @@
/**
* 一起议-删除
*
- * @param id 主键
+ * @param id
+ * 主键
* @return 删除结果
*/
@Override
public R deleteDiscuss(Long id) {
int delete = comActDiscussDAO.deleteById(id);
- if (delete>0) {
+ if (delete > 0) {
return R.ok();
}
return R.fail();
}
+
/**
* 一起议-回复
- * @param comActDiscussCommentDTO 评论内容
+ *
+ * @param comActDiscussCommentDTO
+ * 评论内容
* @return 回复结果
*/
@Override
@@ -145,15 +172,15 @@
if (ObjectUtils.isEmpty(comActDiscussDO)) {
return R.fail("一起议不存在");
}
- ComActDiscussCommentDO comActDiscussCommentDO=new ComActDiscussCommentDO();
- BeanUtils.copyProperties(comActDiscussCommentDTO,comActDiscussCommentDO);
+ ComActDiscussCommentDO comActDiscussCommentDO = new ComActDiscussCommentDO();
+ BeanUtils.copyProperties(comActDiscussCommentDTO, comActDiscussCommentDO);
Long userId = comActDiscussCommentDTO.getUserId();
Long userId1 = comActDiscussDO.getUserId();
if (userId.equals(userId1)) {
comActDiscussCommentDO.setIsAuthor(1);
}
int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO);
- if (insert>0) {
+ if (insert > 0) {
return R.ok();
}
return R.fail();
@@ -162,7 +189,8 @@
/**
* 一起议-分页查询
*
- * @param pageComActDiscussDTO 查询参数
+ * @param pageComActDiscussDTO
+ * 查询参数
* @return ComActDiscussVO
*/
@Override
@@ -170,10 +198,10 @@
Page page = new Page<>();
Long pageNum = pageComActDiscussDTO.getPageNum();
Long pageSize = pageComActDiscussDTO.getPageSize();
- if (null==pageNum||0==pageNum) {
+ if (null == pageNum || 0 == pageNum) {
pageNum = 1l;
}
- if (null==pageSize||0==pageSize) {
+ if (null == pageSize || 0 == pageSize) {
pageSize = 10l;
}
page.setSize(pageSize);
@@ -186,7 +214,8 @@
/**
* 一起议-评论-查看
*
- * @param id 主键
+ * @param id
+ * 主键
* @return 详情 ComActDiscussCommentVO
*/
@Override
@@ -195,21 +224,22 @@
if (ObjectUtils.isEmpty(comActDiscussCommentDO)) {
return R.fail("评论不存在");
}
- ComActDiscussCommentVO comActDiscussCommentVO=new ComActDiscussCommentVO();
+ ComActDiscussCommentVO comActDiscussCommentVO = new ComActDiscussCommentVO();
Long parentId = comActDiscussCommentDO.getParentId();
- if (parentId.intValue()==0) {
-// 一级评论
- BeanUtils.copyProperties(comActDiscussCommentDO,comActDiscussCommentVO);
- }else {
+ if (parentId.intValue() == 0) {
+ // 一级评论
+ BeanUtils.copyProperties(comActDiscussCommentDO, comActDiscussCommentVO);
+ } else {
ComActDiscussCommentDO comActDiscussCommentDO1 = comActDiscussCommentDAO.selectById(parentId);
- BeanUtils.copyProperties(comActDiscussCommentDO1,comActDiscussCommentVO);
+ BeanUtils.copyProperties(comActDiscussCommentDO1, comActDiscussCommentVO);
comActDiscussCommentVO.setCommentBack(comActDiscussCommentDO.getComment());
comActDiscussCommentVO.setTimeBack(comActDiscussCommentDO.getCreateAt());
comActDiscussCommentVO.setParentId(parentId);
}
- Integer count = comActDiscussCommentUserDAO.selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda().eq(ComActDiscussCommentUserDO::getDisscussCommentId, id));
+ Integer count = comActDiscussCommentUserDAO.selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
+ .eq(ComActDiscussCommentUserDO::getDisscussCommentId, id));
comActDiscussCommentVO.setNum(count);
- LoginUserInfoVO loginUserInfoVO=comActDiscussDAO.selectUserByUserId(comActDiscussCommentDO.getUserId());
+ LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(comActDiscussCommentDO.getUserId());
comActDiscussCommentVO.setUserName(loginUserInfoVO.getName());
comActDiscussCommentVO.setPhone(loginUserInfoVO.getPhone());
return R.ok(comActDiscussCommentVO);
@@ -218,7 +248,8 @@
/**
* 一起议-评论-置顶
*
- * @param id 主键
+ * @param id
+ * 主键
* @return 置顶结果
*/
@Override
@@ -228,17 +259,18 @@
return R.fail("评论不存在");
}
Long parentId = comActDiscussCommentDO.getParentId();
- if (parentId.intValue()!=0) {
+ if (parentId.intValue() != 0) {
return R.fail("二级评论不能置顶");
}
Long discussId = comActDiscussCommentDO.getDiscussId();
- ComActDiscussCommentDO comActDiscussCommentDO1=new ComActDiscussCommentDO();
+ ComActDiscussCommentDO comActDiscussCommentDO1 = new ComActDiscussCommentDO();
comActDiscussCommentDO1.setIsTopping(0);
- comActDiscussCommentDAO.update(comActDiscussCommentDO1,new UpdateWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId,discussId));
+ comActDiscussCommentDAO.update(comActDiscussCommentDO1,
+ new UpdateWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, discussId));
comActDiscussCommentDO1.setIsTopping(1);
comActDiscussCommentDO1.setId(id);
int update = comActDiscussCommentDAO.updateById(comActDiscussCommentDO1);
- if (update>0) {
+ if (update > 0) {
return R.ok();
}
return R.fail();
@@ -247,7 +279,8 @@
/**
* 一起议-评论-回复
*
- * @param comActDiscussCommentDTO 回复内容
+ * @param comActDiscussCommentDTO
+ * 回复内容
* @return 回复结果
*/
@Override
@@ -263,8 +296,8 @@
return R.fail("一起议不存在");
}
Long userId = comActDiscussDO.getUserId();
- Long userId1=comActDiscussCommentDTO.getUserId();
- ComActDiscussCommentDO comActDiscussCommentDO1=new ComActDiscussCommentDO();
+ Long userId1 = comActDiscussCommentDTO.getUserId();
+ ComActDiscussCommentDO comActDiscussCommentDO1 = new ComActDiscussCommentDO();
comActDiscussCommentDO1.setDiscussId(discussId);
comActDiscussCommentDO1.setComment(comActDiscussCommentDTO.getComment());
comActDiscussCommentDO1.setUserId(comActDiscussCommentDTO.getUserId());
@@ -273,7 +306,7 @@
comActDiscussCommentDO1.setIsAuthor(1);
}
int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO1);
- if (insert>0) {
+ if (insert > 0) {
return R.ok();
}
return R.fail();
@@ -282,7 +315,8 @@
/**
* 一起议-评论-分页查询
*
- * @param pageComActDiscussCommentDTO 分页查询参数
+ * @param pageComActDiscussCommentDTO
+ * 分页查询参数
* @return ComActDiscussCommentVO
*/
@Override
@@ -290,10 +324,10 @@
Page page = new Page<>();
Long pageNum = pageComActDiscussCommentDTO.getPageNum();
Long pageSize = pageComActDiscussCommentDTO.getPageSize();
- if (null==pageNum||0==pageNum) {
+ if (null == pageNum || 0 == pageNum) {
pageNum = 1l;
}
- if (null==pageSize||0==pageSize) {
+ if (null == pageSize || 0 == pageSize) {
pageSize = 10l;
}
page.setSize(pageSize);
@@ -305,7 +339,8 @@
/**
* 一起议-分页查询 小程序
*
- * @param pageComActDiscussDTO 查询参数
+ * @param pageComActDiscussDTO
+ * 查询参数
* @return ComActDiscussVO 分页
*/
@Override
@@ -313,10 +348,11 @@
Page page = new Page<>();
Long pageNum = pageComActDiscussDTO.getPageNum();
Long pageSize = pageComActDiscussDTO.getPageSize();
- if (null==pageNum||0==pageNum) {
+ Long loginUserId = pageComActDiscussDTO.getLoginUserId();
+ if (null == pageNum || 0 == pageNum) {
pageNum = 1l;
}
- if (null==pageSize||0==pageSize) {
+ if (null == pageSize || 0 == pageSize) {
pageSize = 10l;
}
page.setSize(pageSize);
@@ -327,18 +363,43 @@
records.forEach(comActDiscussVO -> {
Integer type = comActDiscussVO.getType();
Long id = comActDiscussVO.getId();
- if (type.intValue()==2) {
- List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
- List<ComActDiscussOptionVO> comActDiscussOptionVOS=new ArrayList<>();
+ if (type.equals(2)) {
+ List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
+ new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
+ List<ComActDiscussOptionVO> comActDiscussOptionVOS = new ArrayList<>();
comActDiscussOptionDOS.forEach(comActDiscussOptionDO -> {
Long discussOptionDOId = comActDiscussOptionDO.getId();
- Integer selectCount = comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>().lambda().eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
- ComActDiscussOptionVO comActDiscussOptionVO=new ComActDiscussOptionVO();
- BeanUtils.copyProperties(comActDiscussOptionDO,comActDiscussOptionVO);
+ Integer selectCount =
+ comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>()
+ .lambda().eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
+ ComActDiscussOptionVO comActDiscussOptionVO = new ComActDiscussOptionVO();
+ BeanUtils.copyProperties(comActDiscussOptionDO, comActDiscussOptionVO);
comActDiscussOptionVO.setNum(selectCount);
+
+ if (loginUserId != null) {
+ // 判断选项是否已投票
+ int haveVote =
+ comActDiscussOptionUserDAO.selectHaveVotes(comActDiscussOptionDO.getId(), loginUserId);
+ comActDiscussOptionVO.setHaveVote(haveVote > 0 ? 1 : 0);
+ }
comActDiscussOptionVOS.add(comActDiscussOptionVO);
});
+ comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed());
comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS);
+ }
+
+ if (loginUserId != null) {
+ Integer integer = comActDiscussUserDAO.selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda()
+ .eq(ComActDiscussUserDO::getDiscussId, comActDiscussVO.getId())
+ .eq(ComActDiscussUserDO::getUserId, loginUserId));
+ if (integer > 0) {
+ comActDiscussVO.setHaveSign(1);
+ } else {
+ comActDiscussVO.setHaveSign(0);
+ }
+ // 判断是否已经投票
+ int haveVote = comActDiscussOptionUserDAO.selectHaveVote(id, loginUserId);
+ comActDiscussVO.setHaveVote(haveVote > 0 ? 1 : 0);
}
});
}
@@ -348,21 +409,24 @@
/**
* 一起议-点赞、取消点赞
*
- * @param comActDiscussUserDTO 操作类型
+ * @param comActDiscussUserDTO
+ * 操作类型
* @return 操作结果
*/
@Override
public R putDiscussUser(ComActDiscussUserDTO comActDiscussUserDTO) {
Integer type = comActDiscussUserDTO.getType();
- int num=0;
- ComActDiscussUserDO comActDiscussUserDO=new ComActDiscussUserDO();
- BeanUtils.copyProperties(comActDiscussUserDTO,comActDiscussUserDO);
- if (type.intValue()==1) {
- num= comActDiscussUserDAO.insert(comActDiscussUserDO);
- }else{
- num= comActDiscussUserDAO.delete(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getUserId,comActDiscussUserDTO.getUserId()).eq(ComActDiscussUserDO::getDiscussId,comActDiscussUserDTO.getDiscussId()));
+ int num = 0;
+ ComActDiscussUserDO comActDiscussUserDO = new ComActDiscussUserDO();
+ BeanUtils.copyProperties(comActDiscussUserDTO, comActDiscussUserDO);
+ if (type.intValue() == 1) {
+ num = comActDiscussUserDAO.insert(comActDiscussUserDO);
+ } else {
+ num = comActDiscussUserDAO.delete(new QueryWrapper<ComActDiscussUserDO>().lambda()
+ .eq(ComActDiscussUserDO::getUserId, comActDiscussUserDTO.getUserId())
+ .eq(ComActDiscussUserDO::getDiscussId, comActDiscussUserDTO.getDiscussId()));
}
- if (num>0) {
+ if (num > 0) {
return R.ok();
}
return R.fail();
@@ -371,7 +435,8 @@
/**
* 一起议-评论-分页查询 小程序
*
- * @param pageComActDiscussCommentDTO 分页参数
+ * @param pageComActDiscussCommentDTO
+ * 分页参数
* @return ComActDiscussCommentVO
*/
@Override
@@ -379,37 +444,81 @@
Page page = new Page<>();
Long pageNum = pageComActDiscussCommentDTO.getPageNum();
Long pageSize = pageComActDiscussCommentDTO.getPageSize();
- if (null==pageNum||0==pageNum) {
+ if (null == pageNum || 0 == pageNum) {
pageNum = 1l;
}
- if (null==pageSize||0==pageSize) {
+ if (null == pageSize || 0 == pageSize) {
pageSize = 10l;
}
page.setSize(pageSize);
page.setCurrent(pageNum);
- IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussCommentApplets(page, pageComActDiscussCommentDTO);
+ IPage<ComActDiscussCommentVO> iPage =
+ comActDiscussDAO.pageDiscussCommentApplets(page, pageComActDiscussCommentDTO);
List<ComActDiscussCommentVO> records = iPage.getRecords();
if (!ObjectUtils.isEmpty(records)) {
records.forEach(comActDiscussCommentVO -> {
- List<ComActDiscussCommentVO> comActDiscussCommentVOList=new ArrayList<>();
+ List<ComActDiscussCommentVO> comActDiscussCommentVOList = new ArrayList<>();
Long id = comActDiscussCommentVO.getId();
- comActDiscussCommentVOList=comActDiscussCommentDAO.selectChilds(id);
+ comActDiscussCommentVOList = comActDiscussCommentDAO.selectChilds(id);
if (!ObjectUtils.isEmpty(comActDiscussCommentVOList)) {
- List<ComActDiscussCommentVO> comActDiscussCommentVOS=comActDiscussCommentVOList;
+ List<ComActDiscussCommentVO> comActDiscussCommentVOS = comActDiscussCommentVOList;
comActDiscussCommentVOList.forEach(comActDiscussCommentVO1 -> {
Long parentId = comActDiscussCommentVO1.getParentId();
- List<ComActDiscussCommentVO> collect = comActDiscussCommentVOS.stream().filter(comActDiscussCommentVO2 -> comActDiscussCommentVO2.getId().equals(parentId)).collect(Collectors.toList());
+ List<ComActDiscussCommentVO> collect = comActDiscussCommentVOS.stream()
+ .filter(comActDiscussCommentVO2 -> comActDiscussCommentVO2.getId().equals(parentId))
+ .collect(Collectors.toList());
if (!ObjectUtils.isEmpty(collect)) {
String userName = collect.get(0).getUserName();
+ String userNickName = collect.get(0).getUserNickName();
comActDiscussCommentVO1.setUserNameBack(userName);
+ comActDiscussCommentVO1.setUserNickNameBack(userNickName);
}
- List<ComActDiscussCommentVO> collect1 = records.stream().filter(comActDiscussCommentVO2 -> comActDiscussCommentVO2.getId().equals(parentId)).collect(Collectors.toList());
+ List<ComActDiscussCommentVO> collect1 = records.stream()
+ .filter(comActDiscussCommentVO2 -> comActDiscussCommentVO2.getId().equals(parentId))
+ .collect(Collectors.toList());
if (!ObjectUtils.isEmpty(collect1)) {
- String userName = collect1.get(0).getUserName();
+ ComActDiscussCommentVO comActDiscussCommentVOFirst = collect1.get(0);
+ String userName = comActDiscussCommentVOFirst.getUserName();
+ String userNickName = comActDiscussCommentVOFirst.getUserNickName();
comActDiscussCommentVO1.setUserNameBack(userName);
+ comActDiscussCommentVO1.setUserNickNameBack(userNickName);
}
+ if (pageComActDiscussCommentDTO.getLoginUserId() != null
+ && !pageComActDiscussCommentDTO.getLoginUserId().equals(0L)) {
+ Integer integer = comActDiscussCommentUserDAO
+ .selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
+ .eq(ComActDiscussCommentUserDO::getDisscussCommentId,
+ comActDiscussCommentVO1.getId())
+ .eq(ComActDiscussCommentUserDO::getUserId,
+ pageComActDiscussCommentDTO.getLoginUserId()));
+ if (integer > 0) {
+ comActDiscussCommentVO1.setHaveSign(1);
+ } else {
+ comActDiscussCommentVO1.setHaveSign(0);
+ }
+ }
+// if(StringUtils.isEmpty(comActDiscussCommentVO1.getUserNickNameBack())){
+// comActDiscussCommentVO1.setUserNickNameBack("社区管理员");
+// }
});
comActDiscussCommentVO.setComActDiscussCommentVOList(comActDiscussCommentVOList);
+ }
+ if (pageComActDiscussCommentDTO.getLoginUserId() != null
+ && !pageComActDiscussCommentDTO.getLoginUserId().equals(0L)) {
+ Integer integer =
+ comActDiscussCommentUserDAO.selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
+ .eq(ComActDiscussCommentUserDO::getDisscussCommentId, comActDiscussCommentVO.getId())
+ .eq(ComActDiscussCommentUserDO::getUserId, pageComActDiscussCommentDTO.getLoginUserId()));
+ if (integer > 0) {
+ comActDiscussCommentVO.setHaveSign(1);
+ } else {
+ comActDiscussCommentVO.setHaveSign(0);
+ }
+ }
+
+ // 判断当前评论是否是社区管理员评论
+ if (!comActDiscussCommentVO.getUserType().equals(1)) {
+ comActDiscussCommentVO.setUserNickName("社区管理员");
}
});
}
@@ -419,52 +528,83 @@
/**
* 一起议-详情 小程序
*
- * @param id 主键
+ * @param id
+ * 主键
+ * @param loginUserId
+ * 登录用户主键
* @return ComActDiscussVO
*/
@Override
- public R detailDiscussApplets(Long id) {
+ public R detailDiscussApplets(Long id, Long loginUserId) {
ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(id);
if (ObjectUtils.isEmpty(comActDiscussDO)) {
return R.fail("一起议不存在");
}
- ComActDiscussVO comActDiscussVO=new ComActDiscussVO();
- BeanUtils.copyProperties(comActDiscussDO,comActDiscussVO);
- Integer integer = comActDiscussCommentDAO.selectCount(new QueryWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, id));
+ ComActDiscussVO comActDiscussVO = new ComActDiscussVO();
+ BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO);
+ Integer integer = comActDiscussCommentDAO.selectCount(
+ new QueryWrapper<ComActDiscussCommentDO>().lambda().eq(ComActDiscussCommentDO::getDiscussId, id));
comActDiscussVO.setCommentNum(integer);
- Integer integer1 = comActDiscussUserDAO.selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, id));
+ Integer integer1 = comActDiscussUserDAO
+ .selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, id));
comActDiscussVO.setSignNum(integer1);
Integer type = comActDiscussVO.getType();
- if (type.intValue()==2) {
- List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
- List<ComActDiscussOptionVO> comActDiscussOptionVOS=new ArrayList<>();
+ if (type.equals(2)) {
+ List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
+ new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
+ List<ComActDiscussOptionVO> comActDiscussOptionVOS = new ArrayList<>();
comActDiscussOptionDOS.forEach(comActDiscussOptionDO -> {
Long discussOptionDOId = comActDiscussOptionDO.getId();
- Integer selectCount = comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>().lambda().eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
- ComActDiscussOptionVO comActDiscussOptionVO=new ComActDiscussOptionVO();
- BeanUtils.copyProperties(comActDiscussOptionDO,comActDiscussOptionVO);
+ Integer selectCount =
+ comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>().lambda()
+ .eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionDOId));
+ ComActDiscussOptionVO comActDiscussOptionVO = new ComActDiscussOptionVO();
+ BeanUtils.copyProperties(comActDiscussOptionDO, comActDiscussOptionVO);
comActDiscussOptionVO.setNum(selectCount);
+ if (loginUserId != null && !loginUserId.equals(0L)) {
+ // 判断选项是否已投票
+ int haveVote =
+ comActDiscussOptionUserDAO.selectHaveVotes(comActDiscussOptionDO.getId(), loginUserId);
+ comActDiscussOptionVO.setHaveVote(haveVote > 0 ? 1 : 0);
+ }
comActDiscussOptionVOS.add(comActDiscussOptionVO);
});
+ comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed());
comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS);
}
Long userId = comActDiscussDO.getUserId();
- LoginUserInfoVO loginUserInfoVO=comActDiscussDAO.selectUserByUserId(userId);
- comActDiscussVO.setUserName(loginUserInfoVO.getName());
- comActDiscussVO.setImageUrl(loginUserInfoVO.getImageUrl());
+ LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(userId);
+ if (loginUserInfoVO != null) {
+ comActDiscussVO.setUserName(loginUserInfoVO.getName());
+ if (StringUtils.isEmpty(loginUserInfoVO.getNickName())) {
+ comActDiscussVO.setUserNickName(loginUserInfoVO.getName());
+ } else {
+ comActDiscussVO.setUserNickName(loginUserInfoVO.getNickName());
+ }
+ comActDiscussVO.setImageUrl(loginUserInfoVO.getImageUrl());
+ comActDiscussVO.setUserType(loginUserInfoVO.getType());
+ }
Long communityId = comActDiscussDO.getCommunityId();
Integer type1 = loginUserInfoVO.getType();
- if (type1.intValue()>1) {
- ComActVO comActVO=comActDiscussDAO.selectCommunity(communityId);
+ if (type1.intValue() > 1) {
+ ComActVO comActVO = comActDiscussDAO.selectCommunity(communityId);
comActDiscussVO.setUserName(comActVO.getName());
+ comActDiscussVO.setUserNickName(comActVO.getName());
}
+ if (loginUserId != null && !loginUserId.equals(0L)) {
+ ComActDiscussVO comActDiscussVO1 = comActDiscussDAO.selectHaveSignAndHaveVote(id, loginUserId);
+ comActDiscussVO.setHaveSign(comActDiscussVO1.getHaveSign());
+ comActDiscussVO.setHaveVote(comActDiscussVO1.getHaveVote());
+ }
+
return R.ok(comActDiscussVO);
}
/**
* 一起议-投票
*
- * @param comActDiscussOptionUserDTO 投票信息
+ * @param comActDiscussOptionUserDTO
+ * 投票信息
* @return 投票结果
*/
@Override
@@ -475,20 +615,89 @@
if (ObjectUtils.isEmpty(comActDiscussOptionDO)) {
return R.fail("选项不存在");
}
- Long discussId = comActDiscussOptionDO.getDiscussId();
- List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, discussId));
- List<Long> longList=comActDiscussOptionDOS.stream().map(comActDiscussOptionDO1 -> comActDiscussOptionDO1.getId()).collect(Collectors.toList());
- Integer integer = comActDiscussOptionUserDAO.selectCount(new QueryWrapper<ComActDiscussOptionUserDO>().lambda().eq(ComActDiscussOptionUserDO::getUserId, userId).in(ComActDiscussOptionUserDO::getDiscussOptionId, longList));
- if (integer>0) {
+ // Long discussId = comActDiscussOptionDO.getDiscussId();
+ // List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(new
+ // QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, discussId));
+ // List<Long> longList=comActDiscussOptionDOS.stream().map(comActDiscussOptionDO1 ->
+ // comActDiscussOptionDO1.getId()).collect(Collectors.toList());
+ Integer integer = comActDiscussOptionUserDAO.selectCount(
+ new QueryWrapper<ComActDiscussOptionUserDO>().lambda().eq(ComActDiscussOptionUserDO::getUserId, userId)
+ .eq(ComActDiscussOptionUserDO::getDiscussOptionId, discussOptionId));
+ if (integer > 0) {
return R.fail("不要重复投票");
}
- ComActDiscussOptionUserDO comActDiscussOptionUserDO=new ComActDiscussOptionUserDO();
+ ComActDiscussOptionUserDO comActDiscussOptionUserDO = new ComActDiscussOptionUserDO();
comActDiscussOptionUserDO.setUserId(userId);
comActDiscussOptionUserDO.setDiscussOptionId(discussOptionId);
int insert = comActDiscussOptionUserDAO.insert(comActDiscussOptionUserDO);
- if (insert>0) {
+ if (insert > 0) {
return R.ok();
}
return R.fail();
}
+
+ /**
+ * 一起议-评论-点赞、取消点赞
+ *
+ * @param comActDiscussCommentUserDTO
+ * 评论点赞
+ * @return 点赞结果
+ */
+ @Override
+ public R putDiscussCommentUser(ComActDiscussCommentUserDTO comActDiscussCommentUserDTO) {
+ ComActDiscussCommentDO comActDiscussCommentDO =
+ comActDiscussCommentDAO.selectById(comActDiscussCommentUserDTO.getId());
+ if (ObjectUtils.isEmpty(comActDiscussCommentDO)) {
+ return R.fail("评论不存在");
+ }
+ Integer type = comActDiscussCommentUserDTO.getType();
+ int num = 0;
+ if (type.intValue() == 1) {
+ ComActDiscussCommentUserDO comActDiscussCommentUserDO = new ComActDiscussCommentUserDO();
+ comActDiscussCommentUserDO.setUserId(comActDiscussCommentUserDTO.getUserId());
+ comActDiscussCommentUserDO.setDisscussCommentId(comActDiscussCommentUserDTO.getId());
+ num = comActDiscussCommentUserDAO.insert(comActDiscussCommentUserDO);
+ } else {
+ num = comActDiscussCommentUserDAO.delete(new QueryWrapper<ComActDiscussCommentUserDO>().lambda()
+ .eq(ComActDiscussCommentUserDO::getUserId, comActDiscussCommentUserDTO.getUserId())
+ .eq(ComActDiscussCommentUserDO::getDisscussCommentId, comActDiscussCommentUserDTO.getId()));
+ }
+ if (num > 0) {
+ return R.ok();
+ }
+ return R.fail();
+ }
+
+ /**
+ * 工作大屏-一起议列表
+ *
+ * @param discussListDTO
+ * 请求参数
+ * @return 一起议列表
+ */
+ @Override
+ public R getScreenDiscussList(ScreenDiscussListDTO discussListDTO) {
+ IPage<DiscussListVO> discussListVOIPage = comActDiscussDAO
+ .getScreenDiscussList(new Page(discussListDTO.getPageNum(), discussListDTO.getPageSize()), discussListDTO);
+ if (!discussListVOIPage.getRecords().isEmpty()) {
+ discussListVOIPage.getRecords().forEach(discussListVO -> {
+ // 查询评论数量和点赞数量
+ Integer integer = comActDiscussCommentDAO.selectCount(new QueryWrapper<ComActDiscussCommentDO>()
+ .lambda().eq(ComActDiscussCommentDO::getDiscussId, discussListVO.getId()));
+ discussListVO.setCommentCount(integer);
+ Integer integer1 = comActDiscussUserDAO.selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda()
+ .eq(ComActDiscussUserDO::getDiscussId, discussListVO.getId()));
+ discussListVO.setFabulousCount(integer1);
+
+ if (discussListVO.getType().equals(ScreenDiscussListDTO.type.tp)) {// 投票
+ List<ComActDiscussOptionVO> discussOptionList =
+ comActDiscussDAO.getScreenDiscussOptionList(discussListVO.getId());
+ if (!discussOptionList.isEmpty()) {
+ discussListVO.setDiscussOptionList(discussOptionList);
+ }
+ }
+ });
+ }
+ return R.ok(discussListVOIPage);
+ }
}
--
Gitblit v1.7.1