TeacherFreeTimeMapper.xml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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.TeacherFreeTimeDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime">
  5. <id column="id_" jdbcType="INTEGER" property="id"/>
  6. <result column="teacher_id_" jdbcType="INTEGER" property="teacherId"/>
  7. <result column="free_minutes_" jdbcType="INTEGER" property="freeMinutes"/>
  8. <result column="course_minutes_" jdbcType="INTEGER" property="courseMinutes"/>
  9. <result column="skip_holiday_flag_" property="skipHolidayFlag"/>
  10. <result column="subject_price_" jdbcType="VARCHAR" property="subjectPrice"/>
  11. <result column="monday_" jdbcType="VARCHAR" property="monday"/>
  12. <result column="tuesday_" jdbcType="VARCHAR" property="tuesday"/>
  13. <result column="wednesday_" jdbcType="VARCHAR" property="wednesday"/>
  14. <result column="thursday_" jdbcType="VARCHAR" property="thursday"/>
  15. <result column="friday_" jdbcType="VARCHAR" property="friday"/>
  16. <result column="saturday_" jdbcType="VARCHAR" property="saturday"/>
  17. <result column="sunday_" jdbcType="VARCHAR" property="sunday"/>
  18. <result column="default_flag_" property="defaultFlag"/>
  19. <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
  20. <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
  21. </resultMap>
  22. <sql id="Base_Column_List">
  23. id_
  24. , teacher_id_, free_minutes_, course_minutes_, skip_holiday_flag_, subject_price_,
  25. monday_, tuesday_, wednesday_, thursday_, friday_, saturday_, sunday_,default_flag_,create_time_, update_time_
  26. </sql>
  27. <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
  28. parameterType="com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime">
  29. insert into teacher_free_time(teacher_id_, free_minutes_, course_minutes_, skip_holiday_flag_, subject_price_,
  30. monday_, tuesday_, wednesday_, thursday_, friday_, saturday_, sunday_,default_flag_, create_time_, update_time_)
  31. values
  32. <foreach collection="entities" item="entity" separator=",">
  33. (#{entity.teacherId}, #{entity.freeMinutes}, #{entity.courseMinutes}, #{entity.skipHolidayFlag},
  34. #{entity.subjectPrice}, #{entity.monday}, #{entity.tuesday}, #{entity.wednesday}, #{entity.thursday},
  35. #{entity.friday}, #{entity.saturday}, #{entity.sunday}, #{entity.defaultFlag},NOW(),NOW())
  36. </foreach>
  37. </insert>
  38. <insert id="insertPrice" parameterType="java.util.List">
  39. INSERT INTO teacher_subject_price
  40. (teacher_free_time_id,teacher_id_,free_minutes_,course_minutes_,subject_id_,subject_name_,subject_price_)VALUES
  41. <foreach collection="list" item="item" index="index" separator=",">
  42. (#{item.teacherFreeTimeId},#{item.teacherId},#{item.freeMinutes},#{item.courseMinutes},#{item.subjectId},#{item.subjectName},#{item.subjectPrice})
  43. </foreach>
  44. </insert>
  45. <update id="updateDefaultFlag">
  46. UPDATE teacher_free_time SET default_flag_ = #{defaultFlag} WHERE teacher_id_ = #{teacherId}
  47. </update>
  48. <delete id="deleteSubjectPrice" parameterType="java.lang.Long">
  49. DELETE FROM teacher_subject_price WHERE teacher_free_time_id = #{id}
  50. </delete>
  51. <select id="findOne" resultMap="BaseResultMap">
  52. SELECT <include refid="Base_Column_List"/>
  53. FROM teacher_free_time WHERE teacher_id_ = #{teacherId}
  54. AND free_minutes_ = #{freeMinutes}
  55. AND course_minutes_ = #{courseMinutes} LIMIT 1
  56. </select>
  57. <select id="getDetail" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherFreeTimeVo"
  58. parameterType="com.yonge.cooleshow.biz.dal.dto.PracticeTimesSetting">
  59. SELECT * FROM teacher_free_time
  60. <where>
  61. <if test="param.userId != null">
  62. AND teacher_id_ = #{param.userId}
  63. </if>
  64. <if test="param.freeMinutes != null">
  65. AND free_minutes_ = #{param.freeMinutes}
  66. </if>
  67. <if test="param.courseMinutes != null">
  68. AND course_minutes_ = #{param.courseMinutes}
  69. </if>
  70. <if test="param.courseMinutes != null">
  71. AND course_minutes_ = #{param.courseMinutes}
  72. </if>
  73. <if test="param.defaultFlag != null">
  74. AND default_flag_ = #{param.defaultFlag}
  75. </if>
  76. </where>
  77. </select>
  78. <select id="getPrice" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice"
  79. parameterType="java.lang.Long">
  80. SELECT * FROM teacher_subject_price WHERE teacher_free_time_id = #{id}
  81. </select>
  82. <select id="selectSubjectPrice" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice">
  83. SELECT
  84. p.id_ AS id,
  85. p.teacher_free_time_id AS teacherFreeTimeId,
  86. p.teacher_id_ AS teacherId,
  87. p.free_minutes_ AS freeMinutes,
  88. p.course_minutes_ AS courseMinutes,
  89. p.subject_id_ AS subjectId,
  90. p.subject_name_ AS subjectName,
  91. p.subject_price_ AS subjectPrice
  92. FROM teacher_free_time f
  93. LEFT JOIN teacher_subject_price p ON f.id_=p.teacher_free_time_id
  94. WHERE f.teacher_id_=#{teacherId} AND f.default_flag_=1 AND p.subject_id_=#{subjectId}
  95. </select>
  96. <select id="selectPriceByTeacherId" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice"
  97. parameterType="java.lang.Long">
  98. SELECT
  99. p.id_ AS id,
  100. p.teacher_free_time_id AS teacherFreeTimeId,
  101. p.teacher_id_ AS teacherId,
  102. p.free_minutes_ AS freeMinutes,
  103. p.course_minutes_ AS courseMinutes,
  104. p.subject_id_ AS subjectId,
  105. p.subject_name_ AS subjectName,
  106. p.subject_price_ AS subjectPrice
  107. FROM teacher_free_time f
  108. LEFT JOIN teacher_subject_price p ON f.id_=p.teacher_free_time_id
  109. WHERE f.teacher_id_=#{teacherId} AND f.default_flag_=1
  110. </select>
  111. </mapper>