ActivityConfigurationMapper.xml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.zhongzheng.modules.activity.mapper.ActivityConfigurationMapper">
  6. <resultMap type="com.zhongzheng.modules.activity.domain.ActivityConfiguration" id="ActivityConfigurationResult">
  7. <result property="id" column="id"/>
  8. <result property="activityName" column="activity_name"/>
  9. <result property="activityType" column="activity_type"/>
  10. <result property="description" column="description"/>
  11. <result property="startTime" column="start_time"/>
  12. <result property="endTime" column="end_time"/>
  13. <result property="price" column="price"/>
  14. <result property="quantity" column="quantity"/>
  15. <result property="liveContent" column="live_content"/>
  16. <result property="liveAdress" column="live_adress"/>
  17. <result property="createTime" column="create_time"/>
  18. <result property="updateTime" column="update_time"/>
  19. <result property="status" column="status"/>
  20. </resultMap>
  21. <resultMap type="com.zhongzheng.modules.activity.vo.ActivityConfigurationVo" id="ActivityConfigurationResultVO">
  22. <result property="id" column="id"/>
  23. <result property="activityName" column="activity_name"/>
  24. <result property="activityType" column="activity_type"/>
  25. <result property="description" column="description"/>
  26. <result property="startTime" column="start_time"/>
  27. <result property="endTime" column="end_time"/>
  28. <result property="price" column="price"/>
  29. <result property="quantity" column="quantity"/>
  30. <result property="liveContent" column="live_content"/>
  31. <result property="liveAdress" column="live_adress"/>
  32. <result property="createTime" column="create_time"/>
  33. <result property="updateTime" column="update_time"/>
  34. <result property="status" column="status"/>
  35. <collection property="courses" javaType="java.util.List" resultMap="CourseResult"/>
  36. </resultMap>
  37. <resultMap type="com.zhongzheng.modules.course.domain.Course" id="CourseResult">
  38. <result property="courseId" column="course_id"/>
  39. <result property="categoryId" column="category_id"/>
  40. <result property="price" column="price"/>
  41. <result property="duration" column="duration"/>
  42. <result property="startTime" column="start_time"/>
  43. <result property="endTime" column="end_time"/>
  44. <result property="coverUrl" column="cover_url"/>
  45. <result property="introduction" column="introduction"/>
  46. <result property="createTime" column="create_time"/>
  47. <result property="updateTime" column="update_time"/>
  48. <result property="status" column="status"/>
  49. <result property="teacherIds" column="teacher_ids"/>
  50. <result property="courseName" column="course_name"/>
  51. </resultMap>
  52. <resultMap type="com.zhongzheng.modules.course.vo.CourseConfigurationVo" id="CourseResultConfiguration">
  53. <result property="courseId" column="course_id"/>
  54. <result property="categoryId" column="category_id"/>
  55. <result property="price" column="price"/>
  56. <result property="duration" column="duration"/>
  57. <result property="startTime" column="start_time"/>
  58. <result property="endTime" column="end_time"/>
  59. <result property="coverUrl" column="cover_url"/>
  60. <result property="introduction" column="introduction"/>
  61. <result property="status" column="status"/>
  62. <result property="teacherIds" column="teacher_ids"/>
  63. <result property="courseName" column="course_name"/>
  64. <result property="useStatus" column="useStatus"/>
  65. <association property="activityConfigurationVo" javaType="com.zhongzheng.modules.activity.vo.ActivityConfigurationVo" >
  66. <result property="id" column="sid"/>
  67. <result property="activityName" column="sactivity_name"/>
  68. <result property="activityType" column="sactivity_type"/>
  69. <result property="description" column="sdescription"/>
  70. <result property="startTime" column="sstart_time"/>
  71. <result property="endTime" column="send_time"/>
  72. <result property="price" column="sprice"/>
  73. <result property="quantity" column="squantity"/>
  74. <result property="liveContent" column="slive_content"/>
  75. <result property="liveAdress" column="slive_adress"/>
  76. <result property="createTime" column="screate_time"/>
  77. <result property="updateTime" column="supdate_time"/>
  78. <result property="status" column="sstatus"/>
  79. <result property="couponEnd" column="scoupon_end"/>
  80. </association>
  81. </resultMap>
  82. <select id="selectConfiguraList" parameterType="com.zhongzheng.modules.activity.bo.ActivityConfigurationQueryBo" resultMap="ActivityConfigurationResultVO">
  83. SELECT
  84. c.*,
  85. s.*
  86. FROM
  87. activity_configuration c
  88. LEFT JOIN activity_configuration_course f ON c.id = f.configuration_id
  89. LEFT JOIN course s ON f.course_id = s.course_id
  90. WHERE 1=1
  91. <if test="id != null" >
  92. and c.id = #{id,jdbcType=INTEGER}
  93. </if>
  94. <if test="activityName != null" >
  95. and c.activity_name = #{activityName,jdbcType=VARCHAR}
  96. </if>
  97. <if test="activityType != null" >
  98. and c.activity_type = #{activityType,jdbcType=VARCHAR}
  99. </if>
  100. <if test="description != null" >
  101. and c.description = #{description,jdbcType=VARCHAR}
  102. </if>
  103. <if test="startTime != null" >
  104. and c.start_time = #{startTime,jdbcType=INTEGER}
  105. </if>
  106. <if test="endTime != null" >
  107. and c.end_time = #{endTime,jdbcType=INTEGER}
  108. </if>
  109. <if test="price != null" >
  110. and c.price = #{price,jdbcType=DECIMAL}
  111. </if>
  112. <if test="quantity != null" >
  113. and c.quantity = #{quantity,jdbcType=INTEGER}
  114. </if>
  115. <if test="liveContent != null" >
  116. and c.live_content = #{liveContent,jdbcType=VARCHAR}
  117. </if>
  118. <if test="liveAdress != null" >
  119. and c.live_adress = #{liveAdress,jdbcType=VARCHAR}
  120. </if>
  121. <if test="createTime != null" >
  122. and c.create_time = #{createTime,jdbcType=INTEGER}
  123. </if>
  124. <if test="updateTime != null" >
  125. and c.update_time = #{updateTime,jdbcType=INTEGER}
  126. </if>
  127. <choose>
  128. <when test="status !=null and status != ''">
  129. and c.status = #{status,jdbcType=TINYINT}
  130. </when>
  131. <otherwise>
  132. and c.status != 0
  133. </otherwise>
  134. </choose>
  135. order by c.update_time desc
  136. </select>
  137. <select id="selectConfigures" parameterType="java.lang.Long" resultMap="ActivityConfigurationResultVO">
  138. SELECT
  139. c.*,
  140. s.*
  141. FROM
  142. activity_configuration c
  143. LEFT JOIN activity_configuration_course f ON c.id = f.configuration_id
  144. LEFT JOIN course s ON f.configuration_id = s.course_id
  145. WHERE 1=1
  146. and c.id = #{id,jdbcType=INTEGER}
  147. </select>
  148. <select id="selectConfiguraIssueList" parameterType="com.zhongzheng.modules.activity.bo.ActivityConfigurationQueryBo" resultMap="CourseResultConfiguration">
  149. SELECT
  150. s.*,
  151. c.id as sid,
  152. c.activity_name as sactivity_name,
  153. c.activity_type as sactivity_type,
  154. c.description as sdescription,
  155. c.start_time as sstart_time,
  156. c.end_time as send_time,
  157. c.price as sprice,
  158. c.quantity as squantity,
  159. c.live_content as slive_content,
  160. c.live_adress as slive_adress,
  161. c.create_time as screate_time,
  162. c.update_time as supdate_time,
  163. c.status as sstatus,
  164. c.coupon_end as scoupon_end
  165. <if test="userId != null and userId != ''" >
  166. ,( CASE WHEN ( SELECT COUNT( user_id ) FROM activity_configuration_use WHERE 1 = 1 AND user_id = #{userId} ) = 1 THEN 'yes' ELSE 'no' END ) AS useStatus
  167. </if>
  168. FROM
  169. activity_configuration c
  170. LEFT JOIN activity_configuration_course f ON c.id = f.configuration_id
  171. LEFT JOIN course s ON f.course_id = s.course_id
  172. WHERE 1=1
  173. and c.status = 3
  174. <if test="id != null" >
  175. and c.id = #{id,jdbcType=INTEGER}
  176. </if>
  177. <if test="activityName != null" >
  178. and c.activity_name = #{activityName,jdbcType=VARCHAR}
  179. </if>
  180. <if test="typeIds != null">
  181. and c.activity_type in
  182. <foreach collection="typeIds" open="(" separator="," close=")" item="TypeId">
  183. #{TypeId}
  184. </foreach>
  185. </if>
  186. <if test="description != null" >
  187. and c.description = #{description,jdbcType=VARCHAR}
  188. </if>
  189. <if test="price != null" >
  190. and c.price = #{price,jdbcType=DECIMAL}
  191. </if>
  192. <if test="quantity != null" >
  193. and c.quantity = #{quantity,jdbcType=INTEGER}
  194. </if>
  195. <if test="liveContent != null" >
  196. and c.live_content = #{liveContent,jdbcType=VARCHAR}
  197. </if>
  198. <if test="liveAdress != null" >
  199. and c.live_adress = #{liveAdress,jdbcType=VARCHAR}
  200. </if>
  201. <if test="createTime != null" >
  202. and c.create_time = #{createTime,jdbcType=INTEGER}
  203. </if>
  204. <if test="updateTime != null" >
  205. and c.update_time = #{updateTime,jdbcType=INTEGER}
  206. </if>
  207. <if test="startTime != null and startTime != ''">
  208. AND #{startTime} BETWEEN c.start_time AND c.end_time
  209. </if>
  210. order by c.update_time desc
  211. </select>
  212. <select id="selectlistConfiguration" parameterType="com.zhongzheng.modules.course.bo.CourseQueryBo" resultMap="ActivityConfigurationResult">
  213. SELECT
  214. c.id,
  215. c.activity_name,
  216. c.activity_type,
  217. c.description,
  218. c.start_time ,
  219. c.end_time ,
  220. c.price ,
  221. c.quantity ,
  222. c.live_content ,
  223. c.live_adress,
  224. c.create_time,
  225. c.update_time,
  226. c.status ,
  227. c.coupon_end
  228. FROM
  229. activity_configuration c
  230. LEFT JOIN activity_configuration_course f ON c.id = f.configuration_id
  231. LEFT JOIN course s ON f.course_id = s.course_id
  232. WHERE 1=1
  233. and c.status = 3
  234. and c.activity_type in (3,4,5)
  235. <if test="courseId != null" >
  236. and f.course_id = #{courseId}
  237. </if>
  238. order by c.update_time desc
  239. </select>
  240. </mapper>