Просмотр исходного кода

用户合集接口新增 文章ID查询(可选)

fangqing 6 месяцев назад
Родитель
Сommit
111bdc1575

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

@@ -536,7 +536,7 @@ public class CommunityArticleController extends BaseController {
      */
     @ApiOperation("用户合集")
     @GetMapping("/userCollection")
-    public AjaxResult createCollection(Long userId) {
+    public AjaxResult createCollection(Long userId,Long articleId) {
         if (Objects.isNull(userId)) {
             return AjaxResult.error("参数异常!");
         }
@@ -547,7 +547,7 @@ public class CommunityArticleController extends BaseController {
 //                .or()
 //                .isNull("is_delete"));
 
-        List<CommunityCollectionVo> communityCollectionVos = communityCollectionService.selectUserCollection(userId);
+        List<CommunityCollectionVo> communityCollectionVos = communityCollectionService.selectUserCollection(userId,articleId);
 
         return AjaxResult.success(communityCollectionVos);
     }

+ 2 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/community/CommunityCollectionMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.generator.domain.Community.CommunityCollection;
 import com.ruoyi.generator.vo.CommunityCollectionVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -14,5 +15,5 @@ public interface CommunityCollectionMapper extends BaseMapper<CommunityCollectio
      * @param userId 用户id
      * @return 用户合集信息
      */
-    List<CommunityCollectionVo> selectUserCollection(Long userId);
+    List<CommunityCollectionVo> selectUserCollection(@Param("userId") Long userId, @Param("articleId")  Long articleId);
 }

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

@@ -164,8 +164,8 @@ public class CommunityCollectionServiceImpl extends ServiceImpl<CommunityCollect
     }
 
     @Override
-    public List<CommunityCollectionVo> selectUserCollection(Long userId) {
-        return communityCollectionMapper.selectUserCollection(userId);
+    public List<CommunityCollectionVo> selectUserCollection(Long userId,Long articleId) {
+        return communityCollectionMapper.selectUserCollection(userId,articleId);
     }
 
 

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

@@ -41,5 +41,5 @@ public interface ICommunityCollectionService extends IService<CommunityCollectio
      * @param userId 用户id
      * @return 用户合集信息
      */
-    List<CommunityCollectionVo> selectUserCollection(Long userId);
+    List<CommunityCollectionVo> selectUserCollection(Long userId,Long articleId);
 }

+ 27 - 31
ruoyi-generator/src/main/resources/mapper/community/CommunityCollectionMapper.xml

@@ -5,38 +5,34 @@
 <mapper namespace="com.ruoyi.generator.mapper.community.CommunityCollectionMapper">
     <select id="selectUserCollection" resultType="com.ruoyi.generator.vo.CommunityCollectionVo">
         SELECT a.id,
-               a.user_id,
-               a.collection_name,
-               a.collection_profile,
-               a.images,
-               a.is_delete,
-               COUNT(b.article_id) AS articleCount, -- 计算文章数量
-               SUM(c.page_views)   AS pageViews,    -- 计算页面浏览总数
-               a.create_by,
-               a.update_by,
-               a.create_time,
-               a.update_time
+        a.user_id,
+        a.collection_name,
+        a.collection_profile,
+        a.images,
+        a.is_delete,
+        COUNT(b.article_id) AS articleCount,
+        SUM(c.page_views) AS pageViews,
+        a.create_by,
+        a.update_by,
+        a.create_time,
+        a.update_time
         FROM community_collection a
-                 LEFT JOIN
-             community_collection_article b
-             ON
-                 a.id = b.collection_id
-                 LEFT JOIN
-             community_article c
-             ON
-                 b.article_id = c.id
+        LEFT JOIN community_collection_article b ON a.id = b.collection_id
+        LEFT JOIN community_article c ON b.article_id = c.id
         WHERE a.user_id = #{userId}
-          AND (a.is_delete != '1' OR a.is_delete IS NULL)
+        AND (a.is_delete != '1' OR a.is_delete IS NULL)
+        <if test="articleId != null and articleId != ''">
+            AND b.article_id = #{articleId}
+        </if>
         GROUP BY a.id,
-                 a.user_id,
-                 a.collection_name,
-                 a.collection_profile,
-                 a.images,
-                 a.is_delete,
-                 a.create_by,
-                 a.update_by,
-                 a.create_time,
-                 a.update_time;
-
+        a.user_id,
+        a.collection_name,
+        a.collection_profile,
+        a.images,
+        a.is_delete,
+        a.create_by,
+        a.update_by,
+        a.create_time,
+        a.update_time;
     </select>
-</mapper>
+</mapper>