罗元桥
2021-06-22 c6512655e722d9ca80dd8c34b79f6d3923ecf86c
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;
@@ -318,6 +320,7 @@
        Page page = new Page<>();
        Long pageNum = pageComActDiscussDTO.getPageNum();
        Long pageSize = pageComActDiscussDTO.getPageSize();
        Long loginUserId = pageComActDiscussDTO.getLoginUserId();
        if (null==pageNum||0==pageNum) {
            pageNum = 1l;
        }
@@ -345,12 +348,15 @@
                    });
                    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 +422,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) {
@@ -475,8 +484,11 @@
        }
        Long userId = comActDiscussDO.getUserId();
        LoginUserInfoVO loginUserInfoVO=comActDiscussDAO.selectUserByUserId(userId);
        comActDiscussVO.setUserName(loginUserInfoVO.getName());
        comActDiscussVO.setImageUrl(loginUserInfoVO.getImageUrl());
        if(loginUserInfoVO != null){
            comActDiscussVO.setUserName(loginUserInfoVO.getName());
            comActDiscussVO.setUserNickName(loginUserInfoVO.getNickName());
            comActDiscussVO.setImageUrl(loginUserInfoVO.getImageUrl());
        }
        Long communityId = comActDiscussDO.getCommunityId();
        Integer type1 = loginUserInfoVO.getType();
        if (type1.intValue()>1) {
@@ -547,4 +559,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);
    }
}