package com.ruoyi.app.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.app.domain.TbAppUser; import com.ruoyi.app.domain.TbMyPublish; import com.ruoyi.app.domain.TbPublishComment; import com.ruoyi.app.domain.TbPublishThumbs; import com.ruoyi.app.service.ITbAppUserService; import com.ruoyi.app.service.ITbPublishCommentService; import com.ruoyi.app.service.ITbPublishThumbsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.app.mapper.TbMyPublishMapper; import com.ruoyi.app.service.ITbMyPublishService; import java.util.ArrayList; import java.util.List; /** * 我的近况(发表) * * @author Administrator * @date 2020-10-02 */ @Service public class TbMyPublishServiceImpl extends ServiceImpl implements ITbMyPublishService { @Autowired private ITbPublishThumbsService thumbsService; @Autowired private ITbPublishCommentService commentService; @Autowired private ITbAppUserService userService; /** * 获取点赞数 * @param publishId 近况id * @return */ @Async @Override public int getThumbs(Long publishId) { int count = thumbsService.count(new LambdaQueryWrapper() .eq(TbPublishThumbs::getPublishId, publishId) ); return count; } /** * 获取评论数 * @param publishId 近况id * @return */ @Async @Override public int getComments(Long publishId) { int count = commentService.count(new LambdaQueryWrapper() .eq(TbPublishComment::getPublishId, publishId) ); return count; } /** * 获取评论 * @param publishId * @return */ @Override public List listComment(Long publishId){ List comments = commentService.list(new LambdaQueryWrapper() .eq(TbPublishComment::getPublishId, publishId) ); if (comments.size() > 0) { List ids = new ArrayList<>(); comments.forEach(item -> { ids.add(item.getAppUserId()); }); List userList = userService.list(new LambdaQueryWrapper() .in(TbAppUser::getId,ids) ); if (userList.size() > 0) { comments.forEach(item -> { userList.forEach(user -> { if (item.getAppUserId() == user.getId()) { item.setAppUserUrl(user.getAvatar()); item.setAppUser(user.getNickName()); } }); }); } } return comments; } /** * 删除一条评论 * @param id * @return */ @Override public boolean delComment(Long id) { return commentService.removeById(id); } }