CourseScheduleRewardsMapper.xml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  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. <!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
  4. <mapper namespace="com.ym.mec.biz.dal.dao.CourseScheduleRewardsRulesDao">
  5. <resultMap type="com.ym.mec.biz.dal.entity.CourseScheduleRewardsRules"
  6. id="CourseScheduleRewardsRules">
  7. <result column="id_" property="id" />
  8. <result column="name_" property="name" />
  9. <result column="course_schedule_type_" property="courseScheduleType"
  10. typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
  11. <result column="reward_mode_" property="rewardMode"
  12. typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
  13. <result column="organ_id_" property="organId" />
  14. <result column="rewards_rules_json_" property="rewardsRulesJson" />
  15. <result column="create_time_" property="createTime" />
  16. <result column="update_time_" property="updateTime" />
  17. <result column="vip_group_category_id_list_" property="vipGroupCategoryIdList" />
  18. <result column="teacher_id_" property="teacherId" />
  19. </resultMap>
  20. <!-- 根据主键查询一条记录 -->
  21. <select id="get" resultMap="CourseScheduleRewardsRules">
  22. SELECT * FROM course_schedule_rewards_rules WHERE id_ = #{id}
  23. </select>
  24. <!-- 全查询 -->
  25. <select id="findAll" resultMap="CourseScheduleRewardsRules">
  26. SELECT * FROM course_schedule_rewards_rules ORDER BY id_
  27. </select>
  28. <!-- 向数据库增加一条记录 -->
  29. <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleRewardsRules"
  30. useGeneratedKeys="true" keyColumn="id" keyProperty="id">
  31. <!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval
  32. AS ID FROM DUAL </selectKey> -->
  33. INSERT INTO course_schedule_rewards_rules
  34. (id_,name_,course_schedule_type_,reward_mode_,organ_id_,rewards_rules_json_,create_time_,update_time_,vip_group_category_id_list_,teacher_id_)
  35. VALUES(#{id},#{name},#{courseScheduleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  36. #{rewardMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{organId},#{rewardsRulesJson},now(),now(),#{vipGroupCategoryIdList},#{teacherId})
  37. </insert>
  38. <!-- 根据主键查询一条记录 -->
  39. <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleRewardsRules">
  40. UPDATE course_schedule_rewards_rules
  41. <set>
  42. <if test="rewardMode != null">
  43. reward_mode_ =
  44. #{rewardMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  45. </if>
  46. <if test="courseScheduleType != null">
  47. course_schedule_type_ =
  48. #{courseScheduleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  49. </if>
  50. <if test="vipGroupCategoryIdList != null">
  51. vip_group_category_id_list_ = #{vipGroupCategoryIdList},
  52. </if>
  53. <if test="teacherId != null">
  54. teacher_id_ = #{teacherId},
  55. </if>
  56. <if test="id != null">
  57. id_ = #{id},
  58. </if>
  59. <if test="updateTime != null">
  60. update_time_ = now(),
  61. </if>
  62. <if test="organId != null">
  63. organ_id_ = #{organId},
  64. </if>
  65. <if test="name != null">
  66. name_ = #{name},
  67. </if>
  68. <if test="rewardsRulesJson != null">
  69. rewards_rules_json_ = #{rewardsRulesJson},
  70. </if>
  71. <if test="createTime != null">
  72. create_time_ = #{createTime},
  73. </if>
  74. </set>
  75. WHERE id_ = #{id}
  76. </update>
  77. <!-- 根据主键删除一条记录 -->
  78. <delete id="delete">
  79. DELETE FROM course_schedule_rewards_rules WHERE id_ = #{id}
  80. </delete>
  81. <!-- 分页查询 -->
  82. <select id="queryPage" resultMap="CourseScheduleRewardsRules"
  83. parameterType="map">
  84. SELECT * FROM course_schedule_rewards_rules ORDER BY id_
  85. <include refid="global.limit" />
  86. </select>
  87. <!-- 查询当前表的总记录数 -->
  88. <select id="queryCount" resultType="int">
  89. SELECT COUNT(*) FROM course_schedule_rewards_rules
  90. </select>
  91. <select id="query" resultType="map">
  92. SELECT * FROM course_schedule_rewards_rules where find_in_set(#{organId},organ_id_) and course_schedule_type_ = #{courseScheduleType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} order by update_time_ desc
  93. </select>
  94. <select id="queryOrganIdList" resultType="java.lang.String">
  95. SELECT organ_id_ FROM course_schedule_rewards_rules
  96. </select>
  97. <select id="findByTeacherAndCategory" resultMap="CourseScheduleRewardsRules">
  98. SELECT * FROM course_schedule_rewards_rules csrr
  99. WHERE INTE_ARRAY(csrr.vip_group_category_id_list_,#{vipGroupCategoryIdList})
  100. AND INTE_ARRAY(csrr.teacher_id_,#{teacherId})
  101. </select>
  102. <select id="queryDetailPage" resultMap="CourseScheduleRewardsRules">
  103. SELECT * FROM course_schedule_rewards_rules csrr
  104. <include refid="findDetailPageSql"/>
  105. ORDER BY id_ DESC
  106. <include refid="global.limit" />
  107. </select>
  108. <select id="findDetailPage" resultType="java.lang.Integer">
  109. SELECT COUNT(csrr.id_) FROM course_schedule_rewards_rules csrr
  110. <include refid="findDetailPageSql"/>
  111. </select>
  112. <select id="findTeacherNames" resultType="java.util.Map">
  113. SELECT csrr.id_ 'key',GROUP_CONCAT(su.real_name_) 'value' FROM course_schedule_rewards_rules csrr
  114. LEFT JOIN sys_user su ON FIND_IN_SET(su.id_,csrr.teacher_id_)
  115. WHERE csrr.id_ IN
  116. <foreach collection="rewardsIds" separator="," item="item" open="(" close=")">
  117. #{item}
  118. </foreach>
  119. GROUP BY csrr.id_
  120. </select>
  121. <select id="findVipCategoryNames" resultType="java.util.Map">
  122. SELECT csrr.id_ 'key',GROUP_CONCAT(vgc.name_) 'value' FROM course_schedule_rewards_rules csrr
  123. LEFT JOIN vip_group_category vgc ON FIND_IN_SET(vgc.id_,csrr.vip_group_category_id_list_)
  124. WHERE vgc.del_flag_ != '1' AND csrr.id_ IN
  125. <foreach collection="rewardsIds" separator="," item="item" open="(" close=")">
  126. #{item}
  127. </foreach>
  128. GROUP BY csrr.id_
  129. </select>
  130. <resultMap id="TaskRewardsRulesDtoMap" type="com.ym.mec.biz.dal.dto.TaskRewardsRulesDto">
  131. <result property="teacherId" column="actual_teacher_id_"/>
  132. <result property="times" column="times_"/>
  133. <result property="activeId" column="active_id_"/>
  134. </resultMap>
  135. <select id="queryVipGroupTeachereClassTimesByMonth" resultMap="TaskRewardsRulesDtoMap">
  136. SELECT COUNT(cs.id_) times_,cs.actual_teacher_id_,csrr.id_ active_id_ FROM course_schedule_rewards_rules csrr
  137. LEFT JOIN vip_group vg ON FIND_IN_SET(vg.vip_group_category_id_,csrr.vip_group_category_id_list_)
  138. LEFT JOIN course_schedule cs ON vg.id_ = cs.music_group_id_ AND FIND_IN_SET(cs.actual_teacher_id_,csrr.teacher_id_)
  139. LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_ AND csts.user_id_ = cs.actual_teacher_id_
  140. WHERE cs.group_type_ = 'VIP' AND csts.settlement_time_ IS NULL AND cs.class_date_ &gt;= #{firstDayOfMonth} AND cs.class_date_ &lt;= #{lastDayOfMonth}
  141. GROUP BY cs.actual_teacher_id_,csrr.id_
  142. </select>
  143. <select id="findByIds" resultMap="CourseScheduleRewardsRules">
  144. SELECT * FROM course_schedule_rewards_rules csrr WHERE csrr.id_ IN
  145. <foreach collection="activeIds" separator="," open="(" close=")" item="item">
  146. #{item}
  147. </foreach>
  148. </select>
  149. <sql id="findDetailPageSql">
  150. <where>
  151. <if test="teacherId">
  152. AND FIND_IN_SET(#{teacherId},csrr.teacher_id_)
  153. </if>
  154. <if test="search">
  155. AND csrr.name_ LIKE CONCAT('%',#{search},'%')
  156. </if>
  157. <if test="rewardMode">
  158. AND csrr.reward_mode_ = #{rewardMode}
  159. </if>
  160. <if test="vipGroupCategoryId">
  161. AND FIND_IN_SET(#{vipGroupCategoryId},csrr.vip_group_category_id_list_)
  162. </if>
  163. </where>
  164. </sql>
  165. </mapper>