UserSubscribeMapper.xml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585
  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.user.mapper.UserSubscribeMapper">
  6. <resultMap type="com.zhongzheng.modules.user.domain.UserSubscribe" id="UserSubscribeResult">
  7. <result property="subscribeId" column="subscribe_id"/>
  8. <result property="goodsId" column="goods_id"/>
  9. <result property="userId" column="user_id"/>
  10. <result property="subscribeStatus" column="subscribe_status"/>
  11. <result property="beforeStatus" column="before_status"/>
  12. <result property="examStatus" column="exam_status"/>
  13. <result property="performance" column="performance"/>
  14. <result property="result" column="result"/>
  15. <result property="certificateCode" column="certificate_code"/>
  16. <result property="applyId" column="apply_id"/>
  17. <result property="studentType" column="student_type"/>
  18. <result property="examExpend" column="exam_expend"/>
  19. <result property="beforeExpend" column="before_expend"/>
  20. <result property="createTime" column="create_time"/>
  21. <result property="updateTime" column="update_time"/>
  22. <result property="importNo" column="import_no"/>
  23. <result property="orderGoodsId" column="order_goods_id"/>
  24. <result property="examineeCode" column="examinee_code"/>
  25. <result property="reportStatus" column="report_status"/>
  26. <result property="seatNumber" column="seat_number"/>
  27. <result property="reportFile" column="report_file"/>
  28. <result property="siteId" column="site_id"/>
  29. <result property="syncStatus" column="sync_status"/>
  30. <result property="roomAddress" column="room_address"/>
  31. <result property="syncResult" column="sync_result"/>
  32. <result property="roomName" column="room_name"/>
  33. <result property="roomId" column="room_id"/>
  34. <result property="roomCode" column="room_code"/>
  35. <result property="wisdomExamStatus" column="wisdom_exam_status"/>
  36. <result property="wisdomReportTime" column="wisdom_report_time"/>
  37. <result property="wisdomTemperature" column="wisdom_temperature"/>
  38. <result property="syncExamResult" column="sync_exam_result"/>
  39. <result property="signaturePushTime" column="signature_push_time"/>
  40. <result property="reportFileTime" column="report_file_time"/>
  41. <result property="snapPictures" column="snap_pictures"/>
  42. </resultMap>
  43. <resultMap type="com.zhongzheng.modules.user.vo.UserSubscribeVo" id="UserSubscribeVo">
  44. <result property="subscribeId" column="subscribe_id"/>
  45. <result property="goodsId" column="goods_id"/>
  46. <result property="userId" column="user_id"/>
  47. <result property="subscribeStatus" column="subscribe_status"/>
  48. <result property="beforeStatus" column="before_status"/>
  49. <result property="examStatus" column="exam_status"/>
  50. <result property="performance" column="performance"/>
  51. <result property="result" column="result"/>
  52. <result property="certificateCode" column="certificate_code"/>
  53. <result property="applyId" column="apply_id"/>
  54. <result property="studentType" column="student_type"/>
  55. <result property="examExpend" column="exam_expend"/>
  56. <result property="beforeExpend" column="before_expend"/>
  57. <result property="createTime" column="create_time"/>
  58. <result property="goodsName" column="goods_name"/>
  59. <result property="categoryName" column="category_name"/>
  60. <result property="goodsCode" column="goods_code"/>
  61. <result property="remark" column="remark"/>
  62. <result property="standPrice" column="stand_price"/>
  63. <result property="realname" column="realname"/>
  64. <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
  65. <result property="applyName" column="apply_name"/>
  66. <result property="beforeId" column="before_id"/>
  67. <result property="beforeName" column="before_name"/>
  68. <result property="applySiteAddress" column="apply_site_address"/>
  69. <result property="applySiteStartTime" column="apply_site_start_time"/>
  70. <result property="applySiteEndTime" column="apply_site_end_time"/>
  71. <result property="applySiteExamTime" column="apply_site_exam_time"/>
  72. <result property="applySiteAddressTrain" column="apply_site_address_train"/>
  73. <result property="applySiteStartTrainTime" column="apply_site_start_train_time"/>
  74. <result property="applySiteEndTrainTime" column="apply_site_end_train_time"/>
  75. <result property="applySiteExamTrainTime" column="apply_site_exam_train_time"/>
  76. <result property="applyStartTime" column="apply_start_time"/>
  77. <result property="applyEndTime" column="apply_end_time"/>
  78. <result property="businessId" column="business_id"/>
  79. <result property="beforeCount" column="before_count"/>
  80. <result property="beforeName" column="before_name"/>
  81. <result property="importNo" column="import_no"/>
  82. <result property="orderGoodsId" column="order_goods_id"/>
  83. <result property="examineeCode" column="examinee_code"/>
  84. <result property="reportStatus" column="report_status"/>
  85. <result property="seatNumber" column="seat_number"/>
  86. <result property="reportFile" column="report_file"/>
  87. <result property="siteId" column="site_id"/>
  88. <result property="syncStatus" column="sync_status"/>
  89. <result property="roomAddress" column="room_address"/>
  90. <result property="syncResult" column="sync_result"/>
  91. <result property="roomName" column="room_name"/>
  92. <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
  93. <result property="idCardImg1" column="id_card_img1"/>
  94. <result property="idCardImg2" column="id_card_img2"/>
  95. <result property="oneInchPhotos" column="one_inch_photos"/>
  96. <result property="centerId" column="center_id"/>
  97. <result property="applyCode" column="apply_code"/>
  98. <result property="roomId" column="room_id"/>
  99. <result property="roomCode" column="room_code"/>
  100. <result property="wisdomExamStatus" column="wisdom_exam_status"/>
  101. <result property="wisdomReportTime" column="wisdom_report_time"/>
  102. <result property="wisdomTemperature" column="wisdom_temperature"/>
  103. <result property="syncExamResult" column="sync_exam_result"/>
  104. <result property="signaturePushTime" column="signature_push_time"/>
  105. <result property="reportFileTime" column="report_file_time"/>
  106. <result property="applyReportStatus" column="apply_report_status"/>
  107. <result property="fromPlat" column="from_plat"/>
  108. <result property="snapPictures" column="snap_pictures"/>
  109. </resultMap>
  110. <resultMap type="com.zhongzheng.modules.user.vo.UserVo" id="UserVoResult">
  111. <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
  112. <result property="realname" column="realname"/>
  113. <result property="job" column="job"/>
  114. <result property="sex" column="sex"/>
  115. <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
  116. <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
  117. <result property="eduLevel" column="edu_level"/>
  118. <result property="oneInchPhotos" column="one_inch_photos"/>
  119. <result property="idCardImg1" column="id_card_img1"/>
  120. <result property="idCardImg2" column="id_card_img2"/>
  121. <result property="keyValue" column="key_value"/>
  122. </resultMap>
  123. <select id="listSubscribe" parameterType="com.zhongzheng.modules.user.bo.UserSubscribeQueryBo" resultMap="UserSubscribeVo">
  124. SELECT
  125. us.*, eb.before_name,
  126. (SELECT g.goods_name FROM goods g where us.goods_id = g.goods_id) as goods_name,
  127. (SELECT g.code FROM goods g where us.goods_id = g.goods_id) as goods_code,
  128. (SELECT g.stand_price FROM goods g where us.goods_id = g.goods_id) as stand_price,
  129. (SELECT m.category_name FROM goods g LEFT JOIN major m on g.major_id= m.id where us.goods_id = g.goods_id) as category_name,
  130. u.realname,
  131. u.id_card,
  132. (SELECT ea.apply_name FROM exam_apply ea where ea.apply_id = us.apply_id) as apply_name,
  133. (SELECT ea.apply_start_time FROM exam_apply ea where ea.apply_id = us.apply_id) as apply_start_time,
  134. (SELECT ea.apply_end_time FROM exam_apply ea where ea.apply_id = us.apply_id) as apply_end_time,
  135. (SELECT eb.before_name FROM exam_before eb where eb.before_id = us.before_id) as before_name,
  136. (SELECT ea.report_status FROM exam_apply ea where ea.apply_id = us.apply_id) as apply_report_status,
  137. (SELECT ueg.do_number-ueg.expend_before FROM user_exam_goods ueg where ueg.goods_id = us.goods_id and ueg.user_id = us.user_id ORDER BY user_exam_goods_id DESC limit 1) as before_count,
  138. ueg.exam_number,
  139. ueg.do_number,
  140. ueg.expend_number,
  141. es.from_plat,
  142. ueg.expend_before
  143. FROM
  144. user_subscribe us
  145. LEFT JOIN exam_before eb ON us.before_id = eb.before_id
  146. LEFT JOIN `user` u ON us.user_id = u.user_id
  147. LEFT JOIN goods g ON us.goods_id = g.goods_id
  148. <if test="createUsername != null and createUsername != '' ">
  149. LEFT JOIN order_goods og ON us.order_goods_id = og.order_goods_id
  150. LEFT JOIN `order` o ON og.order_sn = o.order_sn
  151. </if>
  152. LEFT JOIN course_business cb on g.business_id = cb.id
  153. LEFT JOIN user_exam_goods ueg ON ueg.order_goods_id = us.order_goods_id
  154. LEFT JOIN exam_site es ON us.site_id = es.site_id
  155. WHERE
  156. 1 =1
  157. <if test="applySiteAddress != null and applySiteAddress != '' ">
  158. and us.apply_site_address = #{applySiteAddress}
  159. </if>
  160. <if test="canCancel != null and canCancel == 1 ">
  161. and us.subscribe_status = 1
  162. and LEFT(us.apply_site_start_time,2)*3600+RIGHT(us.apply_site_start_time,2)*60+us.apply_site_exam_time > unix_timestamp(now())
  163. and us.exam_status = 0
  164. and us.before_status = 0
  165. </if>
  166. <if test="canBefore != null and canBefore == 1 ">
  167. and us.subscribe_status = 1
  168. and us.exam_status = 0
  169. and us.before_id = #{beforeId}
  170. and (SELECT count(*) from exam_before_apply eba LEFT JOIN exam_apply_goods eag on eag.apply_id = eba.apply_id where eba.before_id = #{beforeId} and eag.goods_id = us.goods_id) >0
  171. and (us.before_status = 1 or (SELECT count(*) from user_exam_goods ueg where ueg.user_id = us.user_id and ueg.goods_id = us.goods_id and ueg.do_number - ueg.expend_before>0)>0)
  172. </if>
  173. <if test="canExam != null and canExam == 1 ">
  174. and us.subscribe_status = 1
  175. </if>
  176. <if test="searchKey != null and searchKey != '' and searchType == 0 ">
  177. and (u.realname like concat('%', #{searchKey}, '%') or u.id_card like concat('%', #{searchKey}, '%'))
  178. </if>
  179. <if test="idCards != null and idCards.size()!=0 and searchType == 0" >
  180. AND u.id_card in
  181. <foreach collection="idCards" item="item" index="index" open="(" close=")" separator=",">
  182. #{item,typeHandler=com.zhongzheng.common.type.EncryptHandler}
  183. </foreach>
  184. </if>
  185. <if test="searchType == 1" >
  186. and (u.realname like concat('%', #{searchKey}, '%') or u.id_card like concat('%', #{searchKey}, '%') or
  187. u.id_card in
  188. <foreach collection="idCards" item="item" index="index" open="(" close=")" separator=",">
  189. #{item,typeHandler=com.zhongzheng.common.type.EncryptHandler}
  190. </foreach>)
  191. </if>
  192. <if test="userId != null and userId != '' ">
  193. and us.user_id = #{userId}
  194. </if>
  195. <if test="goodsId != null and goodsId != '' ">
  196. and us.goods_id = #{goodsId}
  197. </if>
  198. <if test="gradeType != null and gradeType != '' ">
  199. and g.grade_type = #{gradeType}
  200. </if>
  201. <if test="educationTypeId != null and educationTypeId != '' ">
  202. and g.education_type_id = #{educationTypeId}
  203. </if>
  204. <if test="businessId != null and businessId != '' ">
  205. and g.business_id = #{businessId}
  206. </if>
  207. <if test="createUsername != null and createUsername != '' ">
  208. and o.create_username like concat('%', #{create_username}, '%')
  209. </if>
  210. <if test="questionOpenNum != null and questionOpenNum != '' ">
  211. and u.question_open_num = #{questionOpenNum}
  212. </if>
  213. <if test="questionMerchantName != null and questionMerchantName != '' ">
  214. and o.question_merchant_name = #{questionMerchantName}
  215. </if>
  216. <if test="orderGoodsId != null and orderGoodsId != '' ">
  217. and us.order_goods_id = #{orderGoodsId}
  218. </if>
  219. <if test="result != null ">
  220. and us.result = #{result}
  221. </if>
  222. <if test="subscribeId != null and subscribeId != '' ">
  223. and us.subscribe_id = #{subscribeId}
  224. </if>
  225. <if test="applySiteExamTime != null and applySiteExamTime != '' ">
  226. and us.apply_site_exam_time = #{applySiteExamTime}
  227. </if>
  228. <if test="monthStartTime != null and monthStartTime != '' ">
  229. and us.apply_site_exam_time &gt;= #{monthStartTime}
  230. </if>
  231. <if test="monthEndTime != null and monthEndTime != '' ">
  232. and us.apply_site_exam_time &lt;= #{monthEndTime}
  233. </if>
  234. <if test="applySiteStartTime != null and applySiteStartTime != '' ">
  235. and us.apply_site_start_time = #{applySiteStartTime}
  236. </if>
  237. <if test="applySiteEndTime != null and applySiteEndTime != '' ">
  238. and us.apply_site_end_time = #{applySiteEndTime}
  239. </if>
  240. <if test="subscribeStatus != null and subscribeStatus != '' ">
  241. and us.subscribe_status = #{subscribeStatus}
  242. </if>
  243. <if test="beforeStatus != null and beforeStatus != '' ">
  244. and us.before_status = #{beforeStatus}
  245. </if>
  246. <if test="applyId != null and applyId != '' ">
  247. and us.apply_id = #{applyId}
  248. </if>
  249. <if test="studentType != null and studentType != '' ">
  250. and us.student_type = #{studentType}
  251. </if>
  252. <if test="examStatus != null ">
  253. and us.exam_status = #{examStatus}
  254. </if>
  255. <if test="beforeStatus != null ">
  256. and us.before_status = #{beforeStatus}
  257. </if>
  258. <if test="examExpend != null ">
  259. and us.exam_expend is NOT NULL
  260. </if>
  261. <if test="beforeExpend != null ">
  262. and us.before_expend is NOT NULL
  263. </if>
  264. <if test="beforeId != null and canBefore == null">
  265. and us.before_id =#{beforeId}
  266. </if>
  267. <if test="exceedExamExpend != null and exceedExamExpend == 1">
  268. and us.exam_expend = 1
  269. </if>
  270. <if test="exceedExamExpend != null and exceedExamExpend == 2">
  271. and (us.exam_expend is null or us.exam_expend = 0)
  272. </if>
  273. <if test="exceed != null ">
  274. and unix_timestamp(now()) > us.apply_site_exam_time and us.exam_expend is NULL and us.subscribe_status = 1
  275. </if>
  276. <if test="majorId != null and majorId != '' ">
  277. and (SELECT m.id FROM goods g LEFT JOIN major m on g.major_id= m.id where us.goods_id = g.goods_id) = #{majorId}
  278. </if>
  279. <if test="realname != null and realname != '' ">
  280. and (SELECT u.realname FROM `user` u where us.user_id = u.user_id) like concat('%', #{realname}, '%')
  281. </if>
  282. <if test="syncStatus != null ">
  283. and us.sync_status = #{syncStatus}
  284. </if>
  285. <!-- 数据范围过滤 -->
  286. ${params.dataScope}
  287. order by us.create_time desc
  288. </select>
  289. <select id="selectGoodsName" parameterType="string" resultType="String">
  290. SELECT g.goods_name FROM goods g where g.`code`=#{code} and g.status = 1
  291. </select>
  292. <select id="selectGoodsId" parameterType="string" resultType="Long">
  293. SELECT g.goods_id FROM goods g where g.`code`=#{code} and g.status = 1
  294. </select>
  295. <select id="selectUserId" parameterType="map" resultType="Long">
  296. SELECT u.user_id FROM `user` u where u.realname=#{userName} and u.id_card=#{idCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}
  297. </select>
  298. <select id="selectBeforeId" parameterType="map" resultType="Long">
  299. SELECT eb.before_id FROM exam_before eb where eb.before_name=#{beforeName} and eb.status = 1
  300. </select>
  301. <select id="findApplyId" parameterType="map" resultType="Long">
  302. SELECT ea.apply_id FROM exam_apply ea where ea.apply_name=#{applyName} and ea.status != -1
  303. </select>
  304. <select id="selectApplyId" parameterType="map" resultType="Long">
  305. SELECT ea.apply_id FROM exam_apply ea where ea.apply_name=#{applyName} and ea.status != -1
  306. </select>
  307. <select id="selectSubscribeId" parameterType="map" resultType="Long">
  308. SELECT
  309. us.subscribe_id
  310. FROM
  311. user_subscribe us
  312. WHERE 1=1
  313. and us.subscribe_status =1
  314. and us.apply_id = #{applyId}
  315. and us.goods_id=#{goodsId}
  316. and us.user_id = #{userId}
  317. LIMIT 1
  318. </select>
  319. <select id="selectSubscribeUpdateId" parameterType="map" resultMap="UserSubscribeVo">
  320. SELECT
  321. us.*
  322. FROM
  323. user_subscribe us
  324. WHERE 1=1
  325. and us.subscribe_status =1
  326. and us.apply_id = #{applyId}
  327. and us.goods_id=#{goodsId}
  328. and us.user_id = #{userId}
  329. and us.apply_site_exam_time = #{applySiteExamTime}
  330. and us.apply_site_start_time = #{applySiteStartTime}
  331. and us.apply_site_end_time = #{applySiteEndTime}
  332. and us.apply_site_address = #{applySiteAddress}
  333. LIMIT 1
  334. </select>
  335. <select id="selectAddSubscribeId" parameterType="map" resultType="Long">
  336. SELECT
  337. us.subscribe_id
  338. FROM
  339. user_subscribe us
  340. WHERE 1=1
  341. and ((us.subscribe_status =1 and us.exam_status =0) or us.result = 1)
  342. and us.apply_id = #{applyId}
  343. and us.goods_id=#{goodsId}
  344. and us.user_id = #{userId}
  345. limit 1
  346. </select>
  347. <select id="selectAddSubscribeCount" parameterType="map" resultType="Long">
  348. SELECT
  349. COUNT(us.subscribe_id)
  350. FROM
  351. user_subscribe us
  352. WHERE 1=1
  353. and ((us.subscribe_status =1 and us.exam_status =0) or us.result = 1)
  354. and us.order_goods_id = #{orderGoodsId}
  355. and us.user_id = #{userId}
  356. </select>
  357. <select id="queryBusinessId" parameterType="map" resultType="Long">
  358. SELECT
  359. COUNT( 1 )
  360. FROM
  361. user_subscribe us
  362. LEFT JOIN exam_apply ea ON ea.apply_id = us.apply_id
  363. LEFT JOIN exam_apply_goods eag on ea.apply_id = eag.apply_id
  364. LEFT JOIN goods g on eag.goods_id = g.goods_id
  365. where 1=1
  366. AND g.business_id = #{businessId}
  367. AND us.subscribe_id = #{subscribeId}
  368. </select>
  369. <select id="timeSend" resultMap="UserSubscribeVo">
  370. SELECT
  371. * ,
  372. (SELECT g.business_id FROM goods g where g.goods_id = us.goods_id) as business_id
  373. FROM
  374. user_subscribe us
  375. WHERE us.subscribe_status = 1
  376. and unix_timestamp(now())+86400 > us.apply_site_exam_time
  377. and unix_timestamp(now()) &lt; us.apply_site_exam_time
  378. and (SELECT COUNT(1) FROM inform_remind ir LEFT JOIN inform_remind_business irb on ir.id = irb.remind_id where ir.id=16 and (SELECT g.business_id FROM goods g where g.goods_id = us.goods_id) = irb.business_id) > 0
  379. </select>
  380. <select id="signTimeSend" resultMap="UserSubscribeVo">
  381. SELECT
  382. us.*,
  383. ea.apply_name
  384. FROM
  385. user_subscribe us
  386. LEFT JOIN exam_apply ea on us.apply_id = ea.apply_id
  387. WHERE us.subscribe_status = 1
  388. and ea.report_status = 1
  389. and us.report_status = 0
  390. and us.signature_push_time is NULL
  391. and unix_timestamp(now())+86400 > us.apply_site_exam_time
  392. and unix_timestamp(now()) &lt; us.apply_site_exam_time
  393. and (SELECT COUNT(1) FROM inform_remind ir LEFT JOIN inform_remind_business irb on ir.id = irb.remind_id where ir.id=34 and (SELECT g.business_id FROM goods g where g.goods_id = us.goods_id) = irb.business_id) > 0
  394. </select>
  395. <select id="sendExamSucceed" parameterType="map" resultType="Long">
  396. SELECT
  397. COUNT( 1 )
  398. FROM
  399. inform_remind ir
  400. LEFT JOIN inform_remind_business irb on irb.remind_id =ir.id
  401. LEFT JOIN goods g on g.business_id = irb.business_id
  402. where 1=1
  403. and g.goods_id = #{goodsId}
  404. </select>
  405. <select id="listSubscribeByUser" parameterType="com.zhongzheng.modules.user.bo.UserSubscribeQueryBo" resultMap="UserSubscribeVo">
  406. SELECT
  407. us.user_id,
  408. u.realname,
  409. u.id_card
  410. FROM
  411. ( SELECT user_id FROM user_subscribe GROUP BY user_id ) us
  412. LEFT JOIN `user` u ON us.user_id = u.user_id
  413. WHERE
  414. 1 =1
  415. <if test="searchKey != null and searchKey != '' ">
  416. and (u.realname like concat('%', #{searchKey}, '%') or u.id_card like concat('%', #{searchKey}, '%'))
  417. </if>
  418. </select>
  419. <select id="getRecentExam" parameterType="com.zhongzheng.modules.user.bo.UserSubscribeQueryBo" resultMap="UserSubscribeVo">
  420. SELECT
  421. us.*
  422. FROM
  423. user_subscribe us
  424. WHERE
  425. 1 =1
  426. AND us.user_id = #{userId}
  427. AND us.subscribe_status = 1
  428. AND LEFT(us.apply_site_start_time,2)*3600+RIGHT(us.apply_site_start_time,2)*60+us.apply_site_exam_time > unix_timestamp(now())
  429. ORDER by us.apply_site_exam_time limit 1
  430. </select>
  431. <select id="getConsoleTestSubscribeNum" parameterType="com.zhongzheng.modules.base.bo.ConsoleQueryBo" resultType="Integer">
  432. SELECT
  433. COUNT(us.subscribe_id)
  434. FROM
  435. user_subscribe us
  436. LEFT JOIN goods g ON us.goods_id = g.goods_id
  437. WHERE
  438. 1=1
  439. <if test="orderGoodsId != null">
  440. AND us.order_goods_id = #{orderGoodsId}
  441. </if>
  442. <if test="businessId != null">
  443. AND g.business_id = #{businessId}
  444. </if>
  445. <if test="subscribeStatus != null">
  446. AND us.subscribe_status = #{subscribeStatus}
  447. </if>
  448. <if test="examStatus != null">
  449. AND us.exam_status = #{examStatus}
  450. </if>
  451. <if test="subStartTime != null">
  452. AND us.create_time &gt; #{subStartTime}
  453. </if>
  454. <if test="subEndTime != null">
  455. AND us.create_time &lt; #{subEndTime}
  456. </if>
  457. </select>
  458. <select id="selectApplyUserList" parameterType="map" resultMap="UserSubscribeVo">
  459. SELECT
  460. us.*,
  461. u.realname,
  462. u.id_card,
  463. u.telphone,
  464. u.id_card_img1,
  465. u.id_card_img2,
  466. u.one_inch_photos,
  467. es.center_id,
  468. ea.code as apply_code,
  469. ea.apply_name
  470. FROM
  471. user_subscribe us
  472. LEFT JOIN `user` u on u.user_id =us.user_id
  473. LEFT JOIN exam_apply ea on us.apply_id = ea.apply_id
  474. LEFT JOIN exam_site es on us.site_id = es.site_id
  475. WHERE 1=1
  476. and us.apply_id = #{applyId}
  477. and es.from_plat = 2
  478. </select>
  479. <select id="listUserExport" parameterType="com.zhongzheng.modules.user.bo.UserSubscribeQueryBo" resultMap="UserVoResult">
  480. SELECT
  481. us.*,u.company_name,u.job,u.edu_level,u.realname,u.telphone,u.id_card,u.sex,u.id_card_img1,u.id_card_img2,u.one_inch_photos,up.key_value
  482. FROM
  483. user_subscribe us
  484. LEFT JOIN `user` u on u.user_id =us.user_id
  485. LEFT JOIN user_profile up on us.order_goods_id =up.order_goods_id and up.current_status = 1
  486. and up.type_status = 1
  487. WHERE
  488. us.subscribe_status = 1
  489. <if test="applyId != null and applyId != '' ">
  490. and us.apply_id = #{applyId}
  491. </if>
  492. <if test="applySiteExamTime != null and applySiteExamTime != '' ">
  493. and us.apply_site_exam_time = #{applySiteExamTime}
  494. </if>
  495. <if test="applySiteStartTime != null and applySiteStartTime != '' ">
  496. and us.apply_site_start_time = #{applySiteStartTime}
  497. </if>
  498. <if test="applySiteEndTime != null and applySiteEndTime != '' ">
  499. and us.apply_site_end_time = #{applySiteEndTime}
  500. </if>
  501. <if test="siteId != null and siteId != '' ">
  502. and us.site_id = #{siteId}
  503. </if>
  504. </select>
  505. <select id="listSignExport" parameterType="com.zhongzheng.modules.user.bo.UserSubscribeQueryBo" resultMap="UserSubscribeVo">
  506. SELECT
  507. us.*,u.realname,u.id_card,u.telphone
  508. FROM
  509. user_subscribe us
  510. LEFT JOIN `user` u on u.user_id =us.user_id
  511. WHERE
  512. us.subscribe_status = 1
  513. <if test="applyId != null and applyId != '' ">
  514. and us.apply_id = #{applyId}
  515. </if>
  516. <if test="applySiteExamTime != null and applySiteExamTime != '' ">
  517. and us.apply_site_exam_time = #{applySiteExamTime}
  518. </if>
  519. <if test="applySiteStartTime != null and applySiteStartTime != '' ">
  520. and us.apply_site_start_time = #{applySiteStartTime}
  521. </if>
  522. <if test="applySiteEndTime != null and applySiteEndTime != '' ">
  523. and us.apply_site_end_time = #{applySiteEndTime}
  524. </if>
  525. <if test="siteId != null and siteId != '' ">
  526. and us.site_id = #{siteId}
  527. </if>
  528. </select>
  529. <select id="selectMajorId" parameterType="java.lang.String" resultType="java.lang.Long">
  530. SELECT
  531. DISTINCT(m.id)
  532. FROM
  533. major m
  534. LEFT JOIN major_project mp ON m.id = mp.major_id
  535. LEFT JOIN course_project_type cpt ON mp.project_id = cpt.id
  536. LEFT JOIN course_education_type cet ON cpt.education_id = cet.id
  537. WHERE
  538. m.category_name = #{majorName}
  539. AND INSTR( '施工现场专业人员', cpt.project_name ) > 0
  540. AND INSTR( '考前培训', cet.education_name ) > 0
  541. </select>
  542. <select id="getGoodsIds" parameterType="map" resultType="java.lang.Long">
  543. SELECT
  544. DISTINCT(g.goods_id)
  545. FROM
  546. `exam_apply` ea
  547. LEFT JOIN exam_apply_goods eag ON ea.apply_id = eag.apply_id
  548. LEFT JOIN goods g ON eag.goods_id = g.goods_id
  549. LEFT JOIN order_goods og ON g.goods_id = og.goods_id
  550. LEFT JOIN `order` o ON og.order_sn = o.order_sn
  551. WHERE
  552. ea.apply_id = #{applyId}
  553. AND o.user_id = #{userId}
  554. AND g.major_id = #{majorId}
  555. AND g.`status` = 1
  556. AND og.`status` = 1
  557. AND og.refund_status != 2
  558. AND og.pay_status IN (2,3,4)
  559. </select>
  560. </mapper>