From a469e6f48a0312cb6c5a183a89fb79b9807ef13d Mon Sep 17 00:00:00 2001 From: tangxiaobao <303826152@qq.com> Date: 星期一, 06 九月 2021 18:20:17 +0800 Subject: [PATCH] 办事指南分页查询按时间降序排列 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java | 434 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 290 insertions(+), 144 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 330292c..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,31 +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); - ComActVO comActVO=comActDiscussDAO.selectCommunity(comActDiscussDTO.getCommunityId()); + 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); @@ -88,7 +99,8 @@ /** * 一起议-详情 * - * @param id 主键 + * @param id + * 主键 * @return ComActDiscussVO */ @Override @@ -97,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); @@ -127,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 @@ -150,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(); @@ -167,7 +189,8 @@ /** * 一起议-分页查询 * - * @param pageComActDiscussDTO 查询参数 + * @param pageComActDiscussDTO + * 查询参数 * @return ComActDiscussVO */ @Override @@ -175,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); @@ -191,7 +214,8 @@ /** * 一起议-评论-查看 * - * @param id 主键 + * @param id + * 主键 * @return 详情 ComActDiscussCommentVO */ @Override @@ -200,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); @@ -223,7 +248,8 @@ /** * 一起议-评论-置顶 * - * @param id 主键 + * @param id + * 主键 * @return 置顶结果 */ @Override @@ -233,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(); @@ -252,7 +279,8 @@ /** * 一起议-评论-回复 * - * @param comActDiscussCommentDTO 回复内容 + * @param comActDiscussCommentDTO + * 回复内容 * @return 回复结果 */ @Override @@ -268,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()); @@ -278,7 +306,7 @@ comActDiscussCommentDO1.setIsAuthor(1); } int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO1); - if (insert>0) { + if (insert > 0) { return R.ok(); } return R.fail(); @@ -287,7 +315,8 @@ /** * 一起议-评论-分页查询 * - * @param pageComActDiscussCommentDTO 分页查询参数 + * @param pageComActDiscussCommentDTO + * 分页查询参数 * @return ComActDiscussCommentVO */ @Override @@ -295,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); @@ -310,7 +339,8 @@ /** * 一起议-分页查询 小程序 * - * @param pageComActDiscussDTO 查询参数 + * @param pageComActDiscussDTO + * 查询参数 * @return ComActDiscussVO 分页 */ @Override @@ -319,10 +349,10 @@ Long pageNum = pageComActDiscussDTO.getPageNum(); Long pageSize = pageComActDiscussDTO.getPageSize(); Long loginUserId = pageComActDiscussDTO.getLoginUserId(); - 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); @@ -333,28 +363,44 @@ 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); } - 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); + + 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); } -// 判断是否已经投票 - int haveVote=comActDiscussOptionUserDAO.selectHaveVote(id,loginUserId); - comActDiscussVO.setHaveVote(haveVote>0?1:0); }); } return R.ok(iPage); @@ -363,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(); @@ -386,7 +435,8 @@ /** * 一起议-评论-分页查询 小程序 * - * @param pageComActDiscussCommentDTO 分页参数 + * @param pageComActDiscussCommentDTO + * 分页参数 * @return ComActDiscussCommentVO */ @Override @@ -394,51 +444,82 @@ 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); } - 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 (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); } - 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 (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("社区管理员"); + } }); } return R.ok(iPage); @@ -447,8 +528,10 @@ /** * 一起议-详情 小程序 * - * @param id 主键 - * @param loginUserId 登录用户主键 + * @param id + * 主键 + * @param loginUserId + * 登录用户主键 * @return ComActDiscussVO */ @Override @@ -457,49 +540,71 @@ 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); - if(loginUserInfoVO != null){ + LoginUserInfoVO loginUserInfoVO = comActDiscussDAO.selectUserByUserId(userId); + if (loginUserInfoVO != null) { comActDiscussVO.setUserName(loginUserInfoVO.getName()); - comActDiscussVO.setUserNickName(loginUserInfoVO.getNickName()); + 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()); } - ComActDiscussVO comActDiscussVO1=comActDiscussDAO.selectHaveSignAndHaveVote(id,loginUserId); - comActDiscussVO.setHaveSign(comActDiscussVO1.getHaveSign()); - comActDiscussVO.setHaveVote(comActDiscussVO1.getHaveVote()); + 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 @@ -510,18 +615,22 @@ 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(); @@ -530,28 +639,65 @@ /** * 一起议-评论-点赞、取消点赞 * - * @param comActDiscussCommentUserDTO 评论点赞 + * @param comActDiscussCommentUserDTO + * 评论点赞 * @return 点赞结果 */ @Override public R putDiscussCommentUser(ComActDiscussCommentUserDTO comActDiscussCommentUserDTO) { - ComActDiscussCommentDO comActDiscussCommentDO = comActDiscussCommentDAO.selectById(comActDiscussCommentUserDTO.getId()); + 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(); + int num = 0; + if (type.intValue() == 1) { + ComActDiscussCommentUserDO comActDiscussCommentUserDO = new ComActDiscussCommentUserDO(); comActDiscussCommentUserDO.setUserId(comActDiscussCommentUserDTO.getUserId()); comActDiscussCommentUserDO.setDisscussCommentId(comActDiscussCommentUserDTO.getId()); - num=comActDiscussCommentUserDAO.insert(comActDiscussCommentUserDO); + num = comActDiscussCommentUserDAO.insert(comActDiscussCommentUserDO); } else { - num=comActDiscussCommentUserDAO.delete(new QueryWrapper<ComActDiscussCommentUserDO>().lambda().eq(ComActDiscussCommentUserDO::getUserId,comActDiscussCommentUserDTO.getUserId()).eq(ComActDiscussCommentUserDO::getDisscussCommentId,comActDiscussCommentUserDTO.getId())); + num = comActDiscussCommentUserDAO.delete(new QueryWrapper<ComActDiscussCommentUserDO>().lambda() + .eq(ComActDiscussCommentUserDO::getUserId, comActDiscussCommentUserDTO.getUserId()) + .eq(ComActDiscussCommentUserDO::getDisscussCommentId, comActDiscussCommentUserDTO.getId())); } - if (num>0) { + 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