From 6392e2a39c07d13066a115e294a87a8cce1cb11e Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期二, 29 七月 2025 16:49:04 +0800 Subject: [PATCH] add: --- src/main/resources/mapper/film/FilmWorksMapper.xml | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 56 insertions(+), 0 deletions(-) diff --git a/src/main/resources/mapper/film/FilmWorksMapper.xml b/src/main/resources/mapper/film/FilmWorksMapper.xml index 3c4b493..f77600e 100644 --- a/src/main/resources/mapper/film/FilmWorksMapper.xml +++ b/src/main/resources/mapper/film/FilmWorksMapper.xml @@ -72,6 +72,9 @@ <if test="dto.classify != null and dto.classify != ''"> AND t.classify = #{dto.classify} </if> + <if test="dto.category != null and dto.category != ''"> + AND t.keywords LIKE CONCAT('%', #{dto.category}, '%') + </if> <if test="dto.createDateBegin != null"> <![CDATA[ AND t.create_time >= #{dto.createDateBegin} @@ -147,4 +150,57 @@ t.update_time DESC </select> + + <select id="getFilmWorksCollectList" resultType="com.mzl.flower.dto.response.film.FilmWorksVO"> + SELECT fw.*, + c.name AS nickname, + c.cover AS avatar, + COALESCE(l.like_count, 0) AS vo_like_count + FROM film_works fw + JOIN ( + SELECT DISTINCT film_id + FROM film_collects + WHERE 1=1 + AND create_by = #{dto.userId} and status = '1' + ) fc ON fw.id = fc.film_id + LEFT JOIN + t_customer_info c + ON + fw.create_by = c.user_id + LEFT JOIN ( + SELECT film_id, COUNT(*) AS like_count + FROM film_likes + WHERE status = 1 + GROUP BY film_id + ) l ON fw.id = l.film_id + WHERE fw.deleted = '0' + AND fw.`status` = 'published' + </select> + + <select id="getFilmWorksLikeList" resultType="com.mzl.flower.dto.response.film.FilmWorksVO"> + SELECT fw.*, + c.name AS nickname, + c.cover AS avatar, + COALESCE(l.like_count, 0) AS vo_like_count + FROM film_works fw + JOIN ( + SELECT DISTINCT film_id + FROM film_likes + WHERE 1=1 + AND create_by = #{dto.userId} and status = '1' + ) fc ON fw.id = fc.film_id + LEFT JOIN + t_customer_info c + ON + fw.create_by = c.user_id + LEFT JOIN ( + SELECT film_id, COUNT(*) AS like_count + FROM film_likes + WHERE status = 1 + GROUP BY film_id + ) l ON fw.id = l.film_id + WHERE fw.deleted = '0' + AND fw.`status` = 'published' + </select> + </mapper> -- Gitblit v1.9.3