cloudroam
2025-05-29 5c1cfe6ee772adf43c2771f2ecff830b8be44608
src/main/resources/mapper/film/FilmWorksMapper.xml
@@ -1,33 +1,44 @@
<?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.mzl.flower.mapper.filmwork.FilmWorksMapper">
<mapper namespace="com.mzl.flower.mapper.film.FilmWorksMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.mzl.flower.entity.film.FilmWorks">
        <id column="id" property="id" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="name_cn" property="nameCn" />
        <result column="name_en" property="nameEn" />
        <result column="type" property="type" />
        <result column="release_year" property="releaseYear" />
        <result column="director" property="director" />
        <result column="producer" property="producer" />
        <result column="actors" property="actors" />
        <result column="keywords" property="keywords" />
        <result column="synopsis" property="synopsis" />
        <result column="cover_url" property="coverUrl" />
        <result column="cover_alt" property="coverAlt" />
        <result column="user_type" property="userType" />
        <result column="sticky_weight" property="stickyWeight" />
        <result column="status" property="status" />
        <result column="deleted" property="deleted" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="collect_count" property="collectCount" />
        <result column="like_count" property="likeCount" />
        <result column="comment_count" property="commentCount" />
        <result column="share_count" property="shareCount" />
    </resultMap>
    <select id="queryPage" resultType="com.mzl.flower.dto.response.film.FilmWorksVO">
        SELECT
        t.*,
        c.name AS  nickname,
        c.cover AS  avatar
        FROM
        film_works t
        LEFT JOIN
        t_customer_info c
        ON
        t.create_by = c.user_id
        WHERE
        t.deleted = 0
        <if test="dto.nameCn != null and dto.nameCn != ''">
            AND t.name_cn LIKE CONCAT('%', #{dto.nameCn}, '%')
        </if>
        <if test="dto.status != null and dto.status != ''">
            AND t.status = #{dto.status}
        </if>
        <if test="dto.type != null and dto.type != ''">
            AND t.type = #{dto.type}
        </if>
        <if test="dto.classify != null and dto.classify != ''">
            AND t.classify = #{dto.classify}
        </if>
        <if test="dto.createDateBegin != null">
            <![CDATA[
               AND t.create_time >= #{dto.createDateBegin}
            ]]>
        </if>
        <if test="dto.createDateEnd != null">
            <![CDATA[
               AND t.create_time <= #{dto.createDateEnd}
            ]]>
        </if>
        ORDER BY
        t.update_time DESC
    </select>
</mapper>