Sfoglia il codice sorgente

1.新增用户赞与收藏
2.更新赞,收藏,评价和关注为已读

fangzhen 4 mesi fa
parent
commit
5748695847
19 ha cambiato i file con 352 aggiunte e 12 eliminazioni
  1. 16 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityArticleController.java
  2. 93 11
      ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityCommentController.java
  3. 5 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityArticleCollect.java
  4. 5 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityArticleRecommend.java
  5. 5 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityCommentLike.java
  6. 5 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityUserLike.java
  7. 9 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/community/CommunityArticleCollectMapper.java
  8. 5 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/community/CommunityUserLikeMapper.java
  9. 11 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityArticleCollectServiceImpl.java
  10. 2 1
      ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityArticleServiceImpl.java
  11. 11 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityCommentLikeServiceImpl.java
  12. 11 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityUserLikeServiceImpl.java
  13. 8 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityArticleCollectService.java
  14. 8 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityCommentLikeService.java
  15. 8 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityUserLikeService.java
  16. 24 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/vo/LikeVo.java
  17. 28 0
      ruoyi-generator/src/main/java/com/ruoyi/generator/vo/RecommendAndCollectVo.java
  18. 82 0
      ruoyi-generator/src/main/resources/mapper/community/CommunityArticleCollectMapper.xml
  19. 16 0
      ruoyi-generator/src/main/resources/mapper/community/CommunityUserLikeMapper.xml

+ 16 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityArticleController.java

