| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | 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.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.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.service_community.dao.*; |
| | |
| | | @Resource |
| | | private ComActDiscussOptionDAO comActDiscussOptionDAO; |
| | | @Resource |
| | | private ComActDiscussCommentUserDAO comActDiscussCommentUserDAO; |
| | | @Resource |
| | | private ComActDiscussOptionService comActDiscussOptionService; |
| | | |
| | | /** |
| | |
| | | BeanUtils.copyProperties(comActDiscussDTO,comActDiscussDO); |
| | | int insert = comActDiscussDAO.insert(comActDiscussDO); |
| | | if (insert>0) { |
| | | ComActDiscussDO comActDiscussDO1 = comActDiscussDAO.selectOne(new QueryWrapper<ComActDiscussDO>().lambda().eq(ComActDiscussDO::getSubject, comActDiscussDTO.getSubject()).eq(ComActDiscussDO::getUserId, comActDiscussDTO.getUserId()).last(" order by create_at desc limit 1 ")); |
| | | 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) { |
| | |
| | | } |
| | | return R.fail(); |
| | | } |
| | | /** |
| | | * 一起议-回复 |
| | | * @param comActDiscussCommentDTO 评论内容 |
| | | * @return 回复结果 |
| | | */ |
| | | @Override |
| | | public R addDiscussComment(ComActDiscussCommentDTO comActDiscussCommentDTO) { |
| | | Long discussId = comActDiscussCommentDTO.getDiscussId(); |
| | | ComActDiscussDO comActDiscussDO = comActDiscussDAO.selectById(discussId); |
| | | if (ObjectUtils.isEmpty(comActDiscussDO)) { |
| | | return R.fail("一起议不存在"); |
| | | } |
| | | ComActDiscussCommentDO comActDiscussCommentDO=new ComActDiscussCommentDO(); |
| | | BeanUtils.copyProperties(comActDiscussCommentDTO,comActDiscussCommentDO); |
| | | int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO); |
| | | if (insert>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 一起议-分页查询 |
| | | * |
| | | * @param pageComActDiscussDTO 查询参数 |
| | | * @return ComActDiscussVO |
| | | */ |
| | | @Override |
| | | public R pageDiscuss(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.pageDiscuss(page, pageComActDiscussDTO); |
| | | return R.ok(iPage); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 一起议-评论-查看 |
| | | * |
| | | * @param id 主键 |
| | | * @return 详情 ComActDiscussCommentVO |
| | | */ |
| | | @Override |
| | | public R detailDiscusscomment(Long id) { |
| | | ComActDiscussCommentDO comActDiscussCommentDO = comActDiscussCommentDAO.selectById(id); |
| | | if (ObjectUtils.isEmpty(comActDiscussCommentDO)) { |
| | | return R.fail("评论不存在"); |
| | | } |
| | | ComActDiscussCommentVO comActDiscussCommentVO=new ComActDiscussCommentVO(); |
| | | Long parentId = comActDiscussCommentDO.getParentId(); |
| | | if (parentId.intValue()==0) { |
| | | // 一级评论 |
| | | BeanUtils.copyProperties(comActDiscussCommentDO,comActDiscussCommentVO); |
| | | }else { |
| | | ComActDiscussCommentDO comActDiscussCommentDO1 = comActDiscussCommentDAO.selectById(parentId); |
| | | 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)); |
| | | comActDiscussCommentVO.setNum(count); |
| | | LoginUserInfoVO loginUserInfoVO=comActDiscussDAO.selectUserByUserId(comActDiscussCommentDO.getUserId()); |
| | | comActDiscussCommentVO.setUserName(loginUserInfoVO.getName()); |
| | | comActDiscussCommentVO.setPhone(loginUserInfoVO.getPhone()); |
| | | return R.ok(comActDiscussCommentVO); |
| | | } |
| | | |
| | | /** |
| | | * 一起议-评论-置顶 |
| | | * |
| | | * @param id 主键 |
| | | * @return 置顶结果 |
| | | */ |
| | | @Override |
| | | public R putDiscussCommentTop(Long id) { |
| | | ComActDiscussCommentDO comActDiscussCommentDO = comActDiscussCommentDAO.selectById(id); |
| | | if (ObjectUtils.isEmpty(comActDiscussCommentDO)) { |
| | | return R.fail("评论不存在"); |
| | | } |
| | | Long parentId = comActDiscussCommentDO.getParentId(); |
| | | if (parentId.intValue()!=0) { |
| | | return R.fail("二级评论不能置顶"); |
| | | } |
| | | Long discussId = comActDiscussCommentDO.getDiscussId(); |
| | | ComActDiscussCommentDO comActDiscussCommentDO1=new ComActDiscussCommentDO(); |
| | | comActDiscussCommentDO1.setIsTopping(0); |
| | | 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) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 一起议-评论-回复 |
| | | * |
| | | * @param comActDiscussCommentDTO 回复内容 |
| | | * @return 回复结果 |
| | | */ |
| | | @Override |
| | | public R addDiscussCommentBack(ComActDiscussCommentDTO comActDiscussCommentDTO) { |
| | | Long id = comActDiscussCommentDTO.getId(); |
| | | ComActDiscussCommentDO comActDiscussCommentDO = comActDiscussCommentDAO.selectById(id); |
| | | if (ObjectUtils.isEmpty(comActDiscussCommentDO)) { |
| | | return R.fail("评论不存在"); |
| | | } |
| | | Long discussId = comActDiscussCommentDO.getDiscussId(); |
| | | ComActDiscussCommentDO comActDiscussCommentDO1=new ComActDiscussCommentDO(); |
| | | comActDiscussCommentDO1.setDiscussId(discussId); |
| | | comActDiscussCommentDO1.setComment(comActDiscussCommentDTO.getComment()); |
| | | comActDiscussCommentDO1.setUserId(comActDiscussCommentDTO.getUserId()); |
| | | comActDiscussCommentDO1.setParentId(id); |
| | | int insert = comActDiscussCommentDAO.insert(comActDiscussCommentDO1); |
| | | if (insert>0) { |
| | | return R.ok(); |
| | | } |
| | | return R.fail(); |
| | | } |
| | | |
| | | /** |
| | | * 一起议-评论-分页查询 |
| | | * |
| | | * @param pageComActDiscussCommentDTO 分页查询参数 |
| | | * @return ComActDiscussCommentVO |
| | | */ |
| | | @Override |
| | | public R pageDiscussComment(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.pageDiscussComment(page, pageComActDiscussCommentDTO); |
| | | return R.ok(iPage); |
| | | } |
| | | } |