TeacherFreeTimeMapper.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.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="skip_holiday_flag_" property="skipHolidayFlag"/>
  8. <result column="monday_" jdbcType="VARCHAR" property="monday"/>
  9. <result column="tuesday_" jdbcType="VARCHAR" property="tuesday"/>
  10. <result column="wednesday_" jdbcType="VARCHAR" property="wednesday"/>
  11. <result column="thursday_" jdbcType="VARCHAR" property="thursday"/>
  12. <result column="friday_" jdbcType="VARCHAR" property="friday"/>
  13. <result column="saturday_" jdbcType="VARCHAR" property="saturday"/>
  14. <result column="sunday_" jdbcType="VARCHAR" property="sunday"/>
  15. <result column="recent_free_time_" property="recentFreeTime"/>
  16. <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
  17. <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
  18. </resultMap>
  19. <sql id="Base_Column_List">
  20. id_, teacher_id_, skip_holiday_flag_,
  21. monday_, tuesday_, wednesday_, thursday_, friday_, saturday_, sunday_,recent_free_time_,create_time_, update_time_
  22. </sql>
  23. <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
  24. parameterType="com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime">
  25. insert into teacher_free_time(teacher_id_, skip_holiday_flag_,
  26. monday_, tuesday_, wednesday_, thursday_, friday_, saturday_, sunday_,recent_free_time_, create_time_, update_time_)
  27. values
  28. <foreach collection="entities" item="entity" separator=",">
  29. (#{entity.teacherId},#{entity.skipHolidayFlag},
  30. #{entity.monday}, #{entity.tuesday}, #{entity.wednesday}, #{entity.thursday},
  31. #{entity.friday}, #{entity.saturday}, #{entity.sunday},#{entity.recentFreeTime},NOW(),NOW())
  32. </foreach>
  33. </insert>
  34. <select id="getDetail" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherFreeTimeVo"
  35. parameterType="com.yonge.cooleshow.biz.dal.dto.PracticeTimesSetting">
  36. SELECT * FROM teacher_free_time where teacher_id_ = #{userId}
  37. </select>
  38. <select id="getTeacherFreeTime" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime">
  39. SELECT * FROM teacher_free_time
  40. WHERE teacher_id_ IN(SELECT user_id_ FROM teacher_auth_entry_record WHERE teacher_auth_status_='PASS' GROUP BY user_id_)
  41. </select>
  42. <select id="queryTeacherList" resultType="com.yonge.cooleshow.biz.dal.vo.PracticeTeacherVo">
  43. select
  44. tsp.teacher_id_ AS teacherId,
  45. u.username_ AS userName,
  46. u.real_name_ AS realName,
  47. u.avatar_ AS avatar,
  48. tt.star_grade_ AS starGrade,
  49. tt.exp_time_ AS expTime,
  50. t.graduate_school_ AS school,
  51. t.subject_ AS schoolSubject,
  52. tsp.subject_name_ AS subjectName,
  53. tsp.subject_id_ AS subjectId,
  54. tsp.subject_price_ AS subjectPrice,
  55. tsp.course_minutes_ AS courseMinutes
  56. from teacher_free_time tft
  57. left join teacher_subject_price tsp ON tsp.teacher_id_ = tft.teacher_id_
  58. left join teacher t ON t.user_id_ = tsp.teacher_id_
  59. LEFT JOIN sys_user u ON t.user_id_ = u.id_
  60. LEFT JOIN teacher_total tt ON t.user_id_=tt.user_id_
  61. <where>
  62. <if test="param.subjectId != null">
  63. AND tsp.subject_id_ = #{param.subjectId}
  64. </if>
  65. <if test="param.recentFreeTime != null">
  66. AND tft.recent_free_time_ = #{param.recentFreeTime}
  67. </if>
  68. <if test="param.courseType != null and param.courseType != ''">
  69. AND tsp.course_type_ = #{param.courseType}
  70. </if>
  71. <if test="param.search != null and param.search != ''">
  72. AND u.real_name_ LIKE CONCAT('%',#{param.search},'%')
  73. </if>
  74. </where>
  75. <if test="param.sortField != null and param.sortField != ''">
  76. order by ${param.sortField} ${param.sortRule}
  77. </if>
  78. <if test="param.sortField == null or param.sortField == ''">
  79. order by tt.exp_time_ desc
  80. </if>
  81. </select>
  82. </mapper>