CollectQuestionMapper.xml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  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.collect.mapper.CollectQuestionMapper">
  6. <resultMap type="com.zhongzheng.modules.collect.domain.CollectQuestion" id="CollectQuestionResult">
  7. <result property="collectQuestionId" column="collect_question_id"/>
  8. <result property="questionId" column="question_id"/>
  9. <result property="userId" column="user_id"/>
  10. <result property="createTime" column="create_time"/>
  11. <result property="examId" column="exam_id"/>
  12. <result property="goodsId" column="goods_id"/>
  13. <result property="orderGoodsId" column="order_goods_id"/>
  14. <result property="doMode" column="do_mode"/>
  15. </resultMap>
  16. <resultMap type="com.zhongzheng.modules.collect.vo.CollectQuestionVo" id="CollectQuestionVoResult">
  17. <result property="collectQuestionId" column="collect_question_id"/>
  18. <result property="questionId" column="question_id"/>
  19. <result property="userId" column="user_id"/>
  20. <result property="examId" column="exam_id"/>
  21. <result property="examName" column="exam_name"/>
  22. <result property="questionNum" column="question_num"/>
  23. <result property="content" column="content"/>
  24. <result property="goodsId" column="goods_id"/>
  25. <result property="type" column="type"/>
  26. <result property="num" column="num"/>
  27. <result property="orderGoodsId" column="order_goods_id"/>
  28. <result property="doMode" column="do_mode"/>
  29. </resultMap>
  30. <resultMap type="com.zhongzheng.modules.bank.vo.QuestionVo" id="QuestionResultVo">
  31. <result property="questionId" column="question_id"/>
  32. <result property="content" column="content"/>
  33. <result property="type" column="type"/>
  34. <result property="answerQuestion" column="answer_question"/>
  35. <result property="status" column="status"/>
  36. <result property="analysisContent" column="analysis_content"/>
  37. <result property="imgUrl" column="img_url"/>
  38. <result property="jsonStr" column="json_str"/>
  39. <result property="prefixName" column="prefix_name"/>
  40. <result property="knowledgeIds" column="knowledge_ids"/>
  41. <result property="publishStatus" column="publish_status"/>
  42. <result property="code" column="code"/>
  43. <result property="examId" column="collect_exam_id"/>
  44. <result property="goodsId" column="collect_goods_id"/>
  45. <result property="orderGoodsId" column="collect_order_goods_id"/>
  46. <result property="collectQuestionId" column="collect_question_id"/>
  47. </resultMap>
  48. <select id="selectList" parameterType="com.zhongzheng.modules.collect.bo.CollectQuestionQueryBo" resultMap="QuestionResultVo">
  49. SELECT
  50. DISTINCT q.*,
  51. cq.collect_question_id as collect_question_id,
  52. cq.exam_id as collect_exam_id,
  53. cq.goods_id as collect_goods_id,
  54. cq.order_goods_id as collect_order_goods_id
  55. FROM
  56. collect_question cq
  57. LEFT JOIN question q ON cq.question_id = q.question_id
  58. WHERE
  59. 1 = 1
  60. AND cq.user_id = #{userId}
  61. <if test="type != null and type != ''">
  62. AND q.type = #{type}
  63. </if>
  64. <if test="goodsId != null and goodsId != ''">
  65. AND cq.goods_id = #{goodsId}
  66. </if>
  67. </select>
  68. <select id="selectExamList" parameterType="com.zhongzheng.modules.collect.bo.CollectQuestionQueryBo" resultMap="CollectQuestionVoResult">
  69. SELECT
  70. e.exam_id,
  71. e.exam_name,
  72. e.create_time,
  73. COUNT( cq.question_id ) question_num,
  74. 1 AS do_mode
  75. FROM
  76. collect_question cq
  77. LEFT JOIN exam e ON cq.exam_id = e.exam_id
  78. LEFT JOIN exam_paper ep ON ep.paper_id = e.exam_paper_id
  79. LEFT JOIN goods g ON g.goods_id = cq.goods_id
  80. WHERE
  81. 1 = 1
  82. AND cq.do_mode = 1
  83. AND cq.user_id = #{userId}
  84. <if test="paperId != null and paperId != ''">
  85. AND e.exam_paper_id = #{paperId}
  86. </if>
  87. <if test="goodsId != null and goodsId != ''">
  88. AND cq.goods_id = #{goodsId}
  89. </if>
  90. <if test="orderGoodsId != null and orderGoodsId != ''">
  91. AND cq.order_goods_id = #{orderGoodsId}
  92. </if>
  93. <if test="businessId != null and businessId != ''">
  94. AND g.business_id = #{businessId}
  95. </if>
  96. <if test="educationTypeId != null and educationTypeId != ''">
  97. AND g.education_type_id = #{educationTypeId}
  98. </if>
  99. GROUP BY
  100. e.exam_id
  101. UNION ALL
  102. SELECT
  103. e.exam_id,
  104. e.exam_name,
  105. e.create_time,
  106. COUNT( cq.question_id ) question_num,
  107. 2 AS do_mode
  108. FROM
  109. collect_question cq
  110. LEFT JOIN exam_temp e ON cq.exam_id = e.exam_id
  111. LEFT JOIN exam_paper ep ON ep.paper_id = e.exam_paper_id
  112. LEFT JOIN goods g ON g.goods_id = cq.goods_id
  113. WHERE
  114. 1 = 1
  115. AND cq.do_mode = 2
  116. AND cq.user_id = #{userId}
  117. <if test="paperId != null and paperId != ''">
  118. AND e.exam_paper_id = #{paperId}
  119. </if>
  120. <if test="goodsId != null and goodsId != ''">
  121. AND cq.goods_id = #{goodsId}
  122. </if>
  123. <if test="orderGoodsId != null and orderGoodsId != ''">
  124. AND cq.order_goods_id = #{orderGoodsId}
  125. </if>
  126. <if test="businessId != null and businessId != ''">
  127. AND g.business_id = #{businessId}
  128. </if>
  129. <if test="educationTypeId != null and educationTypeId != ''">
  130. AND g.education_type_id = #{educationTypeId}
  131. </if>
  132. GROUP BY
  133. e.exam_id
  134. UNION ALL
  135. SELECT
  136. e.exam_id,
  137. e.exam_name,
  138. e.create_time,
  139. COUNT( cq.question_id ) question_num,
  140. 3 AS do_mode
  141. FROM
  142. collect_question cq
  143. LEFT JOIN exam e ON cq.exam_id = e.exam_id
  144. LEFT JOIN exam_paper ep ON ep.paper_id = e.exam_paper_id
  145. LEFT JOIN goods g ON g.goods_id = cq.goods_id
  146. WHERE
  147. 1 = 1
  148. AND cq.do_mode = 3
  149. AND cq.user_id = #{userId}
  150. <if test="paperId != null and paperId != ''">
  151. AND e.exam_paper_id = #{paperId}
  152. </if>
  153. <if test="goodsId != null and goodsId != ''">
  154. AND cq.goods_id = #{goodsId}
  155. </if>
  156. <if test="orderGoodsId != null and orderGoodsId != ''">
  157. AND cq.order_goods_id = #{orderGoodsId}
  158. </if>
  159. <if test="businessId != null and businessId != ''">
  160. AND g.business_id = #{businessId}
  161. </if>
  162. <if test="educationTypeId != null and educationTypeId != ''">
  163. AND g.education_type_id = #{educationTypeId}
  164. </if>
  165. GROUP BY
  166. e.exam_id
  167. ORDER BY
  168. create_time desc
  169. </select>
  170. <select id="selectExamQuestionList" parameterType="com.zhongzheng.modules.collect.bo.CollectQuestionQueryBo" resultMap="QuestionResultVo">
  171. SELECT
  172. DISTINCT q.*,
  173. cq.exam_id as collect_exam_id ,
  174. cq.goods_id as collect_goods_id,
  175. cq.order_goods_id as collect_order_goods_id,
  176. cq.collect_question_id as collect_question_id
  177. FROM
  178. collect_question cq
  179. LEFT JOIN question q ON q.question_id = cq.question_id
  180. WHERE
  181. 1 = 1
  182. AND cq.exam_id = #{examId}
  183. AND cq.user_id = #{userId}
  184. <if test="goodsId != null and goodsId != ''">
  185. AND cq.goods_id = #{goodsId}
  186. </if>
  187. <if test="orderGoodsId != null and orderGoodsId != ''">
  188. AND cq.order_goods_id = #{orderGoodsId}
  189. </if>
  190. </select>
  191. <select id="selectTypeNum" parameterType="com.zhongzheng.modules.collect.bo.CollectQuestionQueryBo" resultMap="CollectQuestionVoResult">
  192. SELECT
  193. q.type,
  194. count( q.question_id ) AS num,
  195. 1 AS do_mode
  196. FROM
  197. ( SELECT c.* FROM collect_question c
  198. LEFT JOIN exam e ON c.exam_id = e.exam_id
  199. LEFT JOIN exam_paper ep ON ep.paper_id = e.exam_paper_id
  200. WHERE c.user_id = #{userId}
  201. AND c.do_mode = 1
  202. <if test="paperId != null and paperId != ''">
  203. AND e.exam_paper_id = #{paperId}
  204. </if>
  205. ) cq
  206. LEFT JOIN question q ON cq.question_id = q.question_id
  207. LEFT JOIN goods g ON g.goods_id = cq.goods_id
  208. WHERE
  209. 1 = 1
  210. <if test="goodsId != null and goodsId != ''">
  211. AND cq.goods_id = #{goodsId}
  212. </if>
  213. <if test="orderGoodsId != null and orderGoodsId != ''">
  214. AND cq.order_goods_id = #{orderGoodsId}
  215. </if>
  216. <if test="businessId != null and businessId != ''">
  217. AND g.business_id = #{businessId}
  218. </if>
  219. <if test="educationTypeId != null and educationTypeId != ''">
  220. AND g.education_type_id = #{educationTypeId}
  221. </if>
  222. GROUP BY
  223. q.type
  224. UNION ALL
  225. SELECT
  226. q.type,
  227. count( q.question_id ) AS num,
  228. 2 AS do_mode
  229. FROM
  230. ( SELECT c.* FROM collect_question c
  231. LEFT JOIN exam_temp e ON c.exam_id = e.exam_id
  232. LEFT JOIN exam_paper ep ON ep.paper_id = e.exam_paper_id
  233. WHERE c.user_id = #{userId}
  234. AND c.do_mode = 2
  235. <if test="paperId != null and paperId != ''">
  236. AND e.exam_paper_id = #{paperId}
  237. </if>
  238. ) cq
  239. LEFT JOIN question q ON cq.question_id = q.question_id
  240. LEFT JOIN goods g ON g.goods_id = cq.goods_id
  241. WHERE
  242. 1 = 1
  243. <if test="goodsId != null and goodsId != ''">
  244. AND cq.goods_id = #{goodsId}
  245. </if>
  246. <if test="orderGoodsId != null and orderGoodsId != ''">
  247. AND cq.order_goods_id = #{orderGoodsId}
  248. </if>
  249. <if test="businessId != null and businessId != ''">
  250. AND g.business_id = #{businessId}
  251. </if>
  252. <if test="educationTypeId != null and educationTypeId != ''">
  253. AND g.education_type_id = #{educationTypeId}
  254. </if>
  255. GROUP BY
  256. q.type
  257. UNION ALL
  258. SELECT
  259. q.type,
  260. count( q.question_id ) AS num,
  261. 3 AS do_mode
  262. FROM
  263. ( SELECT c.* FROM collect_question c
  264. LEFT JOIN exam e ON c.exam_id = e.exam_id
  265. LEFT JOIN exam_paper ep ON ep.paper_id = e.exam_paper_id
  266. WHERE c.user_id = #{userId}
  267. AND c.do_mode = 3
  268. <if test="paperId != null and paperId != ''">
  269. AND e.exam_paper_id = #{paperId}
  270. </if>
  271. ) cq
  272. LEFT JOIN question q ON cq.question_id = q.question_id
  273. LEFT JOIN goods g ON g.goods_id = cq.goods_id
  274. WHERE
  275. 1 = 1
  276. <if test="goodsId != null and goodsId != ''">
  277. AND cq.goods_id = #{goodsId}
  278. </if>
  279. <if test="orderGoodsId != null and orderGoodsId != ''">
  280. AND cq.order_goods_id = #{orderGoodsId}
  281. </if>
  282. <if test="businessId != null and businessId != ''">
  283. AND g.business_id = #{businessId}
  284. </if>
  285. <if test="educationTypeId != null and educationTypeId != ''">
  286. AND g.education_type_id = #{educationTypeId}
  287. </if>
  288. GROUP BY
  289. q.type
  290. </select>
  291. </mapper>