TbMyPublishServiceImpl.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package com.ruoyi.app.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.ruoyi.app.domain.TbAppUser;
  4. import com.ruoyi.app.domain.TbMyPublish;
  5. import com.ruoyi.app.domain.TbPublishComment;
  6. import com.ruoyi.app.domain.TbPublishThumbs;
  7. import com.ruoyi.app.service.ITbAppUserService;
  8. import com.ruoyi.app.service.ITbPublishCommentService;
  9. import com.ruoyi.app.service.ITbPublishThumbsService;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.scheduling.annotation.Async;
  12. import org.springframework.stereotype.Service;
  13. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  14. import com.ruoyi.app.mapper.TbMyPublishMapper;
  15. import com.ruoyi.app.service.ITbMyPublishService;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. /**
  19. * 我的近况(发表)
  20. *
  21. * @author Administrator
  22. * @date 2020-10-02
  23. */
  24. @Service
  25. public class TbMyPublishServiceImpl extends ServiceImpl<TbMyPublishMapper, TbMyPublish> implements ITbMyPublishService {
  26. @Autowired
  27. private ITbPublishThumbsService thumbsService;
  28. @Autowired
  29. private ITbPublishCommentService commentService;
  30. @Autowired
  31. private ITbAppUserService userService;
  32. /**
  33. * 获取点赞数
  34. * @param publishId 近况id
  35. * @return
  36. */
  37. @Async
  38. @Override
  39. public int getThumbs(Long publishId) {
  40. int count = thumbsService.count(new LambdaQueryWrapper<TbPublishThumbs>()
  41. .eq(TbPublishThumbs::getPublishId, publishId)
  42. );
  43. return count;
  44. }
  45. /**
  46. * 获取评论数
  47. * @param publishId 近况id
  48. * @return
  49. */
  50. @Async
  51. @Override
  52. public int getComments(Long publishId) {
  53. int count = commentService.count(new LambdaQueryWrapper<TbPublishComment>()
  54. .eq(TbPublishComment::getPublishId, publishId)
  55. );
  56. return count;
  57. }
  58. /**
  59. * 获取评论
  60. * @param publishId
  61. * @return
  62. */
  63. @Override
  64. public List<TbPublishComment> listComment(Long publishId){
  65. List<TbPublishComment> comments = commentService.list(new LambdaQueryWrapper<TbPublishComment>()
  66. .eq(TbPublishComment::getPublishId, publishId)
  67. );
  68. if (comments.size() > 0) {
  69. List<Long> ids = new ArrayList<>();
  70. comments.forEach(item -> {
  71. ids.add(item.getAppUserId());
  72. });
  73. List<TbAppUser> userList = userService.list(new LambdaQueryWrapper<TbAppUser>()
  74. .in(TbAppUser::getId,ids)
  75. );
  76. if (userList.size() > 0) {
  77. comments.forEach(item -> {
  78. userList.forEach(user -> {
  79. if (item.getAppUserId() == user.getId()) {
  80. item.setAppUserUrl(user.getAvatar());
  81. item.setAppUser(user.getNickName());
  82. }
  83. });
  84. });
  85. }
  86. }
  87. return comments;
  88. }
  89. /**
  90. * 删除一条评论
  91. * @param id
  92. * @return
  93. */
  94. @Override
  95. public boolean delComment(Long id) {
  96. return commentService.removeById(id);
  97. }
  98. }