From 1a69de7ac9d58ad8482b1540e13ee66b1adae291 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期五, 23 七月 2021 17:38:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++++-------
1 files changed, 75 insertions(+), 14 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 04bbbae..886420a 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
@@ -5,12 +5,14 @@
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;
@@ -19,9 +21,11 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
+import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@@ -69,13 +73,14 @@
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();
+ if (type.equals(2)) {
+ List<ComActDiscussOptionDTO> discussOptions = comActDiscussDTO.getDiscussOptions();
List<ComActDiscussOptionDO> comActDiscussOptionDOS=new ArrayList<>();
discussOptions.forEach(s -> {
ComActDiscussOptionDO comActDiscussOptionDO=new ComActDiscussOptionDO();
comActDiscussOptionDO.setDiscussId(comActDiscussDO1Id);
- comActDiscussOptionDO.setOptionContent(s);
+ comActDiscussOptionDO.setOptionContent(s.getOptionContent());
+ comActDiscussOptionDO.setOptionUrl(s.getOptionUrl());
comActDiscussOptionDOS.add(comActDiscussOptionDO);
});
comActDiscussOptionService.saveBatch(comActDiscussOptionDOS);
@@ -104,7 +109,7 @@
Integer integer1 = comActDiscussUserDAO.selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, id));
comActDiscussVO.setSignNum(integer1);
Integer type = comActDiscussVO.getType();
- if (type.intValue()==2) {
+ 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 -> {
@@ -115,6 +120,7 @@
comActDiscussOptionVO.setNum(selectCount);
comActDiscussOptionVOS.add(comActDiscussOptionVO);
});
+ comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed());
comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS);
}
Long userId = comActDiscussDO.getUserId();
@@ -318,6 +324,7 @@
Page page = new Page<>();
Long pageNum = pageComActDiscussDTO.getPageNum();
Long pageSize = pageComActDiscussDTO.getPageSize();
+ Long loginUserId = pageComActDiscussDTO.getLoginUserId();
if (null==pageNum||0==pageNum) {
pageNum = 1l;
}
@@ -332,7 +339,7 @@
records.forEach(comActDiscussVO -> {
Integer type = comActDiscussVO.getType();
Long id = comActDiscussVO.getId();
- if (type.intValue()==2) {
+ 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 -> {
@@ -341,16 +348,24 @@
ComActDiscussOptionVO comActDiscussOptionVO=new ComActDiscussOptionVO();
BeanUtils.copyProperties(comActDiscussOptionDO,comActDiscussOptionVO);
comActDiscussOptionVO.setNum(selectCount);
+
+ //判断选项是否已投票
+ 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);
}
- Integer integer = comActDiscussUserDAO.selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, comActDiscussVO.getId()).eq(ComActDiscussUserDO::getUserId, pageComActDiscussDTO.getLoginUserId()));
+ 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);
});
}
return R.ok(iPage);
@@ -416,8 +431,11 @@
}
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);
}
Integer integer = comActDiscussCommentUserDAO.selectCount(new QueryWrapper<ComActDiscussCommentUserDO>().lambda().eq(ComActDiscussCommentUserDO::getDisscussCommentId, comActDiscussCommentVO1.getId()).eq(ComActDiscussCommentUserDO::getUserId, pageComActDiscussCommentDTO.getLoginUserId()));
if (integer>0) {
@@ -435,6 +453,10 @@
comActDiscussCommentVO.setHaveSign(0);
}
+ //判断当前评论是否是社区管理员评论
+ if(!comActDiscussCommentVO.getUserType().equals(1)){
+ comActDiscussCommentVO.setUserNickName("社区管理员");
+ }
});
}
return R.ok(iPage);
@@ -460,7 +482,7 @@
Integer integer1 = comActDiscussUserDAO.selectCount(new QueryWrapper<ComActDiscussUserDO>().lambda().eq(ComActDiscussUserDO::getDiscussId, id));
comActDiscussVO.setSignNum(integer1);
Integer type = comActDiscussVO.getType();
- if (type.intValue()==2) {
+ 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 -> {
@@ -469,14 +491,26 @@
ComActDiscussOptionVO comActDiscussOptionVO=new ComActDiscussOptionVO();
BeanUtils.copyProperties(comActDiscussOptionDO,comActDiscussOptionVO);
comActDiscussOptionVO.setNum(selectCount);
+ //判断选项是否已投票
+ 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());
+ 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) {
@@ -503,10 +537,10 @@
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));
+// 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("不要重复投票");
}
@@ -547,4 +581,31 @@
}
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