CrtDramaProjectDao.xml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="com.backendsys.modules.crt.dao.CrtDramaProjectDao">
  4. <sql id="includeCrtDramaProject">
  5. p.id,
  6. p.user_id,
  7. p.project_name,
  8. COALESCE(p.crt_drama_lora_style_id, '') crt_drama_lora_style_id,
  9. COALESCE(p.crt_drama_lora_character_ids, '') crt_drama_lora_character_ids,
  10. p.create_time,
  11. p.update_time
  12. </sql>
  13. <resultMap id="resultMapCrtDramaProject" type="java.util.LinkedHashMap">
  14. <id property="id" column="id" jdbcType="BIGINT" />
  15. <result property="user_id" column="user_id" javaType="java.lang.Long" />
  16. <result property="project_name" column="project_name" />
  17. <result property="storyboard_episode_nums" column="storyboard_episode_nums" javaType="java.util.List"
  18. jdbcType="VARCHAR" typeHandler="com.backendsys.config.Mybatis.handler.StringToListTypeHandler" />
  19. <result property="crt_drama_lora_style_id" column="crt_drama_lora_style_id" javaType="java.lang.Long" />
  20. <result property="crt_drama_lora_character_ids" column="crt_drama_lora_character_ids" />
  21. <result property="create_time" column="create_time" />
  22. <result property="update_time" column="update_time" />
  23. </resultMap>
  24. <!-- 查 列表 -->
  25. <select id="selectCrtDramaProjectList" resultMap="resultMapCrtDramaProject">
  26. SELECT
  27. <include refid="includeCrtDramaProject" />,
  28. GROUP_CONCAT(ps.episode_num ORDER BY ps.episode_num) AS storyboard_episode_nums
  29. FROM crt_drama_project p
  30. LEFT JOIN crt_drama_project_storyboard ps ON p.id = ps.crt_drama_project_id
  31. <where>
  32. <if test="user_id != null and user_id != ''">
  33. AND p.user_id = #{user_id}
  34. </if>
  35. <if test="project_name != null and project_name != ''">
  36. AND p.project_name LIKE CONCAT('%', #{project_name}, '%')
  37. </if>
  38. </where>
  39. GROUP BY p.id
  40. </select>
  41. </mapper>