CollectQuestionMapper.xml 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  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. ORDER BY
  135. create_time desc
  136. </select>
  137. <select id="selectExamQuestionList" parameterType="com.zhongzheng.modules.collect.bo.CollectQuestionQueryBo" resultMap="QuestionResultVo">
  138. SELECT
  139. DISTINCT q.*,
  140. cq.exam_id as collect_exam_id ,
  141. cq.goods_id as collect_goods_id,
  142. cq.order_goods_id as collect_order_goods_id,
  143. cq.collect_question_id as collect_question_id
  144. FROM
  145. collect_question cq
  146. LEFT JOIN question q ON q.question_id = cq.question_id
  147. WHERE
  148. 1 = 1
  149. AND cq.exam_id = #{examId}
  150. AND cq.user_id = #{userId}
  151. <if test="goodsId != null and goodsId != ''">
  152. AND cq.goods_id = #{goodsId}
  153. </if>
  154. <if test="orderGoodsId != null and orderGoodsId != ''">
  155. AND cq.order_goods_id = #{orderGoodsId}
  156. </if>
  157. </select>
  158. <select id="selectTypeNum" parameterType="com.zhongzheng.modules.collect.bo.CollectQuestionQueryBo" resultMap="CollectQuestionVoResult">
  159. SELECT
  160. q.type,
  161. count( q.question_id ) AS num,
  162. 1 AS do_mode
  163. FROM
  164. ( SELECT c.* FROM collect_question c
  165. LEFT JOIN exam e ON c.exam_id = e.exam_id
  166. LEFT JOIN exam_paper ep ON ep.paper_id = e.exam_paper_id
  167. WHERE c.user_id = #{userId}
  168. AND c.do_mode = 1
  169. <if test="paperId != null and paperId != ''">
  170. AND e.exam_paper_id = #{paperId}
  171. </if>
  172. ) cq
  173. LEFT JOIN question q ON cq.question_id = q.question_id
  174. LEFT JOIN goods g ON g.goods_id = cq.goods_id
  175. WHERE
  176. 1 = 1
  177. <if test="goodsId != null and goodsId != ''">
  178. AND cq.goods_id = #{goodsId}
  179. </if>
  180. <if test="orderGoodsId != null and orderGoodsId != ''">
  181. AND cq.order_goods_id = #{orderGoodsId}
  182. </if>
  183. <if test="businessId != null and businessId != ''">
  184. AND g.business_id = #{businessId}
  185. </if>
  186. <if test="educationTypeId != null and educationTypeId != ''">
  187. AND g.education_type_id = #{educationTypeId}
  188. </if>
  189. GROUP BY
  190. q.type
  191. UNION ALL
  192. SELECT
  193. q.type,
  194. count( q.question_id ) AS num,
  195. 2 AS do_mode
  196. FROM
  197. ( SELECT c.* FROM collect_question c
  198. LEFT JOIN exam_temp 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 = 2
  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. </select>
  225. </mapper>