PartyAnswerActivityHisMapper.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  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.inspur.mapper.PartyAnswerActivityHisMapper">
  6. <resultMap type="com.inspur.domain.app.PartyAnswerActivityHis" id="PartyAnswerActivityHisResult">
  7. <result property="id" column="id" />
  8. <result property="appUserId" column="app_user_id" />
  9. <result property="actId" column="act_id" />
  10. <result property="actQuestionTotal" column="act_question_total" />
  11. <result property="rightNum" column="right_num" />
  12. <result property="rightRate" column="right_rate" />
  13. <result property="useTime" column="use_time" />
  14. <result property="useTimeStr" column="use_time_str" />
  15. <result property="submitTime" column="submit_time" />
  16. <result property="actTotalScore" column="act_total_score" />
  17. <result property="totalScore" column="total_score" />
  18. <result property="errorNum" column="error_num" />
  19. <result property="errorRate" column="error_rate" />
  20. <result property="notNum" column="not_num" />
  21. <result property="notRate" column="not_rate" />
  22. <result property="createTime" column="create_time" />
  23. <result property="singleNum" column="single_num" />
  24. <result property="singleScore" column="single_score" />
  25. <result property="multipleNum" column="multiple_num" />
  26. <result property="multipleScore" column="multiple_score" />
  27. <result property="judgeNum" column="judge_num" />
  28. <result property="judgeScore" column="judge_score" />
  29. <result property="actTitle" column="act_title" />
  30. <result property="userTableId" column="user_table_id" />
  31. <result property="memberName" column="name" />
  32. <result property="picPath" column="pic_path" />
  33. <result property="gender" column="gender" />
  34. </resultMap>
  35. <sql id="selectPartyAnswerActivityHisVo">
  36. select id, app_user_id, act_id, act_question_total, right_num, right_rate, use_time, use_time_str, submit_time, act_total_score, total_score, error_num, error_rate,
  37. not_num, not_rate, create_time, single_num, single_score, multiple_num, multiple_score, judge_num, judge_score,user_table_id from party_answer_activity_his
  38. </sql>
  39. <select id="selectPartyAnswerActivityHisList" parameterType="com.inspur.domain.app.PartyAnswerActivityHis" resultMap="PartyAnswerActivityHisResult">
  40. select h.id, h.app_user_id, h.act_id, h.act_question_total, h.right_num, h.right_rate, h.use_time, h.use_time_str, h.submit_time, h.act_total_score,
  41. h.total_score, h.error_num, h.error_rate, h.not_num, h.not_rate, h.create_time, h.single_num, h.single_score, h.multiple_num, h.multiple_score,
  42. h.judge_num, h.judge_score,h.user_table_id,a.act_title from party_answer_activity_his h
  43. left join party_answer_activity a on h.act_id = a.id
  44. <where>
  45. <if test="appUserId != null "> and h.app_user_id = #{appUserId}</if>
  46. <if test="actId != null "> and h.act_id = #{actId}</if>
  47. <if test="actQuestionTotal != null "> and h.act_question_total = #{actQuestionTotal}</if>
  48. <if test="rightNum != null "> and h.right_num = #{rightNum}</if>
  49. <if test="rightRate != null and rightRate != ''"> and h.right_rate = #{rightRate}</if>
  50. <if test="useTime != null "> and h.use_time = #{useTime}</if>
  51. <if test="useTimeStr != null and useTimeStr != ''"> and h.use_time_str = #{useTimeStr}</if>
  52. <if test="submitTime != null "> and h.submit_time = #{submitTime}</if>
  53. <if test="actTotalScore != null "> and h.act_total_score = #{actTotalScore}</if>
  54. <if test="totalScore != null "> and h.total_score = #{totalScore}</if>
  55. <if test="errorNum != null "> and h.error_num = #{errorNum}</if>
  56. <if test="errorRate != null and errorRate != ''"> and h.error_rate = #{errorRate}</if>
  57. <if test="notNum != null "> and h.not_num = #{notNum}</if>
  58. <if test="notRate != null and notRate != ''"> and h.not_rate = #{notRate}</if>
  59. <if test="singleNum != null "> and h.single_num = #{singleNum}</if>
  60. <if test="singleScore != null "> and h.single_score = #{singleScore}</if>
  61. <if test="multipleNum != null "> and h.multiple_num = #{multipleNum}</if>
  62. <if test="multipleScore != null "> and h.multiple_score = #{multipleScore}</if>
  63. <if test="judgeNum != null "> and h.judge_num = #{judgeNum}</if>
  64. <if test="judgeScore != null "> and h.judge_score = #{judgeScore}</if>
  65. <if test="userTableId != null "> and h.user_table_id = #{userTableId}</if>
  66. </where>
  67. order by h.submit_time desc
  68. </select>
  69. <select id="selectPartyAnswerActivityHisById" parameterType="Long" resultMap="PartyAnswerActivityHisResult">
  70. <include refid="selectPartyAnswerActivityHisVo"/>
  71. where id = #{id}
  72. </select>
  73. <insert id="insertPartyAnswerActivityHis" parameterType="com.inspur.domain.app.PartyAnswerActivityHis" useGeneratedKeys="true" keyProperty="id">
  74. insert into party_answer_activity_his
  75. <trim prefix="(" suffix=")" suffixOverrides=",">
  76. <if test="appUserId != null">app_user_id,</if>
  77. <if test="actId != null">act_id,</if>
  78. <if test="actQuestionTotal != null">act_question_total,</if>
  79. <if test="rightNum != null">right_num,</if>
  80. <if test="rightRate != null">right_rate,</if>
  81. <if test="useTime != null">use_time,</if>
  82. <if test="useTimeStr != null">use_time_str,</if>
  83. <if test="submitTime != null">submit_time,</if>
  84. <if test="actTotalScore != null">act_total_score,</if>
  85. <if test="totalScore != null">total_score,</if>
  86. <if test="errorNum != null">error_num,</if>
  87. <if test="errorRate != null">error_rate,</if>
  88. <if test="notNum != null">not_num,</if>
  89. <if test="notRate != null">not_rate,</if>
  90. <if test="createTime != null">create_time,</if>
  91. <if test="singleNum != null">single_num,</if>
  92. <if test="singleScore != null">single_score,</if>
  93. <if test="multipleNum != null">multiple_num,</if>
  94. <if test="multipleScore != null">multiple_score,</if>
  95. <if test="judgeNum != null">judge_num,</if>
  96. <if test="judgeScore != null">judge_score,</if>
  97. <if test="userTableId != null">user_table_id,</if>
  98. </trim>
  99. <trim prefix="values (" suffix=")" suffixOverrides=",">
  100. <if test="appUserId != null">#{appUserId},</if>
  101. <if test="actId != null">#{actId},</if>
  102. <if test="actQuestionTotal != null">#{actQuestionTotal},</if>
  103. <if test="rightNum != null">#{rightNum},</if>
  104. <if test="rightRate != null">#{rightRate},</if>
  105. <if test="useTime != null">#{useTime},</if>
  106. <if test="useTimeStr != null">#{useTimeStr},</if>
  107. <if test="submitTime != null">#{submitTime},</if>
  108. <if test="actTotalScore != null">#{actTotalScore},</if>
  109. <if test="totalScore != null">#{totalScore},</if>
  110. <if test="errorNum != null">#{errorNum},</if>
  111. <if test="errorRate != null">#{errorRate},</if>
  112. <if test="notNum != null">#{notNum},</if>
  113. <if test="notRate != null">#{notRate},</if>
  114. <if test="createTime != null">#{createTime},</if>
  115. <if test="singleNum != null">#{singleNum},</if>
  116. <if test="singleScore != null">#{singleScore},</if>
  117. <if test="multipleNum != null">#{multipleNum},</if>
  118. <if test="multipleScore != null">#{multipleScore},</if>
  119. <if test="judgeNum != null">#{judgeNum},</if>
  120. <if test="judgeScore != null">#{judgeScore},</if>
  121. <if test="userTableId != null">#{userTableId},</if>
  122. </trim>
  123. </insert>
  124. <update id="updatePartyAnswerActivityHis" parameterType="com.inspur.domain.app.PartyAnswerActivityHis">
  125. update party_answer_activity_his
  126. <trim prefix="SET" suffixOverrides=",">
  127. <if test="appUserId != null">app_user_id = #{appUserId},</if>
  128. <if test="actId != null">act_id = #{actId},</if>
  129. <if test="actQuestionTotal != null">act_question_total = #{actQuestionTotal},</if>
  130. <if test="rightNum != null">right_num = #{rightNum},</if>
  131. <if test="rightRate != null">right_rate = #{rightRate},</if>
  132. <if test="useTime != null">use_time = #{useTime},</if>
  133. <if test="useTimeStr != null">use_time_str = #{useTimeStr},</if>
  134. <if test="submitTime != null">submit_time = #{submitTime},</if>
  135. <if test="actTotalScore != null">act_total_score = #{actTotalScore},</if>
  136. <if test="totalScore != null">total_score = #{totalScore},</if>
  137. <if test="errorNum != null">error_num = #{errorNum},</if>
  138. <if test="errorRate != null">error_rate = #{errorRate},</if>
  139. <if test="notNum != null">not_num = #{notNum},</if>
  140. <if test="notRate != null">not_rate = #{notRate},</if>
  141. <if test="createTime != null">create_time = #{createTime},</if>
  142. <if test="singleNum != null">single_num = #{singleNum},</if>
  143. <if test="singleScore != null">single_score = #{singleScore},</if>
  144. <if test="multipleNum != null">multiple_num = #{multipleNum},</if>
  145. <if test="multipleScore != null">multiple_score = #{multipleScore},</if>
  146. <if test="judgeNum != null">judge_num = #{judgeNum},</if>
  147. <if test="judgeScore != null">judge_score = #{judgeScore},</if>
  148. <if test="userTableId != null">user_table_id = #{userTableId},</if>
  149. </trim>
  150. where id = #{id}
  151. </update>
  152. <delete id="deletePartyAnswerActivityHisById" parameterType="Long">
  153. delete from party_answer_activity_his where id = #{id}
  154. </delete>
  155. <delete id="deletePartyAnswerActivityHisByIds" parameterType="String">
  156. delete from party_answer_activity_his where id in
  157. <foreach item="id" collection="array" open="(" separator="," close=")">
  158. #{id}
  159. </foreach>
  160. </delete>
  161. <delete id="deleteActivityHisByActIds" parameterType="Long">
  162. delete from party_answer_activity_his where act_id in
  163. <foreach item="id" collection="array" open="(" separator="," close=")">
  164. #{id}
  165. </foreach>
  166. </delete>
  167. <select id="selectCountStatistics" parameterType="Long" resultType="Map">
  168. SELECT
  169. count(1) AS answerTimes,
  170. avg(total_score) AS avgScore,
  171. sum(right_num) rightNum,
  172. sum(act_question_total) AS questionTotal
  173. FROM
  174. party_answer_activity_his
  175. where user_table_id = #{userTableId}
  176. </select>
  177. <select id="selectTrendStatistics" resultType="Map">
  178. SELECT
  179. DATE_FORMAT(t1.days, '%Y.%m.%d') as 'name',
  180. IFNULL(tos.countNum, 0) AS 'value'
  181. FROM
  182. (
  183. SELECT
  184. @cdate := DATE_ADD(@cdate, INTERVAL - 1 DAY) days
  185. FROM
  186. (
  187. SELECT
  188. @cdate := DATE_ADD(DATE_FORMAT(SYSDATE(),'%Y-%m-%d'), INTERVAL + 1 DAY)
  189. FROM
  190. sys_menu
  191. ) t0
  192. LIMIT #{dayOffset}
  193. ) t1
  194. LEFT JOIN (
  195. SELECT
  196. DATE_FORMAT(submit_time, '%Y-%m-%d') days,
  197. count(1) as countNum
  198. FROM
  199. (
  200. SELECT
  201. *
  202. FROM
  203. party_answer_activity_his
  204. WHERE
  205. user_table_id = #{userTableId}
  206. ) AS his_all
  207. GROUP BY
  208. days
  209. ) tos ON t1.days = tos.days
  210. ORDER BY
  211. t1.days
  212. </select>
  213. <select id="selectPartyAnswerActivityRankList" parameterType="com.inspur.domain.app.PartyAnswerActivityHis" resultMap="PartyAnswerActivityHisResult">
  214. select h.id, h.app_user_id, h.act_id, h.act_question_total, h.right_num, h.right_rate, h.use_time, h.use_time_str, h.submit_time, h.act_total_score,
  215. h.total_score, h.error_num, h.error_rate, h.not_num, h.not_rate, h.create_time, h.single_num, h.single_score, h.multiple_num, h.multiple_score,
  216. h.judge_num, h.judge_score,h.user_table_id,a.act_title,m.name, m.pic_path, m.gender
  217. from (SELECT * from party_answer_activity_his t
  218. <where>
  219. <if test="appUserId != null "> and t.app_user_id = #{appUserId}</if>
  220. <if test="actId != null "> and t.act_id = #{actId}</if>
  221. <if test="userTableId != null "> and t.user_table_id = #{userTableId}</if>
  222. </where>
  223. ORDER BY t.total_score DESC,t.submit_time DESC
  224. limit 1000000 ) h
  225. left join party_answer_activity a on h.act_id = a.id
  226. left join party_app_user u on u.id = h.app_user_id
  227. left join party_member_manage m on m.id = u.member_id
  228. GROUP BY h.app_user_id
  229. ORDER BY h.total_score DESC,h.submit_time DESC
  230. limit 100
  231. </select>
  232. </mapper>