@@ -104,6 +104,22 @@ public class CommunityArticleController extends BaseController {
     @Autowired
     @Autowired
     private ISysUserService userService;
     private ISysUserService userService;
 
 
+    private static final String CACHE_PREFIX = "article:list:"; // 缓存前缀
+    private static final long CACHE_EXPIRE_TIME = 30; // 缓存过期时间(分钟)
+
+    /**
+     * 生成唯一的缓存键(基于请求参数)
+     */
+    public String generateCacheKey(Long userId,
+                                   CommunityArticle article,
+                                   int pageNum,
+                                   int pageSize,
+                                   int searchType) {
+        // 将参数拼接为唯一键(例如:article:list:userId=1:page=1:searchType=1)
+        return String.format("%suserId=%d:page=%d:size=%d:searchType=%d",
+                CACHE_PREFIX, userId, pageNum, pageSize, searchType);
+    }
+
     /**
     /**
      * 获取文章列表信息
      * 获取文章列表信息
      */
      */

+ 93 - 11
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityCommentController.java

@@ -11,17 +11,9 @@ import com.ruoyi.common.core.text.Convert;
 import com.ruoyi.common.exception.user.ProjectException;
 import com.ruoyi.common.exception.user.ProjectException;
 import com.ruoyi.common.utils.*;
 import com.ruoyi.common.utils.*;
 import com.ruoyi.common.utils.ip.AddressUtils;
 import com.ruoyi.common.utils.ip.AddressUtils;
-import com.ruoyi.generator.domain.Community.CommunityArticle;
-import com.ruoyi.generator.domain.Community.CommunityArticleComment;
-import com.ruoyi.generator.domain.Community.CommunityCommentLike;
-import com.ruoyi.generator.domain.Community.CommunityCommentReply;
-import com.ruoyi.generator.mapper.community.CommunityArticleCommentMapper;
-import com.ruoyi.generator.mapper.community.CommunityArticleMapper;
-import com.ruoyi.generator.mapper.community.CommunityCommentLikeMapper;
-import com.ruoyi.generator.mapper.community.CommunityCommentReplyMapper;
-import com.ruoyi.generator.service.ICommunityArticleCommentService;
-import com.ruoyi.generator.service.ICommunityArticleService;
-import com.ruoyi.generator.service.ICommunityCommentReplyService;
+import com.ruoyi.generator.domain.Community.*;
+import com.ruoyi.generator.mapper.community.*;
+import com.ruoyi.generator.service.*;
 import com.ruoyi.generator.vo.CommunityArticleCommentVo;
 import com.ruoyi.generator.vo.CommunityArticleCommentVo;
 import com.ruoyi.generator.vo.CommunityCommentRaffleVo;
 import com.ruoyi.generator.vo.CommunityCommentRaffleVo;
 import com.ruoyi.generator.vo.CommunityCommentReplyVo;
 import com.ruoyi.generator.vo.CommunityCommentReplyVo;
@@ -35,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import javax.annotation.Resource;
 import java.text.ParseException;
 import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
@@ -82,6 +75,27 @@ public class CommunityCommentController extends BaseController {
     @Autowired
     @Autowired
     private CommunityCommentReplyMapper communityCommentReplyMapper;
     private CommunityCommentReplyMapper communityCommentReplyMapper;
 
 
+    @Autowired
+    private CommunityArticleCollectMapper communityArticleCollectMapper;
+
+    @Autowired
+    private CommunityArticleCollectServiceImpl articleCollectService;
+
+    @Autowired
+    private CommunityArticleRecommendMapper communityArticleRecommendMapper;
+
+    @Autowired
+    private CommunityArticleRecommendServiceImpl communityArticleRecommendServiceImpl;
+
+    @Resource
+    private CommunityCommentLikeServiceImpl commentLikeService;
+
+    @Resource
+    private CommunityUserLikeServiceImpl userLikeService;
+
+    @Autowired
+    private CommunityUserLikeMapper communityUserLikeMapper;
+
     /**
     /**
      * 获取文章评论
      * 获取文章评论
      */
      */
@@ -463,4 +477,72 @@ public class CommunityCommentController extends BaseController {
         Long userId = SecurityUtils.getUserId();
         Long userId = SecurityUtils.getUserId();
         return success(communityArticleCommentService.getCommentInfoByUserId(userId));
         return success(communityArticleCommentService.getCommentInfoByUserId(userId));
     }
     }
+
+    /**
+     * 获取当前登录用户被推荐和收藏的信息
+     *
+     * @return 推荐和收藏
+     */
+    @GetMapping("/getLikeAndCollect")
+    @ApiOperation("获取当前登录用户被推荐和收藏的信息")
+    public AjaxResult getLikeAndCollect() {
+        Long userId = SecurityUtils.getUserId();
+        return success(communityArticleCollectMapper.selectRecommendAndCollectByUserId(userId));
+    }
+
+    /**
+     * 获取当前登录用户新增关注列表
+     *
+     * @return 获取当前登录用户新增关注列表
+     */
+    @GetMapping("/getLikeList")
+    @ApiOperation("获取当前登录用户新增关注列表")
+    public AjaxResult getLikeList() {
+        Long userId = SecurityUtils.getUserId();
+        return success(communityUserLikeMapper.selectLikeByUserId(userId));
+    }
+
+    /**
+     * 用户点击通知后,更新通知消息已读
+     *
+     * @return 更新结果
+     */
+    @PutMapping("/updateMsgRead")
+    @ApiOperation("用户点击通知后,更新通知消息已读")
+    public AjaxResult updateMsgRead(String type, String id) {
+        switch (type) {
+            case "0":
+                //文章推荐
+                communityArticleRecommendServiceImpl.update(new UpdateWrapper<CommunityArticleRecommend>()
+                        .set("is_read", true)
+                        .eq("id", id));
+                break;
+            case "1":
+                //文章收藏
+                articleCollectService.update(new UpdateWrapper<CommunityArticleCollect>()
+                        .set("is_read", true)
+                        .eq("id", id));
+                break;
+            case "2":
+                //评论点赞
+                commentLikeService.update(new UpdateWrapper<CommunityCommentLike>()
+                        .set("is_read", true)
+                        .eq("id", id));
+                break;
+            case "3":
+                //回复点赞
+                communityCommentReplyService.update(new UpdateWrapper<CommunityCommentReply>()
+                        .set("is_read", true)
+                        .eq("id", id));
+                break;
+            case "4":
+                //新增关注已读
+                userLikeService.update(new UpdateWrapper<CommunityUserLike>()
+                        .set("is_read", true)
+                        .eq("id", id));
+                break;
+        }
+        return success();
+    }
+
 }
 }

+ 5 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityArticleCollect.java

