| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.inspur.mapper.PartyAnswerActivityHisMapper">
- <resultMap type="com.inspur.domain.app.PartyAnswerActivityHis" id="PartyAnswerActivityHisResult">
- <result property="id" column="id" />
- <result property="appUserId" column="app_user_id" />
- <result property="actId" column="act_id" />
- <result property="actQuestionTotal" column="act_question_total" />
- <result property="rightNum" column="right_num" />
- <result property="rightRate" column="right_rate" />
- <result property="useTime" column="use_time" />
- <result property="useTimeStr" column="use_time_str" />
- <result property="submitTime" column="submit_time" />
- <result property="actTotalScore" column="act_total_score" />
- <result property="totalScore" column="total_score" />
- <result property="errorNum" column="error_num" />
- <result property="errorRate" column="error_rate" />
- <result property="notNum" column="not_num" />
- <result property="notRate" column="not_rate" />
- <result property="createTime" column="create_time" />
- <result property="singleNum" column="single_num" />
- <result property="singleScore" column="single_score" />
- <result property="multipleNum" column="multiple_num" />
- <result property="multipleScore" column="multiple_score" />
- <result property="judgeNum" column="judge_num" />
- <result property="judgeScore" column="judge_score" />
- <result property="actTitle" column="act_title" />
- <result property="userTableId" column="user_table_id" />
- <result property="memberName" column="name" />
- <result property="picPath" column="pic_path" />
- <result property="gender" column="gender" />
- </resultMap>
- <sql id="selectPartyAnswerActivityHisVo">
- 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,
- 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
- </sql>
- <select id="selectPartyAnswerActivityHisList" parameterType="com.inspur.domain.app.PartyAnswerActivityHis" resultMap="PartyAnswerActivityHisResult">
- 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,
- 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,
- h.judge_num, h.judge_score,h.user_table_id,a.act_title from party_answer_activity_his h
- left join party_answer_activity a on h.act_id = a.id
- <where>
- <if test="appUserId != null "> and h.app_user_id = #{appUserId}</if>
- <if test="actId != null "> and h.act_id = #{actId}</if>
- <if test="actQuestionTotal != null "> and h.act_question_total = #{actQuestionTotal}</if>
- <if test="rightNum != null "> and h.right_num = #{rightNum}</if>
- <if test="rightRate != null and rightRate != ''"> and h.right_rate = #{rightRate}</if>
- <if test="useTime != null "> and h.use_time = #{useTime}</if>
- <if test="useTimeStr != null and useTimeStr != ''"> and h.use_time_str = #{useTimeStr}</if>
- <if test="submitTime != null "> and h.submit_time = #{submitTime}</if>
- <if test="actTotalScore != null "> and h.act_total_score = #{actTotalScore}</if>
- <if test="totalScore != null "> and h.total_score = #{totalScore}</if>
- <if test="errorNum != null "> and h.error_num = #{errorNum}</if>
- <if test="errorRate != null and errorRate != ''"> and h.error_rate = #{errorRate}</if>
- <if test="notNum != null "> and h.not_num = #{notNum}</if>
- <if test="notRate != null and notRate != ''"> and h.not_rate = #{notRate}</if>
- <if test="singleNum != null "> and h.single_num = #{singleNum}</if>
- <if test="singleScore != null "> and h.single_score = #{singleScore}</if>
- <if test="multipleNum != null "> and h.multiple_num = #{multipleNum}</if>
- <if test="multipleScore != null "> and h.multiple_score = #{multipleScore}</if>
- <if test="judgeNum != null "> and h.judge_num = #{judgeNum}</if>
- <if test="judgeScore != null "> and h.judge_score = #{judgeScore}</if>
- <if test="userTableId != null "> and h.user_table_id = #{userTableId}</if>
- </where>
- order by h.submit_time desc
- </select>
- <select id="selectPartyAnswerActivityHisById" parameterType="Long" resultMap="PartyAnswerActivityHisResult">
- <include refid="selectPartyAnswerActivityHisVo"/>
- where id = #{id}
- </select>
- <insert id="insertPartyAnswerActivityHis" parameterType="com.inspur.domain.app.PartyAnswerActivityHis" useGeneratedKeys="true" keyProperty="id">
- insert into party_answer_activity_his
- <trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="appUserId != null">app_user_id,</if>
- <if test="actId != null">act_id,</if>
- <if test="actQuestionTotal != null">act_question_total,</if>
- <if test="rightNum != null">right_num,</if>
- <if test="rightRate != null">right_rate,</if>
- <if test="useTime != null">use_time,</if>
- <if test="useTimeStr != null">use_time_str,</if>
- <if test="submitTime != null">submit_time,</if>
- <if test="actTotalScore != null">act_total_score,</if>
- <if test="totalScore != null">total_score,</if>
- <if test="errorNum != null">error_num,</if>
- <if test="errorRate != null">error_rate,</if>
- <if test="notNum != null">not_num,</if>
- <if test="notRate != null">not_rate,</if>
- <if test="createTime != null">create_time,</if>
- <if test="singleNum != null">single_num,</if>
- <if test="singleScore != null">single_score,</if>
- <if test="multipleNum != null">multiple_num,</if>
- <if test="multipleScore != null">multiple_score,</if>
- <if test="judgeNum != null">judge_num,</if>
- <if test="judgeScore != null">judge_score,</if>
- <if test="userTableId != null">user_table_id,</if>
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="appUserId != null">#{appUserId},</if>
- <if test="actId != null">#{actId},</if>
- <if test="actQuestionTotal != null">#{actQuestionTotal},</if>
- <if test="rightNum != null">#{rightNum},</if>
- <if test="rightRate != null">#{rightRate},</if>
- <if test="useTime != null">#{useTime},</if>
- <if test="useTimeStr != null">#{useTimeStr},</if>
- <if test="submitTime != null">#{submitTime},</if>
- <if test="actTotalScore != null">#{actTotalScore},</if>
- <if test="totalScore != null">#{totalScore},</if>
- <if test="errorNum != null">#{errorNum},</if>
- <if test="errorRate != null">#{errorRate},</if>
- <if test="notNum != null">#{notNum},</if>
- <if test="notRate != null">#{notRate},</if>
- <if test="createTime != null">#{createTime},</if>
- <if test="singleNum != null">#{singleNum},</if>
- <if test="singleScore != null">#{singleScore},</if>
- <if test="multipleNum != null">#{multipleNum},</if>
- <if test="multipleScore != null">#{multipleScore},</if>
- <if test="judgeNum != null">#{judgeNum},</if>
- <if test="judgeScore != null">#{judgeScore},</if>
- <if test="userTableId != null">#{userTableId},</if>
- </trim>
- </insert>
- <update id="updatePartyAnswerActivityHis" parameterType="com.inspur.domain.app.PartyAnswerActivityHis">
- update party_answer_activity_his
- <trim prefix="SET" suffixOverrides=",">
- <if test="appUserId != null">app_user_id = #{appUserId},</if>
- <if test="actId != null">act_id = #{actId},</if>
- <if test="actQuestionTotal != null">act_question_total = #{actQuestionTotal},</if>
- <if test="rightNum != null">right_num = #{rightNum},</if>
- <if test="rightRate != null">right_rate = #{rightRate},</if>
- <if test="useTime != null">use_time = #{useTime},</if>
- <if test="useTimeStr != null">use_time_str = #{useTimeStr},</if>
- <if test="submitTime != null">submit_time = #{submitTime},</if>
- <if test="actTotalScore != null">act_total_score = #{actTotalScore},</if>
- <if test="totalScore != null">total_score = #{totalScore},</if>
- <if test="errorNum != null">error_num = #{errorNum},</if>
- <if test="errorRate != null">error_rate = #{errorRate},</if>
- <if test="notNum != null">not_num = #{notNum},</if>
- <if test="notRate != null">not_rate = #{notRate},</if>
- <if test="createTime != null">create_time = #{createTime},</if>
- <if test="singleNum != null">single_num = #{singleNum},</if>
- <if test="singleScore != null">single_score = #{singleScore},</if>
- <if test="multipleNum != null">multiple_num = #{multipleNum},</if>
- <if test="multipleScore != null">multiple_score = #{multipleScore},</if>
- <if test="judgeNum != null">judge_num = #{judgeNum},</if>
- <if test="judgeScore != null">judge_score = #{judgeScore},</if>
- <if test="userTableId != null">user_table_id = #{userTableId},</if>
- </trim>
- where id = #{id}
- </update>
- <delete id="deletePartyAnswerActivityHisById" parameterType="Long">
- delete from party_answer_activity_his where id = #{id}
- </delete>
- <delete id="deletePartyAnswerActivityHisByIds" parameterType="String">
- delete from party_answer_activity_his where id in
- <foreach item="id" collection="array" open="(" separator="," close=")">
- #{id}
- </foreach>
- </delete>
- <delete id="deleteActivityHisByActIds" parameterType="Long">
- delete from party_answer_activity_his where act_id in
- <foreach item="id" collection="array" open="(" separator="," close=")">
- #{id}
- </foreach>
- </delete>
- <select id="selectCountStatistics" parameterType="Long" resultType="Map">
- SELECT
- count(1) AS answerTimes,
- avg(total_score) AS avgScore,
- sum(right_num) rightNum,
- sum(act_question_total) AS questionTotal
- FROM
- party_answer_activity_his
- where user_table_id = #{userTableId}
- </select>
- <select id="selectTrendStatistics" resultType="Map">
- SELECT
- DATE_FORMAT(t1.days, '%Y.%m.%d') as 'name',
- IFNULL(tos.countNum, 0) AS 'value'
- FROM
- (
- SELECT
- @cdate := DATE_ADD(@cdate, INTERVAL - 1 DAY) days
- FROM
- (
- SELECT
- @cdate := DATE_ADD(DATE_FORMAT(SYSDATE(),'%Y-%m-%d'), INTERVAL + 1 DAY)
- FROM
- sys_menu
- ) t0
- LIMIT #{dayOffset}
- ) t1
- LEFT JOIN (
- SELECT
- DATE_FORMAT(submit_time, '%Y-%m-%d') days,
- count(1) as countNum
- FROM
- (
- SELECT
- *
- FROM
- party_answer_activity_his
- WHERE
- user_table_id = #{userTableId}
- ) AS his_all
- GROUP BY
- days
- ) tos ON t1.days = tos.days
- ORDER BY
- t1.days
- </select>
- <select id="selectPartyAnswerActivityRankList" parameterType="com.inspur.domain.app.PartyAnswerActivityHis" resultMap="PartyAnswerActivityHisResult">
- 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,
- 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,
- h.judge_num, h.judge_score,h.user_table_id,a.act_title,m.name, m.pic_path, m.gender
- from (SELECT * from party_answer_activity_his t
- <where>
- <if test="appUserId != null "> and t.app_user_id = #{appUserId}</if>
- <if test="actId != null "> and t.act_id = #{actId}</if>
- <if test="userTableId != null "> and t.user_table_id = #{userTableId}</if>
- </where>
- ORDER BY t.total_score DESC,t.submit_time DESC
- limit 1000000 ) h
- left join party_answer_activity a on h.act_id = a.id
- left join party_app_user u on u.id = h.app_user_id
- left join party_member_manage m on m.id = u.member_id
- GROUP BY h.app_user_id
- ORDER BY h.total_score DESC,h.submit_time DESC
- limit 100
- </select>
- </mapper>
|