From 58808fbcad9ae15f6a9ad308ea1b6efc485a4495 Mon Sep 17 00:00:00 2001 From: huanghongfa <18228131219@163.com> Date: 星期六, 23 一月 2021 18:36:09 +0800 Subject: [PATCH] 一起议小程序 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 176 insertions(+), 4 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 0a464ad..eccf069 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 @@ -4,15 +4,13 @@ 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.ComActDiscussCommentDTO; -import com.panzhihua.common.model.dtos.community.ComActDiscussDTO; -import com.panzhihua.common.model.dtos.community.PageComActDiscussCommentDTO; -import com.panzhihua.common.model.dtos.community.PageComActDiscussDTO; +import com.panzhihua.common.model.dtos.community.*; 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.service_community.dao.*; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComActDiscussOptionService; @@ -25,6 +23,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -116,6 +115,7 @@ Long userId = comActDiscussDO.getUserId(); LoginUserInfoVO loginUserInfoVO=comActDiscussDAO.selectUserByUserId(userId); comActDiscussVO.setUserName(loginUserInfoVO.getName()); + return R.ok(comActDiscussVO); } @@ -147,6 +147,11 @@ } 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) { return R.ok(); @@ -253,11 +258,20 @@ return R.fail("评论不存在"); } Long discussId = comActDiscussCommentDO.getDiscussId(); + ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(discussId); + if (ObjectUtils.isEmpty(comActDiscussDO)) { + return R.fail("一起议不存在"); + } + Long userId = comActDiscussDO.getUserId(); + Long userId1=comActDiscussCommentDTO.getUserId(); ComActDiscussCommentDO comActDiscussCommentDO1=new ComActDiscussCommentDO(); comActDiscussCommentDO1.setDiscussId(discussId); comActDiscussCommentDO1.setComment(comActDiscussCommentDTO.getComment()); comActDiscussCommentDO1.setUserId(comActDiscussCommentDTO.getUserId()); comActDiscussCommentDO1.setParentId(id); + if (userId.equals(userId1)) { + comActDiscussCommentDO1.setIsAuthor(1); + } int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO1); if (insert>0) { return R.ok(); @@ -287,4 +301,162 @@ IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussComment(page, pageComActDiscussCommentDTO); return R.ok(iPage); } + + /** + * 一起议-分页查询 小程序 + * + * @param pageComActDiscussDTO 查询参数 + * @return ComActDiscussVO 分页 + */ + @Override + public R pageDiscussApplets(PageComActDiscussDTO pageComActDiscussDTO) { + Page page = new Page<>(); + Long pageNum = pageComActDiscussDTO.getPageNum(); + Long pageSize = pageComActDiscussDTO.getPageSize(); + if (null==pageNum||0==pageNum) { + pageNum = 1l; + } + if (null==pageSize||0==pageSize) { + pageSize = 10l; + } + page.setSize(pageSize); + page.setCurrent(pageNum); + IPage<ComActDiscussVO> iPage = comActDiscussDAO.pageDiscussApplets(page, pageComActDiscussDTO); + List<ComActDiscussVO> records = iPage.getRecords(); + if (!ObjectUtils.isEmpty(records)) { + 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<>(); + 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); + comActDiscussOptionVO.setNum(selectCount); + comActDiscussOptionVOS.add(comActDiscussOptionVO); + }); + comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS); + } + }); + } + return R.ok(iPage); + } + + /** + * 一起议-点赞、取消点赞 + * + * @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())); + } + if (num>0) { + return R.ok(); + } + return R.fail(); + } + + /** + * 一起议-评论-分页查询 小程序 + * + * @param pageComActDiscussCommentDTO 分页参数 + * @return ComActDiscussCommentVO + */ + @Override + public R pageDiscussCommentApplets(PageComActDiscussCommentDTO pageComActDiscussCommentDTO) { + Page page = new Page<>(); + Long pageNum = pageComActDiscussCommentDTO.getPageNum(); + Long pageSize = pageComActDiscussCommentDTO.getPageSize(); + if (null==pageNum||0==pageNum) { + pageNum = 1l; + } + if (null==pageSize||0==pageSize) { + pageSize = 10l; + } + page.setSize(pageSize); + page.setCurrent(pageNum); + IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussCommentApplets(page, pageComActDiscussCommentDTO); + List<ComActDiscussCommentVO> records = iPage.getRecords(); + if (!ObjectUtils.isEmpty(records)) { + records.forEach(comActDiscussCommentVO -> { + List<ComActDiscussCommentVO> comActDiscussCommentVOList=new ArrayList<>(); + Long id = comActDiscussCommentVO.getId(); + comActDiscussCommentVOList=comActDiscussCommentDAO.selectChilds(id); + if (!ObjectUtils.isEmpty(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()); + if (!ObjectUtils.isEmpty(collect)) { + String userName = collect.get(0).getUserName(); + comActDiscussCommentVO1.setUserNameBack(userName); + } + List<ComActDiscussCommentVO> collect1 = records.stream().filter(comActDiscussCommentVO2 -> comActDiscussCommentVO2.getId().equals(parentId)).collect(Collectors.toList()); + if (!ObjectUtils.isEmpty(collect1)) { + String userName = collect1.get(0).getUserName(); + comActDiscussCommentVO1.setUserNameBack(userName); + } + }); + comActDiscussCommentVO.setComActDiscussCommentVOList(comActDiscussCommentVOList); + } + }); + } + return R.ok(iPage); + } + + /** + * 一起议-详情 小程序 + * + * @param id 主键 + * @return ComActDiscussVO + */ + @Override + public R detailDiscussApplets(Long id) { + 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.setCommentNum(integer); + 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<>(); + 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); + comActDiscussOptionVO.setNum(selectCount); + comActDiscussOptionVOS.add(comActDiscussOptionVO); + }); + comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionVOS); + } + Long userId = comActDiscussDO.getUserId(); + LoginUserInfoVO loginUserInfoVO=comActDiscussDAO.selectUserByUserId(userId); + comActDiscussVO.setUserName(loginUserInfoVO.getName()); + Long communityId = comActDiscussDO.getCommunityId(); + Integer type1 = loginUserInfoVO.getType(); + if (type1.intValue()>1) { + ComActVO comActVO=comActDiscussDAO.selectCommunity(communityId); + comActDiscussVO.setUserName(comActVO.getName()); + } + return R.ok(comActDiscussVO); + } } -- Gitblit v1.7.1