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.*;
|
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;
|
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
|
* @description: 一起议
|
* @author: huang.hongfa weixin hhf9596 qq 959656820
|
* @create: 2021-01-22 14:51
|
**/
|
@Service
|
public class ComActDiscussServiceImpl implements ComActDiscussService {
|
@Resource
|
private ComActDiscussCommentDAO comActDiscussCommentDAO;
|
@Resource
|
private ComActDiscussDAO comActDiscussDAO;
|
@Resource
|
private ComActDiscussOptionUserDAO comActDiscussOptionUserDAO;
|
@Resource
|
private ComActDiscussUserDAO comActDiscussUserDAO;
|
@Resource
|
private ComActDiscussOptionDAO comActDiscussOptionDAO;
|
@Resource
|
private ComActDiscussCommentUserDAO comActDiscussCommentUserDAO;
|
@Resource
|
private ComActDiscussOptionService comActDiscussOptionService;
|
|
/**
|
* 一起议-新增
|
*
|
* @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());
|
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 "));
|
Long comActDiscussDO1Id = comActDiscussDO1.getId();
|
Integer type = comActDiscussDTO.getType();
|
if (type.intValue()==2) {
|
List<String> discussOptions = comActDiscussDTO.getDiscussOptions();
|
List<ComActDiscussOptionDO> comActDiscussOptionDOS=new ArrayList<>();
|
discussOptions.forEach(s -> {
|
ComActDiscussOptionDO comActDiscussOptionDO=new ComActDiscussOptionDO();
|
comActDiscussOptionDO.setDiscussId(comActDiscussDO1Id);
|
comActDiscussOptionDO.setOptionContent(s);
|
comActDiscussOptionDOS.add(comActDiscussOptionDO);
|
});
|
comActDiscussOptionService.saveBatch(comActDiscussOptionDOS);
|
}
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 一起议-详情
|
*
|
* @param id 主键
|
* @return ComActDiscussVO
|
*/
|
@Override
|
public R detailDiscuss(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());
|
|
return R.ok(comActDiscussVO);
|
}
|
|
/**
|
* 一起议-删除
|
*
|
* @param id 主键
|
* @return 删除结果
|
*/
|
@Override
|
public R deleteDiscuss(Long id) {
|
int delete = comActDiscussDAO.deleteById(id);
|
if (delete>0) {
|
return R.ok();
|
}
|
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);
|
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();
|
}
|
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();
|
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();
|
}
|
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);
|
}
|
|
/**
|
* 一起议-分页查询 小程序
|
*
|
* @param pageComActDiscussDTO 查询参数
|
* @return ComActDiscussVO 分页
|
*/
|
@Override
|
public R pageDiscussApplets(PageComActDiscussDTO pageComActDiscussDTO) {
|
Page page = new Page<>();
|
Long pageNum = pageComActDiscussDTO.getPageNum();
|
Long pageSize = pageComActDiscussDTO.getPageSize();
|
Long loginUserId = pageComActDiscussDTO.getLoginUserId();
|
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);
|
}
|
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);
|
}
|
|
/**
|
* 一起议-点赞、取消点赞
|
*
|
* @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)) {
|
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);
|
}
|
});
|
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);
|
}
|
|
});
|
}
|
return R.ok(iPage);
|
}
|
|
/**
|
* 一起议-详情 小程序
|
*
|
* @param id 主键
|
* @param loginUserId 登录用户主键
|
* @return ComActDiscussVO
|
*/
|
@Override
|
public R detailDiscussApplets(Long id, Long loginUserId) {
|
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());
|
comActDiscussVO.setImageUrl(loginUserInfoVO.getImageUrl());
|
comActDiscussVO.setUserNickName(loginUserInfoVO.getNickName());
|
Long communityId = comActDiscussDO.getCommunityId();
|
Integer type1 = loginUserInfoVO.getType();
|
if (type1.intValue()>1) {
|
ComActVO comActVO=comActDiscussDAO.selectCommunity(communityId);
|
comActDiscussVO.setUserName(comActVO.getName());
|
}
|
ComActDiscussVO comActDiscussVO1=comActDiscussDAO.selectHaveSignAndHaveVote(id,loginUserId);
|
comActDiscussVO.setHaveSign(comActDiscussVO1.getHaveSign());
|
comActDiscussVO.setHaveVote(comActDiscussVO1.getHaveVote());
|
return R.ok(comActDiscussVO);
|
}
|
|
/**
|
* 一起议-投票
|
*
|
* @param comActDiscussOptionUserDTO 投票信息
|
* @return 投票结果
|
*/
|
@Override
|
public R addDiscussOptionUser(ComActDiscussOptionUserDTO comActDiscussOptionUserDTO) {
|
Long discussOptionId = comActDiscussOptionUserDTO.getDiscussOptionId();
|
Long userId = comActDiscussOptionUserDTO.getUserId();
|
ComActDiscussOptionDO comActDiscussOptionDO = comActDiscussOptionDAO.selectById(discussOptionId);
|
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) {
|
return R.fail("不要重复投票");
|
}
|
ComActDiscussOptionUserDO comActDiscussOptionUserDO=new ComActDiscussOptionUserDO();
|
comActDiscussOptionUserDO.setUserId(userId);
|
comActDiscussOptionUserDO.setDiscussOptionId(discussOptionId);
|
int insert = comActDiscussOptionUserDAO.insert(comActDiscussOptionUserDO);
|
if (insert>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
|
/**
|
* 一起议-评论-点赞、取消点赞
|
*
|
* @param comActDiscussCommentUserDTO 评论点赞
|
* @return 点赞结果
|
*/
|
@Override
|
public R putDiscussCommentUser(ComActDiscussCommentUserDTO comActDiscussCommentUserDTO) {
|
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();
|
comActDiscussCommentUserDO.setUserId(comActDiscussCommentUserDTO.getUserId());
|
comActDiscussCommentUserDO.setDisscussCommentId(comActDiscussCommentUserDTO.getId());
|
num=comActDiscussCommentUserDAO.insert(comActDiscussCommentUserDO);
|
} else {
|
num=comActDiscussCommentUserDAO.delete(new QueryWrapper<ComActDiscussCommentUserDO>().lambda().eq(ComActDiscussCommentUserDO::getUserId,comActDiscussCommentUserDTO.getUserId()).eq(ComActDiscussCommentUserDO::getDisscussCommentId,comActDiscussCommentUserDTO.getId()));
|
}
|
if (num>0) {
|
return R.ok();
|
}
|
return R.fail();
|
}
|
}
|