From 0dc0a47cf5f655cb0dbff082f7c36613c21e328b Mon Sep 17 00:00:00 2001
From: 罗元桥 <2376770955@qq.com>
Date: 星期一, 12 七月 2021 18:30:01 +0800
Subject: [PATCH] Merge branch 'test' into 'master'

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 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 8dfb337..852d476 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
@@ -24,6 +24,7 @@
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -71,13 +72,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);
@@ -106,7 +108,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 -> {
@@ -117,6 +119,7 @@
                 comActDiscussOptionVO.setNum(selectCount);
                 comActDiscussOptionVOS.add(comActDiscussOptionVO);
             });
+            comActDiscussOptionVOS.sort(Comparator.comparing(ComActDiscussOptionVO::getNum).reversed());
             comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS);
         }
         Long userId = comActDiscussDO.getUserId();
@@ -335,7 +338,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 -> {
@@ -344,8 +347,13 @@
                         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, loginUserId));
@@ -444,6 +452,10 @@
                     comActDiscussCommentVO.setHaveSign(0);
                 }
 
+                //判断当前评论是否是社区管理员评论
+                if(!comActDiscussCommentVO.getUserType().equals(1)){
+                    comActDiscussCommentVO.setUserNickName("社区管理员");
+                }
             });
         }
         return R.ok(iPage);
@@ -469,7 +481,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 -> {
@@ -478,8 +490,12 @@
                 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();
@@ -488,6 +504,7 @@
             comActDiscussVO.setUserName(loginUserInfoVO.getName());
             comActDiscussVO.setUserNickName(loginUserInfoVO.getNickName());
             comActDiscussVO.setImageUrl(loginUserInfoVO.getImageUrl());
+            comActDiscussVO.setUserType(loginUserInfoVO.getType());
         }
         Long communityId = comActDiscussDO.getCommunityId();
         Integer type1 = loginUserInfoVO.getType();
@@ -515,10 +532,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("不要重复投票");
         }

--
Gitblit v1.7.1