ExamApplyMapper.xml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654
  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.exam.mapper.ExamApplyMapper">
  6. <resultMap type="com.zhongzheng.modules.exam.domain.ExamApply" id="ExamApplyResult">
  7. <result property="applyId" column="exam_apply_id"/>
  8. <result property="applyUrl" column="apply_url"/>
  9. <result property="applyName" column="apply_name"/>
  10. <result property="applyIntroduce" column="apply_introduce"/>
  11. <result property="applyStatus" column="apply_status"/>
  12. <result property="applyStartTime" column="apply_start_time"/>
  13. <result property="applyEndTime" column="apply_end_time"/>
  14. <result property="createTime" column="create_time"/>
  15. <result property="updateTime" column="update_time"/>
  16. <result property="status" column="status"/>
  17. <result property="reportStatus" column="report_status"/>
  18. </resultMap>
  19. <resultMap type="com.zhongzheng.modules.exam.vo.ExamApplyVo" id="ExamApplyVo">
  20. <result property="applyId" column="apply_id"/>
  21. <result property="applyUrl" column="apply_url"/>
  22. <result property="applyName" column="apply_name"/>
  23. <result property="applyIntroduce" column="apply_introduce"/>
  24. <result property="applyStatus" column="apply_status"/>
  25. <result property="applyStartTime" column="apply_start_time"/>
  26. <result property="applyEndTime" column="apply_end_time"/>
  27. <result property="status" column="status"/>
  28. <result property="educationName" column="education_name"/>
  29. <result property="projectName" column="project_name"/>
  30. <result property="businessName" column="business_name"/>
  31. <result property="cancelPeople" column="cancel_people"/>
  32. <result property="people" column="people"/>
  33. <result property="reportStatus" column="report_status"/>
  34. <result property="wisdomNum" column="wisdom_num"/>
  35. <result property="applyNature" column="apply_nature"/>
  36. <result property="natureUrl" column="nature_url"/>
  37. </resultMap>
  38. <resultMap type="com.zhongzheng.modules.exam.vo.ExamUserApplyVo" id="ExamUserApplyVo">
  39. <result property="applyId" column="apply_id"/>
  40. <result property="applyUrl" column="apply_url"/>
  41. <result property="applyName" column="apply_name"/>
  42. <result property="applyIntroduce" column="apply_introduce"/>
  43. <result property="applyStartTime" column="apply_start_time"/>
  44. <result property="applyEndTime" column="apply_end_time"/>
  45. <result property="major" column="major"/>
  46. <result property="realname" column="realname"/>
  47. <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
  48. <result property="reportStatus" column="report_status"/>
  49. </resultMap>
  50. <resultMap type="com.zhongzheng.modules.exam.vo.ExamNumberGoodsVo" id="ExamNumberGoodsVoResult">
  51. <result property="id" column="id"/>
  52. <result property="examNumberId" column="exam_number_id"/>
  53. <result property="goodsId" column="goods_id"/>
  54. <result property="goodsName" column="goods_name"/>
  55. <result property="code" column="code"/>
  56. <result property="standPrice" column="stand_price"/>
  57. <result property="goodsStatus" column="goods_status"/>
  58. </resultMap>
  59. <resultMap type="com.zhongzheng.modules.exam.vo.ExamApplySiteVo" id="ExamApplySiteVo">
  60. <result property="id" column="id"/>
  61. <result property="siteId" column="site_id"/>
  62. <result property="applyId" column="apply_id"/>
  63. <result property="status" column="status"/>
  64. <result property="status" column="status"/>
  65. <result property="siteAddress" column="site_address"/>
  66. <result property="people" column="people"/>
  67. <result property="fromPlat" column="from_plat"/>
  68. </resultMap>
  69. <resultMap type="com.zhongzheng.modules.exam.vo.ExamUserApplySiteVo" id="ExamUserApplySiteVo">
  70. <result property="id" column="id"/>
  71. <result property="siteId" column="site_id"/>
  72. <result property="applyId" column="apply_id"/>
  73. <result property="status" column="status"/>
  74. <result property="siteAddress" column="site_address"/>
  75. <result property="people" column="people"/>
  76. </resultMap>
  77. <resultMap type="com.zhongzheng.modules.exam.vo.ExamApplySiteTimeVo" id="ExamApplySiteTimeVo">
  78. <result property="id" column="id"/>
  79. <result property="applySiteId" column="apply_site_id"/>
  80. <result property="siteTime" column="site_time"/>
  81. <result property="examTime" column="exam_time"/>
  82. </resultMap>
  83. <resultMap type="com.zhongzheng.modules.exam.vo.ExamUserApplySiteTimeVo" id="ExamUserApplySiteTimeVo">
  84. <result property="id" column="id"/>
  85. <result property="applySiteId" column="apply_site_id"/>
  86. <result property="siteTime" column="site_time"/>
  87. <result property="examTime" column="exam_time"/>
  88. </resultMap>
  89. <select id="listGoods" parameterType="com.zhongzheng.modules.exam.bo.ExamNumberGoodsQueryBo" resultMap="ExamNumberGoodsVoResult">
  90. SELECT
  91. goods_id,
  92. goods_name,
  93. CODE,
  94. stand_price,
  95. 1 as goods_status
  96. FROM
  97. goods g
  98. WHERE
  99. 1 = 1
  100. and g.status in(1)
  101. <if test="businessId != null and businessId != ''">
  102. and g.business_id = #{businessId}
  103. </if>
  104. <if test="goodsId != null and goodsId != ''">
  105. and g.goods_id = #{goodsId}
  106. </if>
  107. <if test="projectId != null and projectId != ''">
  108. and g.project_id = #{projectId}
  109. </if>
  110. <if test="subjectId != null and subjectId >0">
  111. AND (SELECT count(*) from goods_course gc LEFT JOIN course c ON gc.course_id = c.course_id where gc.goods_id = g.goods_id and c.`status` = 1
  112. AND c.subject_id = #{subjectId}) >0
  113. </if>
  114. <if test="goodsType != null and goodsType != ''">
  115. and g.goods_type = #{goodsType}
  116. </if>
  117. <if test="searchKey != null and searchKey != ''">
  118. and (g.goods_name like concat('%', #{searchKey}, '%'))
  119. </if>
  120. <if test="standPrice != null">
  121. AND g.stand_price = #{standPrice}
  122. </if>
  123. order by g.create_time desc
  124. </select>
  125. <select id="countGoods" parameterType="long" resultType="long">
  126. SELECT
  127. count(eag.goods_id)
  128. FROM
  129. exam_apply ea
  130. LEFT JOIN exam_apply_goods eag ON ea.apply_id = eag.apply_id where ea.apply_id =#{applyId}
  131. </select>
  132. <select id="countGoodsHold" parameterType="long" resultType="long">
  133. SELECT
  134. eag.goods_id
  135. FROM
  136. exam_apply ea
  137. LEFT JOIN exam_apply_goods eag ON ea.apply_id = eag.apply_id where ea.apply_id =#{applyId}
  138. and (
  139. SELECT
  140. COUNT( eay.apply_id )
  141. FROM
  142. exam_apply eay
  143. LEFT JOIN exam_apply_goods eags ON eay.apply_id = eags.apply_id
  144. WHERE
  145. eags.goods_id = eag.goods_id
  146. AND eags.apply_id != eag.apply_id and eay.status = 1) > 0
  147. </select>
  148. <select id="examNumberGoodsVos" parameterType="long" resultMap="ExamNumberGoodsVoResult">
  149. SELECT
  150. g.goods_id,
  151. g.goods_name,
  152. g.CODE,
  153. g.stand_price
  154. FROM
  155. goods g
  156. LEFT JOIN exam_apply_goods eag ON g.goods_id = eag.goods_id
  157. WHERE
  158. 1 = 1
  159. AND g.STATUS IN ( 1 )
  160. AND eag.apply_id =#{applyId}
  161. </select>
  162. <select id="addressExam" parameterType="map" resultMap="ExamApplySiteVo">
  163. SELECT
  164. *,
  165. es.site_address,
  166. es.people,
  167. es.from_plat
  168. FROM
  169. exam_apply_site eas
  170. LEFT JOIN exam_site es on eas.site_id = es.site_id
  171. WHERE
  172. eas.apply_id =#{applyId}
  173. and eas.`status` =#{status}
  174. </select>
  175. <select id="addressTimeExam" parameterType="map" resultMap="ExamApplySiteTimeVo">
  176. SELECT
  177. *
  178. FROM
  179. exam_apply_site_time east
  180. where 1=1
  181. and east.apply_site_id =#{id}
  182. </select>
  183. <select id="selectByApply" parameterType="long" resultMap="ExamApplyVo">
  184. SELECT
  185. * ,
  186. (select cet.education_name FROM course_education_type cet where ea.education_type_id= cet.id) as education_name,
  187. (select cpt.project_name FROM course_project_type cpt where ea.project_id= cpt.id) as project_name,
  188. (select cb.business_name FROM course_business cb where ea.business_id= cb.id) as business_name
  189. FROM
  190. exam_apply ea
  191. where 1=1
  192. and ea.apply_id = #{applyId}
  193. </select>
  194. <select id="queryExam" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultMap="ExamApplyVo">
  195. SELECT
  196. * ,
  197. (select cet.education_name FROM course_education_type cet where ea.education_type_id= cet.id) as education_name,
  198. (select cpt.project_name FROM course_project_type cpt where ea.project_id= cpt.id) as project_name,
  199. (select cb.business_name FROM course_business cb where ea.business_id= cb.id) as business_name,
  200. (SELECT COUNT(us.apply_id) FROM user_subscribe us where us.apply_id = ea.apply_id and us.subscribe_status = 1) as people,
  201. (SELECT COUNT(us.apply_id) FROM user_subscribe us where us.apply_id = ea.apply_id and us.subscribe_status = 2) as cancel_people,
  202. (SELECT COUNT(*) FROM exam_apply_site eas LEFT JOIN exam_site es on eas.site_id = es.site_id where eas.apply_id = ea.apply_id and es.from_plat = 2) as wisdom_num
  203. FROM
  204. exam_apply ea
  205. where 1=1
  206. <if test="status != null and status.size()!=0 ">
  207. AND ea.status in
  208. <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
  209. #{item}
  210. </foreach>
  211. </if>
  212. <if test="searchKey != null and searchKey != ''">
  213. and (ea.apply_name like concat('%', #{searchKey}, '%') or ea.code like concat('%', #{searchKey}, '%'))
  214. </if>
  215. order by ea.create_time desc
  216. </select>
  217. <select id="countGradePeriod" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="integer">
  218. SELECT
  219. COUNT(cg.grade_id)
  220. FROM
  221. class_grade cg
  222. LEFT JOIN class_grade_user cgu ON cg.grade_id = cgu.grade_id
  223. WHERE
  224. 1 = 1
  225. AND cgu.user_id = #{userId}
  226. and cgu.grade_id = #{gradeId}
  227. and cgu.order_goods_id = #{orderGoodsId}
  228. AND cgu.period_status = 1
  229. and cg.`status` =1
  230. and cgu.`status` =1
  231. </select>
  232. <select id="countSubscribe" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="integer">
  233. SELECT
  234. COUNT(1)
  235. FROM
  236. user_subscribe us
  237. WHERE
  238. 1 =1
  239. and us.user_id = #{userId}
  240. and us.result = 1
  241. and us.goods_id = #{goodsId}
  242. and us.order_goods_id = #{orderGoodsId}
  243. </select>
  244. <select id="countApplySubscribe" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="integer">
  245. SELECT
  246. COUNT(1)
  247. FROM
  248. user_subscribe us
  249. WHERE
  250. 1 =1
  251. and us.subscribe_status = 1
  252. and us.apply_id = #{applyId}
  253. </select>
  254. <select id="getHaveSubscribe" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="com.zhongzheng.modules.user.domain.UserSubscribe">
  255. SELECT
  256. *
  257. FROM
  258. user_subscribe us
  259. WHERE
  260. 1 =1
  261. and us.user_id = #{userId}
  262. and us.exam_status = 0
  263. and subscribe_status = 1
  264. and us.goods_id = #{goodsId}
  265. and us.order_goods_id = #{orderGoodsId}
  266. </select>
  267. <select id="countHaveSubscribe" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="integer">
  268. SELECT
  269. COUNT(1)
  270. FROM
  271. user_subscribe us
  272. WHERE
  273. 1 =1
  274. and us.user_id = #{userId}
  275. and us.exam_status = 0
  276. and subscribe_status = 1
  277. and us.goods_id = #{goodsId}
  278. and us.order_goods_id = #{orderGoodsId}
  279. </select>
  280. <select id="getEntityById" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.exam.domain.ExamApply">
  281. SELECT
  282. *
  283. FROM
  284. exam_apply
  285. WHERE
  286. apply_id = #{applyId}
  287. </select>
  288. <select id="getUserProfileList" parameterType="java.lang.String" resultType="com.zhongzheng.modules.base.domain.UserProfile">
  289. SELECT
  290. up.*
  291. FROM
  292. `user_profile` up
  293. LEFT JOIN `user` u ON up.user_id = u.user_id
  294. LEFT JOIN goods g ON up.goods_id = g.goods_id
  295. LEFT JOIN major m ON g.major_id = m.id
  296. LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
  297. LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
  298. LEFT JOIN course_business cb ON g.business_id = cb.id
  299. WHERE
  300. u.id_card = #{idCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}
  301. AND INSTR(
  302. CONCAT( cet.education_name, cpt.project_name, cb.business_name ),#{businessName})
  303. AND up.`status` != -1
  304. AND m.category_name = #{post}
  305. </select>
  306. <select id="selectExamUserApplyVo" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultMap="ExamUserApplyVo">
  307. SELECT
  308. ea.apply_id,
  309. ea.apply_url,
  310. ea.apply_name,
  311. ea.apply_introduce,
  312. ea.apply_start_time,
  313. ea.apply_end_time,
  314. ea.apply_status,
  315. ea.report_status,
  316. (SELECT m.category_name FROM major m where m.id = g.major_id) as major,
  317. (SELECT u.realname FROM `user` u where u.user_id = #{userId}) as realname,
  318. (SELECT u.id_card FROM `user` u where u.user_id = #{userId}) as id_card
  319. FROM
  320. exam_apply ea
  321. LEFT JOIN exam_apply_goods eag ON ea.apply_id = eag.apply_id
  322. LEFT JOIN goods g on eag.goods_id=g.goods_id
  323. WHERE
  324. 1 = 1
  325. <if test="goodsId != null and goodsId != ''">
  326. AND eag.goods_id = #{goodsId}
  327. </if>
  328. <if test="applyId != null and applyId != ''">
  329. AND eag.apply_id = #{applyId}
  330. </if>
  331. AND ea.`status` =1
  332. </select>
  333. <select id="countHaveSubscribeNext" parameterType="long" resultType="integer">
  334. SELECT
  335. COUNT(1)
  336. FROM
  337. user_subscribe us
  338. where 1=1
  339. and us.user_id =#{userId}
  340. and us.exam_expend = 1
  341. and us.goods_id = #{goodsId}
  342. and us.order_goods_id = #{orderGoodsId}
  343. </select>
  344. <select id="residueSubscribeNext" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="integer">
  345. SELECT
  346. ueg.exam_number - ueg.expend_number
  347. FROM
  348. user_exam_goods ueg
  349. WHERE
  350. ueg.user_id =#{userId}
  351. AND ueg.order_goods_id = #{orderGoodsId}
  352. LIMIT 1
  353. </select>
  354. <select id="beforeSubscribeNext" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="integer">
  355. SELECT COUNT(1) FROM exam_apply_site es where es.apply_id = #{applyId} and es.status = 2
  356. </select>
  357. <select id="subscribeApplySite" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultMap="ExamUserApplySiteVo">
  358. SELECT
  359. eas.apply_id,
  360. eas.id,
  361. es.*
  362. FROM
  363. exam_apply_site eas
  364. LEFT JOIN exam_site es ON es.site_id = eas.site_id
  365. WHERE
  366. eas.apply_id = #{applyId}
  367. and eas.status = 1
  368. </select>
  369. <select id="subscribeApplySiteTime" parameterType="Long" resultMap="ExamUserApplySiteTimeVo">
  370. SELECT * FROM exam_apply_site_time east where east.apply_site_id = #{id}
  371. </select>
  372. <select id="registration" parameterType="map" resultType="long">
  373. SELECT
  374. COUNT( 1 )
  375. FROM
  376. user_subscribe us
  377. WHERE
  378. subscribe_status = 1
  379. AND us.apply_id = #{applyId}
  380. AND us.apply_site_exam_time = #{examTime}
  381. AND us.apply_site_address = #{siteAddress}
  382. AND us.apply_site_start_time =#{startTime}
  383. AND us.apply_site_end_time =#{endTime}
  384. </select>
  385. <select id="userStatus" parameterType="map" resultType="long">
  386. SELECT
  387. COUNT( 1 )
  388. FROM
  389. user_subscribe us
  390. WHERE
  391. subscribe_status = 1
  392. AND us.apply_site_exam_time = #{examTime}
  393. AND us.user_id = #{userId}
  394. AND us.apply_site_start_time =#{startTime}
  395. AND us.apply_site_end_time =#{endTime}
  396. </select>
  397. <select id="subscribeApplySiteTrain" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultMap="ExamUserApplySiteVo">
  398. SELECT
  399. eas.apply_id,
  400. eas.id,
  401. es.*
  402. FROM
  403. exam_apply_site eas
  404. LEFT JOIN exam_site es ON es.site_id = eas.site_id
  405. WHERE
  406. eas.apply_id = #{applyId}
  407. and eas.status = 2
  408. </select>
  409. <select id="registrationTrain" parameterType="map" resultType="long">
  410. SELECT
  411. COUNT( 1 )
  412. FROM
  413. user_subscribe us
  414. WHERE
  415. subscribe_status = 1
  416. AND us.apply_id = #{applyId}
  417. AND us.apply_site_exam_train_time = #{examTime}
  418. AND us.apply_site_address_train = #{siteAddress}
  419. AND us.apply_site_start_train_time =#{startTime}
  420. AND us.apply_site_end_train_time =#{endTime}
  421. </select>
  422. <select id="userStatusTrain" parameterType="map" resultType="long">
  423. SELECT
  424. COUNT( 1 )
  425. FROM
  426. user_subscribe us
  427. WHERE
  428. subscribe_status = 1
  429. AND us.apply_site_exam_train_time = #{examTime}
  430. AND us.user_id = #{userId}
  431. AND us.apply_site_start_train_time =#{startTime}
  432. AND us.apply_site_end_train_time =#{endTime}
  433. </select>
  434. <select id="checkSiteHave" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="long">
  435. SELECT
  436. eas.id
  437. FROM
  438. exam_apply_site eas
  439. LEFT JOIN exam_site es ON es.site_id = eas.site_id
  440. WHERE
  441. 1=1
  442. <if test="applySiteAddress != null and applySiteAddress != ''">
  443. AND es.site_address = #{applySiteAddress}
  444. </if>
  445. <if test="applyId != null and applyId != ''">
  446. AND eas.apply_id = #{applyId}
  447. </if>
  448. <if test="status != null and status.size()!=0 ">
  449. AND eas.status in
  450. <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
  451. #{item}
  452. </foreach>
  453. </if>
  454. limit 1
  455. </select>
  456. <select id="checkSiteTimeHave" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="long">
  457. SELECT count(*) FROM exam_apply_site_time where apply_site_id = #{applySiteId} and site_time like concat('%', #{startTime}, '%') and site_time like concat('%', #{endTime}, '%') and exam_time = #{examTime}
  458. </select>
  459. <select id="sitePeopleNum" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="long">
  460. SELECT count(*) FROM user_subscribe where apply_id = #{applyId} and apply_site_start_time = #{startTime} and apply_site_end_time = #{endTime} and apply_site_exam_time = #{examTime} and apply_site_address = #{applySiteAddress} and subscribe_status = 1
  461. </select>
  462. <select id="siteTimeJson" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="String">
  463. SELECT
  464. e1.site_time
  465. FROM
  466. exam_apply_site_time e1
  467. LEFT JOIN exam_apply_site ea ON e1.apply_site_id = ea.id
  468. LEFT JOIN exam_site es ON ea.site_id = es.site_id
  469. WHERE
  470. e1.apply_id = #{applyId}
  471. AND e1.exam_time = #{examTime}
  472. AND es.site_address = #{applySiteAddress}
  473. AND ea.`status` = 1
  474. </select>
  475. <select id="getPlaceList" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="com.zhongzheng.modules.exam.vo.ExamApplyPlaceVo">
  476. SELECT
  477. eat.id,
  478. ea.apply_id,
  479. eat.exam_time AS applyDate,
  480. eat.site_time,
  481. eat.apply_site_id,
  482. ea.apply_status,
  483. ea.apply_nature,
  484. eat.sendmail,
  485. ea.apply_start_time,
  486. ea.apply_end_time
  487. FROM
  488. exam_apply_site_time eat
  489. LEFT JOIN exam_apply ea ON eat.apply_id = ea.apply_id
  490. WHERE 1=1
  491. <if test="startTime != null and startTime != ''">
  492. AND eat.exam_time <![CDATA[ >= ]]> #{startTime}
  493. </if>
  494. <if test="endTime != null and endTime != ''">
  495. AND eat.exam_time <![CDATA[ <= ]]> #{endTime}
  496. </if>
  497. order by ea.create_time desc
  498. </select>
  499. <select id="getUserStudyRecord" parameterType="map" resultType="com.zhongzheng.modules.user.vo.UserStudyRecordExport">
  500. SELECT
  501. order_goods_id,
  502. goods_id,
  503. module_id,
  504. chapter_id,
  505. section_id,
  506. (SELECT goods_name FROM goods WHERE goods_id = usr.goods_id) as goods_name,
  507. (SELECT `name` FROM course_chapter WHERE chapter_id = usr.chapter_id) as chapter_name,
  508. (SELECT `name` FROM course_section WHERE section_id = usr.section_id) as section_name,
  509. (SELECT duration_time FROM course_section WHERE section_id = usr.section_id) as duration_time,
  510. MIN(start_time) AS start_time,
  511. MAX(end_time) AS end_time,
  512. MAX(`status`) AS `status`,
  513. any_value(ip) AS ip
  514. FROM
  515. user_study_record usr
  516. WHERE
  517. user_id = #{userId}
  518. AND order_goods_id = #{orderGoodsId}
  519. GROUP BY
  520. order_goods_id,
  521. goods_id,
  522. course_id,
  523. module_id,
  524. chapter_id,
  525. section_id
  526. </select>
  527. <select id="getExamApplyByUser" parameterType="map" resultType="com.zhongzheng.modules.user.domain.UserSubscribe">
  528. SELECT
  529. *
  530. FROM
  531. user_subscribe us
  532. LEFT JOIN goods g ON us.goods_id = g.goods_id
  533. LEFT JOIN major m ON g.major_id = m.id
  534. WHERE
  535. us.user_id = #{userId}
  536. AND INSTR( m.category_name, #{majorName} ) > 0
  537. AND us.subscribe_status = 1
  538. ORDER BY
  539. us.create_time DESC
  540. LIMIT 1
  541. </select>
  542. <select id="getExamInfo" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyDetailBo" resultType="com.zhongzheng.modules.exam.vo.ExamApplyDetailVo">
  543. SELECT
  544. us.apply_id AS apply_id,
  545. us.site_id AS site_id,
  546. us.apply_site_exam_time AS exam_time,
  547. us.apply_site_start_time AS start_time,
  548. us.apply_site_end_time AS end_time
  549. FROM
  550. user_subscribe us
  551. WHERE
  552. us.subscribe_status = 1
  553. <if test="examStartTime != null and examStartTime != ''">
  554. AND us.apply_site_exam_time <![CDATA[ >= ]]> #{examStartTime}
  555. </if>
  556. <if test="examEndTime != null and examEndTime != ''">
  557. AND us.apply_site_exam_time <![CDATA[ <= ]]> #{examEndTime}
  558. </if>
  559. <if test="startTime != null and startTime != ''">
  560. AND us.apply_site_start_time = #{startTime}
  561. </if>
  562. <if test="endTime != null and endTime != ''">
  563. AND us.apply_site_end_time = #{endTime}
  564. </if>
  565. AND us.tenant_id = 867735392558919680
  566. GROUP BY
  567. us.apply_id,
  568. us.apply_site_exam_time,
  569. us.site_id,
  570. us.apply_site_start_time,
  571. us.apply_site_end_time
  572. </select>
  573. <select id="getExamUserInfo" parameterType="com.zhongzheng.modules.exam.vo.ExamApplyDetailVo" resultType="com.zhongzheng.modules.exam.vo.ExamApplyUserDetailVo">
  574. SELECT
  575. us.seat_number AS seatNum,
  576. u.realname AS userName,
  577. u.id_card AS idCard,
  578. u.avatar
  579. FROM
  580. user_subscribe us
  581. LEFT JOIN `user` u ON us.user_id = u.user_id
  582. AND u.tenant_id = 867735392558919680
  583. WHERE
  584. us.subscribe_status = 1
  585. AND us.apply_id = #{applyId}
  586. AND us.apply_site_exam_time = #{examTime}
  587. AND us.site_id = #{siteId}
  588. AND us.apply_site_start_time = #{startTime}
  589. AND us.apply_site_end_time = #{endTime}
  590. AND us.tenant_id = 867735392558919680
  591. </select>
  592. <select id="getApplyGoodsId" parameterType="map" resultType="java.lang.Long">
  593. SELECT
  594. eag.goods_id
  595. FROM
  596. exam_apply_goods eag
  597. LEFT JOIN goods g ON eag.goods_id = g.goods_id
  598. LEFT JOIN major m ON g.major_id = m.id
  599. WHERE
  600. eag.apply_id = #{applyId}
  601. AND g.`status` = 1
  602. AND m.`status` = 1
  603. AND m.category_name = #{majorName}
  604. </select>
  605. </mapper>