ExamApplyMapper.xml 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750
  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 us.subscribe_status = 1
  277. and us.goods_id = #{goodsId}
  278. and us.order_goods_id = #{orderGoodsId}
  279. and us.apply_site_exam_time > UNIX_TIMESTAMP(NOW())
  280. </select>
  281. <select id="getEntityById" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.exam.domain.ExamApply">
  282. SELECT
  283. *
  284. FROM
  285. exam_apply
  286. WHERE
  287. apply_id = #{applyId}
  288. </select>
  289. <select id="getExamRelCodeNotTenant" parameterType="java.lang.String" resultType="java.lang.String">
  290. SELECT rel_code FROM `exam_apply` WHERE apply_name = #{applyName} AND rel_code != '' AND rel_code IS NOT NULL LIMIT 1
  291. </select>
  292. <select id="getUserProfileList" parameterType="java.lang.String" resultType="com.zhongzheng.modules.base.domain.UserProfile">
  293. SELECT
  294. up.*
  295. FROM
  296. `user_profile` up
  297. LEFT JOIN `user` u ON up.user_id = u.user_id
  298. LEFT JOIN goods g ON up.goods_id = g.goods_id
  299. LEFT JOIN major m ON g.major_id = m.id
  300. LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
  301. LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
  302. LEFT JOIN course_business cb ON g.business_id = cb.id
  303. WHERE
  304. u.id_card = #{idCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}
  305. AND INSTR(
  306. CONCAT( cet.education_name, cpt.project_name, cb.business_name ),#{businessName})
  307. AND up.`status` != -1
  308. AND m.category_name = #{post}
  309. </select>
  310. <select id="selectExamUserApplyVo" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultMap="ExamUserApplyVo">
  311. SELECT
  312. ea.apply_id,
  313. ea.apply_url,
  314. ea.apply_name,
  315. ea.apply_introduce,
  316. ea.apply_start_time,
  317. ea.apply_end_time,
  318. ea.apply_status,
  319. ea.report_status,
  320. (SELECT m.category_name FROM major m where m.id = g.major_id) as major,
  321. (SELECT u.realname FROM `user` u where u.user_id = #{userId}) as realname,
  322. (SELECT u.id_card FROM `user` u where u.user_id = #{userId}) as id_card
  323. FROM
  324. exam_apply ea
  325. LEFT JOIN exam_apply_goods eag ON ea.apply_id = eag.apply_id
  326. LEFT JOIN goods g on eag.goods_id=g.goods_id
  327. WHERE
  328. 1 = 1
  329. <if test="goodsId != null and goodsId != ''">
  330. AND eag.goods_id = #{goodsId}
  331. </if>
  332. <if test="applyId != null and applyId != ''">
  333. AND eag.apply_id = #{applyId}
  334. </if>
  335. AND ea.`status` =1
  336. </select>
  337. <select id="countHaveSubscribeNext" parameterType="long" resultType="integer">
  338. SELECT
  339. COUNT(1)
  340. FROM
  341. user_subscribe us
  342. where 1=1
  343. and us.user_id =#{userId}
  344. and us.exam_expend = 1
  345. and us.goods_id = #{goodsId}
  346. and us.order_goods_id = #{orderGoodsId}
  347. </select>
  348. <select id="residueSubscribeNext" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="integer">
  349. SELECT
  350. ueg.exam_number - ueg.expend_number
  351. FROM
  352. user_exam_goods ueg
  353. WHERE
  354. ueg.user_id =#{userId}
  355. AND ueg.order_goods_id = #{orderGoodsId}
  356. LIMIT 1
  357. </select>
  358. <select id="beforeSubscribeNext" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="integer">
  359. SELECT COUNT(1) FROM exam_apply_site es where es.apply_id = #{applyId} and es.status = 2
  360. </select>
  361. <select id="subscribeApplySite" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultMap="ExamUserApplySiteVo">
  362. SELECT
  363. eas.apply_id,
  364. eas.id,
  365. es.*
  366. FROM
  367. exam_apply_site eas
  368. LEFT JOIN exam_site es ON es.site_id = eas.site_id
  369. WHERE
  370. eas.apply_id = #{applyId}
  371. and eas.status = 1
  372. </select>
  373. <select id="subscribeApplySiteTime" parameterType="Long" resultMap="ExamUserApplySiteTimeVo">
  374. SELECT * FROM exam_apply_site_time east where east.apply_site_id = #{id}
  375. </select>
  376. <select id="registration" parameterType="map" resultType="long">
  377. SELECT
  378. COUNT( 1 )
  379. FROM
  380. user_subscribe us
  381. WHERE
  382. subscribe_status = 1
  383. AND us.apply_id = #{applyId}
  384. AND us.apply_site_exam_time = #{examTime}
  385. AND us.apply_site_address = #{siteAddress}
  386. AND us.apply_site_start_time =#{startTime}
  387. AND us.apply_site_end_time =#{endTime}
  388. </select>
  389. <select id="userStatus" parameterType="map" resultType="long">
  390. SELECT
  391. COUNT( 1 )
  392. FROM
  393. user_subscribe us
  394. WHERE
  395. subscribe_status = 1
  396. AND us.apply_site_exam_time = #{examTime}
  397. AND us.user_id = #{userId}
  398. AND us.apply_site_start_time =#{startTime}
  399. AND us.apply_site_end_time =#{endTime}
  400. </select>
  401. <select id="subscribeApplySiteTrain" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultMap="ExamUserApplySiteVo">
  402. SELECT
  403. eas.apply_id,
  404. eas.id,
  405. es.*
  406. FROM
  407. exam_apply_site eas
  408. LEFT JOIN exam_site es ON es.site_id = eas.site_id
  409. WHERE
  410. eas.apply_id = #{applyId}
  411. and eas.status = 2
  412. </select>
  413. <select id="registrationTrain" parameterType="map" resultType="long">
  414. SELECT
  415. COUNT( 1 )
  416. FROM
  417. user_subscribe us
  418. WHERE
  419. subscribe_status = 1
  420. AND us.apply_id = #{applyId}
  421. AND us.apply_site_exam_train_time = #{examTime}
  422. AND us.apply_site_address_train = #{siteAddress}
  423. AND us.apply_site_start_train_time =#{startTime}
  424. AND us.apply_site_end_train_time =#{endTime}
  425. </select>
  426. <select id="userStatusTrain" parameterType="map" resultType="long">
  427. SELECT
  428. COUNT( 1 )
  429. FROM
  430. user_subscribe us
  431. WHERE
  432. subscribe_status = 1
  433. AND us.apply_site_exam_train_time = #{examTime}
  434. AND us.user_id = #{userId}
  435. AND us.apply_site_start_train_time =#{startTime}
  436. AND us.apply_site_end_train_time =#{endTime}
  437. </select>
  438. <select id="checkSiteHave" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="long">
  439. SELECT
  440. eas.id
  441. FROM
  442. exam_apply_site eas
  443. LEFT JOIN exam_site es ON es.site_id = eas.site_id
  444. WHERE
  445. 1=1
  446. <if test="applySiteAddress != null and applySiteAddress != ''">
  447. AND es.site_address = #{applySiteAddress}
  448. </if>
  449. <if test="applyId != null and applyId != ''">
  450. AND eas.apply_id = #{applyId}
  451. </if>
  452. <if test="status != null and status.size()!=0 ">
  453. AND eas.status in
  454. <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
  455. #{item}
  456. </foreach>
  457. </if>
  458. limit 1
  459. </select>
  460. <select id="checkSiteTimeHave" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="long">
  461. 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}
  462. </select>
  463. <select id="sitePeopleNum" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="long">
  464. 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
  465. </select>
  466. <select id="siteTimeJson" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="String">
  467. SELECT
  468. e1.site_time
  469. FROM
  470. exam_apply_site_time e1
  471. LEFT JOIN exam_apply_site ea ON e1.apply_site_id = ea.id
  472. LEFT JOIN exam_site es ON ea.site_id = es.site_id
  473. WHERE
  474. e1.apply_id = #{applyId}
  475. AND e1.exam_time = #{examTime}
  476. AND es.site_address = #{applySiteAddress}
  477. AND ea.`status` = 1
  478. </select>
  479. <select id="getPlaceList" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyQueryBo" resultType="com.zhongzheng.modules.exam.vo.ExamApplyPlaceVo">
  480. SELECT
  481. eat.id,
  482. ea.apply_id,
  483. eat.exam_time AS applyDate,
  484. eat.site_time,
  485. eat.apply_site_id,
  486. ea.apply_status,
  487. ea.apply_nature,
  488. eat.sendmail,
  489. ea.apply_start_time,
  490. ea.apply_end_time
  491. FROM
  492. exam_apply_site_time eat
  493. LEFT JOIN exam_apply ea ON eat.apply_id = ea.apply_id
  494. WHERE 1=1
  495. <if test="startTime != null and startTime != ''">
  496. AND eat.exam_time <![CDATA[ >= ]]> #{startTime}
  497. </if>
  498. <if test="endTime != null and endTime != ''">
  499. AND eat.exam_time <![CDATA[ <= ]]> #{endTime}
  500. </if>
  501. order by ea.create_time desc
  502. </select>
  503. <select id="getUserStudyRecord" parameterType="map" resultType="com.zhongzheng.modules.user.vo.UserStudyRecordExport">
  504. SELECT
  505. order_goods_id,
  506. goods_id,
  507. module_id,
  508. chapter_id,
  509. section_id,
  510. (SELECT goods_name FROM goods WHERE goods_id = usr.goods_id) as goods_name,
  511. (SELECT `name` FROM course_chapter WHERE chapter_id = usr.chapter_id) as chapter_name,
  512. (SELECT `name` FROM course_section WHERE section_id = usr.section_id) as section_name,
  513. (SELECT duration_time FROM course_section WHERE section_id = usr.section_id) as duration_time,
  514. MIN(start_time) AS start_time,
  515. MAX(end_time) AS end_time,
  516. MAX(`status`) AS `status`,
  517. any_value(ip) AS ip
  518. FROM
  519. user_study_record usr
  520. WHERE
  521. user_id = #{userId}
  522. AND order_goods_id = #{orderGoodsId}
  523. GROUP BY
  524. order_goods_id,
  525. goods_id,
  526. course_id,
  527. module_id,
  528. chapter_id,
  529. section_id
  530. </select>
  531. <select id="getExamApplyByUser" parameterType="map" resultType="com.zhongzheng.modules.user.domain.UserSubscribe">
  532. SELECT
  533. *
  534. FROM
  535. user_subscribe us
  536. LEFT JOIN goods g ON us.goods_id = g.goods_id
  537. LEFT JOIN major m ON g.major_id = m.id
  538. WHERE
  539. us.user_id = #{userId}
  540. AND INSTR( m.category_name, #{majorName} ) > 0
  541. AND us.subscribe_status = 1
  542. ORDER BY
  543. us.create_time DESC
  544. LIMIT 1
  545. </select>
  546. <select id="getExamInfo" parameterType="com.zhongzheng.modules.exam.bo.ExamApplyDetailBo" resultType="com.zhongzheng.modules.exam.vo.ExamApplyDetailVo">
  547. SELECT
  548. us.apply_id AS apply_id,
  549. us.site_id AS site_id,
  550. us.apply_site_exam_time AS exam_time,
  551. us.apply_site_start_time AS start_time,
  552. us.apply_site_end_time AS end_time
  553. FROM
  554. user_subscribe us
  555. WHERE
  556. us.subscribe_status = 1
  557. <if test="examStartTime != null and examStartTime != ''">
  558. AND us.apply_site_exam_time <![CDATA[ >= ]]> #{examStartTime}
  559. </if>
  560. <if test="examEndTime != null and examEndTime != ''">
  561. AND us.apply_site_exam_time <![CDATA[ <= ]]> #{examEndTime}
  562. </if>
  563. <if test="startTime != null and startTime != ''">
  564. AND us.apply_site_start_time = #{startTime}
  565. </if>
  566. <if test="endTime != null and endTime != ''">
  567. AND us.apply_site_end_time = #{endTime}
  568. </if>
  569. AND us.tenant_id = 867735392558919680
  570. GROUP BY
  571. us.apply_id,
  572. us.apply_site_exam_time,
  573. us.site_id,
  574. us.apply_site_start_time,
  575. us.apply_site_end_time
  576. </select>
  577. <select id="getExamUserInfo" parameterType="com.zhongzheng.modules.exam.vo.ExamApplyDetailVo" resultType="com.zhongzheng.modules.exam.vo.ExamApplyUserDetailVo">
  578. SELECT
  579. us.seat_number AS seatNum,
  580. u.realname AS userName,
  581. u.id_card AS idCard,
  582. CONCAT("https://file.xyyxt.net/",u.avatar) AS imageUrl
  583. FROM
  584. user_subscribe us
  585. LEFT JOIN `user` u ON us.user_id = u.user_id
  586. AND u.tenant_id = 867735392558919680
  587. WHERE
  588. us.subscribe_status = 1
  589. AND us.apply_id = #{applyId}
  590. AND us.apply_site_exam_time = #{examTime}
  591. AND us.site_id = #{siteId}
  592. AND us.apply_site_start_time = #{startTime}
  593. AND us.apply_site_end_time = #{endTime}
  594. AND us.tenant_id = 867735392558919680
  595. </select>
  596. <select id="getApplyGoodsId" parameterType="map" resultType="java.lang.Long">
  597. SELECT
  598. eag.goods_id
  599. FROM
  600. exam_apply_goods eag
  601. LEFT JOIN goods g ON eag.goods_id = g.goods_id
  602. LEFT JOIN major m ON g.major_id = m.id
  603. WHERE
  604. eag.apply_id = #{applyId}
  605. AND g.`status` = 1
  606. AND m.`status` = 1
  607. AND m.category_name = #{majorName}
  608. </select>
  609. <select id="getUserStudyRecordNoTenant" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.user.vo.UserStudyRecordExport">
  610. SELECT
  611. order_goods_id,
  612. goods_id,
  613. module_id,
  614. chapter_id,
  615. section_id,
  616. (SELECT goods_name FROM goods WHERE goods_id = usr.goods_id) as goods_name,
  617. (SELECT `name` FROM course_chapter WHERE chapter_id = usr.chapter_id) as chapter_name,
  618. (SELECT `name` FROM course_section WHERE section_id = usr.section_id) as section_name,
  619. (SELECT duration_time FROM course_section WHERE section_id = usr.section_id) as duration_time,
  620. ( SELECT start_time FROM user_study_record WHERE order_goods_id = 5060 AND photo IS NOT NULL ORDER BY create_time LIMIT 1) AS start_time,
  621. ( SELECT end_time FROM user_study_record WHERE order_goods_id = 5060 AND `status` = 1 LIMIT 1) AS end_time,
  622. MAX(`status`) AS `status`,
  623. any_value(ip) AS ip
  624. FROM
  625. user_study_record usr
  626. WHERE
  627. order_goods_id = #{orderGoodsId}
  628. GROUP BY
  629. order_goods_id,
  630. goods_id,
  631. course_id,
  632. module_id,
  633. chapter_id,
  634. section_id
  635. </select>
  636. <select id="getSevenMajorNames" resultType="java.lang.String">
  637. SELECT DISTINCT
  638. m.category_name
  639. FROM
  640. course_education_type cet
  641. LEFT JOIN course_project_type cpt ON cpt.education_id = cet.id
  642. AND cet.tenant_id = 867735392558919680
  643. LEFT JOIN major_project mp ON mp.project_id = cpt.id
  644. AND mp.tenant_id = 867735392558919680
  645. LEFT JOIN major m ON mp.major_id = m.id
  646. AND m.tenant_id = 867735392558919680
  647. WHERE
  648. cet.education_name = '考前培训'
  649. AND cpt.project_name = '施工现场专业人员'
  650. AND cet.`status` = 1
  651. AND cpt.`status` = 1
  652. AND m.`status` = 1
  653. AND m.tenant_id = 867735392558919680
  654. </select>
  655. <select id="getSubscribeInfo" parameterType="com.zhongzheng.modules.exam.bo.SubscribeInfoBo"
  656. resultType="com.zhongzheng.modules.user.domain.UserSubscribe">
  657. SELECT
  658. *
  659. FROM
  660. user_subscribe us
  661. LEFT JOIN order_goods og ON us.order_goods_id = og.order_goods_id
  662. LEFT JOIN goods g ON og.goods_id = g.goods_id
  663. LEFT JOIN major m ON g.major_id = m.id
  664. WHERE
  665. us.user_id = #{userId}
  666. AND us.subscribe_status = 1
  667. AND m.category_name = #{major}
  668. AND us.apply_site_exam_time = #{applyTime}
  669. <if test="applyStartTime != null and applyStartTime != ''">
  670. AND us.apply_site_start_time = #{applyStartTime}
  671. </if>
  672. <if test="applyEndTime != null and applyEndTime != ''">
  673. AND us.apply_site_end_time = #{applyEndTime}
  674. </if>
  675. LIMIT 1
  676. </select>
  677. <select id="getExamPassSub" parameterType="com.zhongzheng.modules.exam.bo.SubscribeInfoBo"
  678. resultType="com.zhongzheng.modules.user.domain.UserSubscribe">
  679. SELECT
  680. *
  681. FROM
  682. user_subscribe us
  683. LEFT JOIN order_goods og ON us.order_goods_id = og.order_goods_id
  684. LEFT JOIN goods g ON og.goods_id = g.goods_id
  685. LEFT JOIN major m ON g.major_id = m.id
  686. WHERE
  687. us.user_id = #{userId}
  688. AND us.subscribe_status = 1
  689. AND us.exam_status = 1
  690. AND us.result = 1
  691. AND m.category_name = #{major}
  692. LIMIT 1
  693. </select>
  694. </mapper>