@@ -43,6 +43,11 @@ public class CommunityArticleCollect implements Serializable {
     */
     */
     @ApiModelProperty("用户id")
     @ApiModelProperty("用户id")
     private Long userId;
     private Long userId;
+    /**
+     * 是否已读
+     */
+    @ApiModelProperty("是否已读")
+    private boolean isRead;
 
 
     /** 创建者 */
     /** 创建者 */
     @ApiModelProperty("创建者")
     @ApiModelProperty("创建者")

+ 5 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityArticleRecommend.java

@@ -63,4 +63,9 @@ public class CommunityArticleRecommend implements Serializable {
     */
     */
     @ApiModelProperty("是否删除")
     @ApiModelProperty("是否删除")
     private boolean isDelete;
     private boolean isDelete;
+    /**
+     * 是否已读
+     */
+    @ApiModelProperty("是否已读")
+    private boolean isRead;
 }
 }

+ 5 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityCommentLike.java

@@ -52,6 +52,11 @@ public class CommunityCommentLike implements Serializable {
     @ApiModelProperty("是否是回复")
     @ApiModelProperty("是否是回复")
     @TableField(exist = false)
     @TableField(exist = false)
     private boolean isReply;
     private boolean isReply;
+    /**
+     * 是否已读
+     */
+    @ApiModelProperty("是否已读")
+    private boolean isRead;
     /**
     /**
     * 创建人
     * 创建人
     */
     */

+ 5 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/domain/Community/CommunityUserLike.java

@@ -38,6 +38,11 @@ public class CommunityUserLike implements Serializable {
     */
     */
     @ApiModelProperty("被关注人id")
     @ApiModelProperty("被关注人id")
     private Long likeUserId;
     private Long likeUserId;
+    /**
+     * 是否已读
+     */
+    @ApiModelProperty("是否已读")
+    private boolean isRead;
     /**
     /**
     * 创建人
     * 创建人
     */
     */

+ 9 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/community/CommunityArticleCollectMapper.java

@@ -2,8 +2,17 @@ package com.ruoyi.generator.mapper.community;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.generator.domain.Community.CommunityArticleCollect;
 import com.ruoyi.generator.domain.Community.CommunityArticleCollect;
+import com.ruoyi.generator.vo.RecommendAndCollectVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 @Mapper
 @Mapper
 public interface CommunityArticleCollectMapper extends BaseMapper<CommunityArticleCollect> {
 public interface CommunityArticleCollectMapper extends BaseMapper<CommunityArticleCollect> {
+    /**
+     * 获取登录用户文章推荐和收藏
+     * @param userId 用户id
+     */
+    List<RecommendAndCollectVo> selectRecommendAndCollectByUserId(@Param("userId") Long userId);
 }
 }

+ 5 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/community/CommunityUserLikeMapper.java

@@ -2,8 +2,13 @@ package com.ruoyi.generator.mapper.community;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.generator.domain.Community.CommunityUserLike;
 import com.ruoyi.generator.domain.Community.CommunityUserLike;
+import com.ruoyi.generator.vo.LikeVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 @Mapper
 @Mapper
 public interface CommunityUserLikeMapper extends BaseMapper<CommunityUserLike> {
 public interface CommunityUserLikeMapper extends BaseMapper<CommunityUserLike> {
+    List<LikeVo> selectLikeByUserId(@Param("userId") Long userId);
 }
 }

+ 11 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityArticleCollectServiceImpl.java

@@ -0,0 +1,11 @@
+package com.ruoyi.generator.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.generator.domain.Community.CommunityArticleCollect;
+import com.ruoyi.generator.mapper.community.CommunityArticleCollectMapper;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CommunityArticleCollectServiceImpl extends ServiceImpl<CommunityArticleCollectMapper, CommunityArticleCollect> implements ICommunityArticleCollectService {
+
+}

+ 2 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityArticleServiceImpl.java

@@ -143,7 +143,7 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
         if (pageTagType != null && pageTagType == 1) {
         if (pageTagType != null && pageTagType == 1) {
             List<CommunityUserLikeVo> communityUserLikeVos = selectCommunityUserLikeList(SecurityUtils.getUserId(), null, 1, 999999, 1);
             List<CommunityUserLikeVo> communityUserLikeVos = selectCommunityUserLikeList(SecurityUtils.getUserId(), null, 1, 999999, 1);
             if (communityUserLikeVos.isEmpty()) {
             if (communityUserLikeVos.isEmpty()) {
-                return communityArticleVos;
+                return null;
             }
             }
             List<Long> likeUserIds = communityUserLikeVos.stream().map(CommunityUserLikeVo::getLikeUserId).collect(Collectors.toList());
             List<Long> likeUserIds = communityUserLikeVos.stream().map(CommunityUserLikeVo::getLikeUserId).collect(Collectors.toList());
             communityArticle.setUserIds(likeUserIds);
             communityArticle.setUserIds(likeUserIds);
@@ -804,6 +804,7 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
             communityUserLike = new CommunityUserLike();
             communityUserLike = new CommunityUserLike();
             communityUserLike.setUserId(userId);
             communityUserLike.setUserId(userId);
             communityUserLike.setLikeUserId(likeUserId);
             communityUserLike.setLikeUserId(likeUserId);
+            communityUserLike.setRead(false);
             communityUserLike.setCreateBy(userId);
             communityUserLike.setCreateBy(userId);
             communityUserLike.setCreateTime(DateUtils.parseDate(DateUtils.getTime()));
             communityUserLike.setCreateTime(DateUtils.parseDate(DateUtils.getTime()));
             communityUserLikeMapper.insert(communityUserLike);
             communityUserLikeMapper.insert(communityUserLike);

+ 11 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityCommentLikeServiceImpl.java

@@ -0,0 +1,11 @@
+package com.ruoyi.generator.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.generator.domain.Community.CommunityCommentLike;
+import com.ruoyi.generator.mapper.community.CommunityCommentLikeMapper;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CommunityCommentLikeServiceImpl extends ServiceImpl<CommunityCommentLikeMapper, CommunityCommentLike> implements ICommunityCommentLikeService {
+
+}

+ 11 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityUserLikeServiceImpl.java

@@ -0,0 +1,11 @@
+package com.ruoyi.generator.service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.generator.domain.Community.CommunityUserLike;
+import com.ruoyi.generator.mapper.community.CommunityUserLikeMapper;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CommunityUserLikeServiceImpl extends ServiceImpl<CommunityUserLikeMapper, CommunityUserLike> implements ICommunityUserLikeService {
+
+}

+ 8 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityArticleCollectService.java

@@ -0,0 +1,8 @@
+package com.ruoyi.generator.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.generator.domain.Community.CommunityArticleCollect;
+
+public interface ICommunityArticleCollectService extends IService<CommunityArticleCollect> {
+
+}

+ 8 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityCommentLikeService.java

@@ -0,0 +1,8 @@
+package com.ruoyi.generator.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.generator.domain.Community.CommunityCommentLike;
+
+public interface ICommunityCommentLikeService extends IService<CommunityCommentLike> {
+
+}

+ 8 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityUserLikeService.java

@@ -0,0 +1,8 @@
+package com.ruoyi.generator.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.generator.domain.Community.CommunityUserLike;
+
+public interface ICommunityUserLikeService extends IService<CommunityUserLike> {
+
+}

+ 24 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/LikeVo.java

@@ -0,0 +1,24 @@
+package com.ruoyi.generator.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 当前登录用户文章下的新增关注
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class LikeVo {
+    private Long id;
+    private String avatar;
+    private String nickName;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    private String type;
+    private boolean isRead;
+}

+ 28 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/RecommendAndCollectVo.java

@@ -0,0 +1,28 @@
+package com.ruoyi.generator.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 当前登录用户的推荐和收藏信息提醒
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class RecommendAndCollectVo {
+    private Long id;
+    private int type;
+    private Long articleId;
+    private Long thirdId;
+    private String avatar;
+    private String nickName;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    private String imageUrl;
+    private String content;
+    private boolean isRead;
+}

+ 82 - 0
ruoyi-generator/src/main/resources/mapper/community/CommunityArticleCollectMapper.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.generator.mapper.community.CommunityArticleCollectMapper">
+    <select id="selectRecommendAndCollectByUserId" parameterType="java.lang.Long" resultType="com.ruoyi.generator.vo.RecommendAndCollectVo">
+        select *
+        from (select car.id,
+                     car.article_id,
+                     ca.id                                                                 as third_id,
+                     car.create_time,
+                     (select su.nick_name from sys_user su where su.user_id = car.user_id) as nick_name,
+                     (select su.avatar from sys_user su where su.user_id = car.user_id)    as avatar,
+                     (select cai.image_url
+                      from community_article_images cai
+                      where cai.article_id = car.article_id
+                      limit 1)                                                             as image_url,
+                     ''                                                                    as content,
+                     car.is_read,
+                     '0'                                                                   as type
+              from community_article_recommend car
+                       left join community_article ca on car.article_id = ca.id
+              where ca.user_id = #{userId}
+              union all
+              select cac.id,
+                     cac.article_id,
+                     ca.id                                                                 as third_id,
+                     cac.create_time,
+                     (select su.nick_name from sys_user su where su.user_id = cac.user_id) as nick_name,
+                     (select su.avatar from sys_user su where su.user_id = cac.user_id)    as avatar,
+                     (select cai.image_url
+                      from community_article_images cai
+                      where cai.article_id = cac.article_id
+                      limit 1)                                                             as image_url,
+                     ''                                                                    as content,
+                     cac.is_read,
+                     '1'                                                                   as type
+              from community_article_collect cac
+                       left join community_article ca on cac.article_id = ca.id
+              where ca.user_id = #{userId}
+              union all
+              select ccl.id,
+                     cac.article_id                                                        as article_id,
+                     cac.id                                                                as third_id,
+                     ccl.create_time,
+                     (select su.nick_name from sys_user su where su.user_id = ccl.user_id) as nick_name,
+                     (select su.avatar from sys_user su where su.user_id = ccl.user_id)    as avatar,
+                     (select cai.image_url
+                      from community_article_comment cai
+                      where cai.article_id = ccl.comment_id
+                      limit 1)                                                             as image_url,
+                     (select cac.content
+                      from community_article_comment cac
+                      where cac.id = ccl.comment_id)                                       as content,
+                     ccl.is_read,
+                     '2'                                                                   as type
+              from community_comment_like ccl
+                       left join community_article_comment cac on ccl.comment_id = cac.id
+              where cac.user_id = #{userId}
+              union all
+              select ccl.id,
+                     cac.article_id                                                        as article_id,
+                     ccr.id                                                                as third_id,
+                     ccl.create_time,
+                     (select su.nick_name from sys_user su where su.user_id = ccl.user_id) as nick_name,
+                     (select su.avatar from sys_user su where su.user_id = ccl.user_id)    as avatar,
+                     (select cai.image_url
+                      from community_article_comment cai
+                      where cai.article_id = ccl.comment_id
+                      limit 1)                                                             as image_url,
+                     (select ccr.content
+                      from community_comment_reply ccr
+                      where ccr.id = ccl.reply_id)                                         as content,
+                     ccl.is_read,
+                     '3'                                                                   as type
+              from community_comment_like ccl
+                       left join community_comment_reply ccr on ccl.reply_id = ccr.id
+                       left join community_article_comment cac on ccr.id = ccr.comment_id
+              where ccr.user_id = #{userId}) result
+        order by result.create_time desc
+    </select>
+</mapper>

+ 16 - 0
ruoyi-generator/src/main/resources/mapper/community/CommunityUserLikeMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.generator.mapper.community.CommunityUserLikeMapper">
+    <select id="selectLikeByUserId" resultType="com.ruoyi.generator.vo.LikeVo">
+        select cul.id,
+               cul.create_time,
+               (select nick_name from sys_user su where su.user_id = cul.user_id) as nick_name,
+               (select avatar from sys_user su where su.user_id = cul.user_id)    as avatar,
+               cul.is_read,
+               '4' as type
+        from community_user_like cul
+        where cul.like_user_id = #{userId}
+    </select>
+</mapper>