1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?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.CommunityCollectionMapper">
- <select id="selectUserCollection" resultType="com.ruoyi.generator.vo.CommunityCollectionVo">
- select id,user_id,collection_name,collection_profile,images,is_delete,articleCount,pageViews,create_by,update_by,create_time,update_time,isFollow from (
- 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,
- '0' as isFollow
- 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
- WHERE a.user_id = #{userId}
- 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
- union all
- 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,
- '1' as isFollow
- 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_user d ON d.collection_id = a.id
- WHERE d.user_id = #{userId} AND d.id is not 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
- <if test="searchType == 1">
- order by a.create_time desc
- </if>
- <if test="searchType == 2">
- order by a.page_views desc
- </if>
- limit #{offset},#{limit}
- </select>
- <select id="selectCollectById" resultType="com.ruoyi.generator.vo.CommunityCollectionVo">
- select a.id,a.collection_name,a.collection_profile,a.images
- from `ruoyi-community`.community_collection a
- left join `ruoyi-community`.community_collection_article b on a.id = b.collection_id
- where b.article_id = #{articleId} and (b.is_delete is null or b.is_delete != '1')
- </select>
- </mapper>
|