CourseScheduleStudentMusicSheetDao.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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.yonge.cooleshow.biz.dal.dao.CourseScheduleStudentMusicSheetDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.CourseScheduleStudentMusicSheet">
  5. <id column="id_" jdbcType="INTEGER" property="id"/>
  6. <result column="course_schedule_id_" jdbcType="INTEGER" property="courseScheduleId"/>
  7. <result column="user_id_" jdbcType="INTEGER" property="userId"/>
  8. <result column="down_status_" jdbcType="INTEGER" property="downStatus"/>
  9. <result column="music_sheet_accompaniment_id_" jdbcType="INTEGER" property="musicSheetAccompanimentId"/>
  10. <result column="play_status_" jdbcType="INTEGER" property="playStatus"/>
  11. <result column="accompaniment_play_status_" jdbcType="INTEGER" property="accompanimentPlayStatus"/>
  12. <result column="user_type_" jdbcType="INTEGER" property="userType"/>
  13. <result column="speed_" jdbcType="INTEGER" property="speed"/>
  14. <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
  15. <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
  16. </resultMap>
  17. <sql id="Base_Column_List">
  18. id_
  19. , course_schedule_id_, user_id_, down_status_, music_sheet_accompaniment_id_, play_status_,
  20. accompaniment_play_status_, user_type_, speed_, create_time_, update_time_
  21. </sql>
  22. <insert id="batchInsert">
  23. INSERT INTO course_schedule_student_music_sheet (course_schedule_id_,user_id_,user_type_,down_status_,
  24. music_sheet_accompaniment_id_,play_status_,accompaniment_play_status_,
  25. speed_,create_time_,update_time_)
  26. VALUE
  27. <foreach collection="musicSheet" item="item" separator=",">
  28. (#{item.courseScheduleId},#{item.userId},#{item.userType},#{item.downStatus},#{item.musicSheetAccompanimentId},
  29. #{item.playStatus},#{item.accompanimentPlayStatus},#{item.speed},now(),now())
  30. </foreach>
  31. </insert>
  32. <update id="closePlayStatus">
  33. UPDATE course_schedule_student_music_sheet SET play_status_ = 0,accompaniment_play_status_ = 0,update_time_ = NOW()
  34. WHERE course_schedule_id_ = #{courseId}
  35. <if test="userId != null">
  36. AND user_id_ = #{userId}
  37. </if>
  38. </update>
  39. <update id="openPlayStatus">
  40. UPDATE course_schedule_student_music_sheet SET play_status_ = 1,update_time_ = NOW()
  41. WHERE course_schedule_id_ = #{scheduleId}
  42. AND music_sheet_accompaniment_id_ = #{musicSheetAccompanimentId}
  43. <if test="userId != null">
  44. AND user_id_ = #{userId}
  45. </if>
  46. </update>
  47. <update id="openAccompanimentPlayStatus">
  48. UPDATE course_schedule_student_music_sheet SET accompaniment_play_status_ = 1,update_time_ = NOW()
  49. WHERE course_schedule_id_ = #{scheduleId} AND music_sheet_accompaniment_id_ = #{musicSheetAccompanimentId}
  50. <if test="userId != null">
  51. AND user_id_ = #{userId}
  52. </if>
  53. </update>
  54. <resultMap id="CourseScheduleStudentMusicSheetResult" type="com.yonge.cooleshow.biz.dal.dto.CourseScheduleStudentMusicSheetResult" extends="BaseResultMap">
  55. <result property="audioFileUrl" column="audio_file_url_"/>
  56. <result property="mp3Url" column="mp3_url_"/>
  57. <result property="musicSheetName" column="music_sheet_name_"/>
  58. </resultMap>
  59. <select id="queryBySheetIdAndCourseId" resultMap="CourseScheduleStudentMusicSheetResult">
  60. SELECT cssm.*,msa.audio_file_url_ mp3_url_,ms.audio_file_url_,ms.music_sheet_name_ FROM course_schedule_student_music_sheet cssm
  61. LEFT JOIN music_sheet_accompaniment msa ON cssm.music_sheet_accompaniment_id_ = msa.id_
  62. LEFT JOIN music_sheet ms ON ms.id_ = msa.music_sheet_id_
  63. <where>
  64. <if test="courseId != null">
  65. AND cssm.course_schedule_id_ = #{courseId}
  66. </if>
  67. <if test="musicSheetAccompanimentId != null">
  68. AND cssm.music_sheet_accompaniment_id_ = #{musicSheetAccompanimentId}
  69. </if>
  70. <if test="userType != null">
  71. AND cssm.user_type_ = #{userType}
  72. </if>
  73. <if test="userId != null">
  74. AND cssm.user_id_ = #{userId}
  75. </if>
  76. <if test="downStatus != null">
  77. AND cssm.down_status_ = #{downStatus}
  78. </if>
  79. </where>
  80. </select>
  81. </mapper>