111 lines
4.5 KiB
XML
111 lines
4.5 KiB
XML
<?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="UserHonor">
|
|
|
|
<insert id="insertUserHonor" parameterType="UserHonor">
|
|
INSERT INTO UserHonor ( uid, totalPoint, userLevel, levelName, totalMoney,
|
|
goldMedalCount, silverMedalCount, bronzeMedalCount, cupCount, flowerCount,
|
|
totalScore, howmuch , studyDuration, studyNum, beFollowCount , areaid ) Values
|
|
( #{uid}, #{totalPoint}, #{userLevel}, #{levelName}, #{totalMoney},
|
|
#{goldMedalCount}, #{silverMedalCount}, #{bronzeMedalCount}, #{cupCount}, #{flowerCount},
|
|
#{totalScore}, #{howmuch} , #{studyDuration}, #{studyNum}, #{beFollowCount} , #{areaid})
|
|
|
|
</insert>
|
|
|
|
<update id="updateUserHonor" parameterType="UserHonor">
|
|
|
|
UPDATE UserHonor
|
|
SET uid = #{uid}, totalPoint = #{totalPoint}, userLevel = #{userLevel},
|
|
levelName = #{levelName}, totalMoney = #{totalMoney}, goldMedalCount = #{goldMedalCount},
|
|
silverMedalCount = #{silverMedalCount}, bronzeMedalCount = #{bronzeMedalCount},
|
|
cupCount = #{cupCount}, flowerCount = #{flowerCount}, totalScore = #{totalScore},
|
|
howmuch = #{howmuch} , studyDuration = #{studyDuration}, studyNum = #{studyNum},
|
|
beFollowCount = #{beFollowCount} , areaid = #{areaid}
|
|
where uid=#{uid}
|
|
|
|
</update>
|
|
|
|
<select id="getUserHonorByKey" parameterType="java.util.Map" resultType="UserHonor">
|
|
|
|
SELECT uid , totalPoint , userLevel , levelName , totalMoney , goldMedalCount , silverMedalCount ,
|
|
bronzeMedalCount , cupCount , flowerCount , totalScore , howmuch ,
|
|
studyDuration, studyNum, beFollowCount , areaid
|
|
FROM UserHonor
|
|
WHERE uid=#{uid} and areaid = #{areaid}
|
|
</select>
|
|
|
|
|
|
<select id="getSeqUserHonor" resultType="Integer" useCache="false" flushCache="true">
|
|
|
|
SELECT nextval('seq_userHonorId') ;
|
|
|
|
</select>
|
|
|
|
<insert id="insertUserHonorBatch" parameterType="java.util.List">
|
|
|
|
INSERT INTO UserHonor ( uid, totalPoint, userLevel, levelName, totalMoney,
|
|
goldMedalCount, silverMedalCount, bronzeMedalCount, cupCount, flowerCount,
|
|
totalScore, howmuch, studyDuration, studyNum , beFollowCount , areaid ) Values
|
|
|
|
<foreach collection="list" index="index" item="item" separator=",">
|
|
|
|
( #{item.uid}, #{item.totalPoint}, #{item.userLevel}, #{item.levelName},
|
|
#{item.totalMoney}, #{item.goldMedalCount}, #{item.silverMedalCount},
|
|
#{item.bronzeMedalCount}, #{item.cupCount}, #{item.flowerCount}, #{item.totalScore},
|
|
#{item.howmuch}, #{item.studyDuration}, #{item.studyNum} , #{item.beFollowCount} , #{item.areaid} )
|
|
|
|
</foreach>
|
|
</insert>
|
|
|
|
<update id="increaseDuration" parameterType="java.util.Map">
|
|
|
|
UPDATE UserHonor
|
|
SET studyDuration = studyDuration + #{studyDuration},
|
|
studyNum = studyNum + 1
|
|
where uid=#{uid} and areaid = #{areaid}
|
|
|
|
</update>
|
|
|
|
<update id="updateUserHonorbeFollowCount" parameterType="java.util.Map">
|
|
UPDATE UserHonor
|
|
SET beFollowCount = #{beFollowCount}
|
|
WHERE uid=#{uid} and areaid = #{areaid}
|
|
</update>
|
|
|
|
<select id="getLastMonthGrowthRecordByUid" parameterType="java.util.Map" resultType="java.util.Map">
|
|
<![CDATA[
|
|
SELECT SUM(a.gold) AS gold, SUM(a.cup) AS cup, SUM(a.emoney) AS emoney
|
|
FROM (
|
|
SELECT COUNT(CASE WHEN badgecaseid=4 AND badgetype=1 THEN 1 END )AS gold,
|
|
COUNT(CASE WHEN badgecaseid=8 AND badgetype=2 THEN 1 END )AS cup,
|
|
0 AS emoney
|
|
FROM badgelog
|
|
WHERE userid = #{uid} AND badgecaseid IN (4,8) and areaId=#{areaId}
|
|
AND created >= #{startTime} AND created <= #{endTime}
|
|
UNION
|
|
|
|
SELECT 0 AS gold, 0 AS cup, SUM(howmuch) AS emoney
|
|
FROM emoneylog
|
|
WHERE uid =#{uid} and areaId=#{areaId}
|
|
AND created >=#{startTime} AND created <= #{endTime}
|
|
) a
|
|
]]>
|
|
</select>
|
|
|
|
|
|
<select id="getCupGrowthRecordByUid" parameterType="java.util.Map" resultType="java.util.Map">
|
|
<![CDATA[
|
|
|
|
SELECT COUNT(CASE WHEN badgecaseid=6 AND badgetype=2 THEN 1 END )AS "bronzeCup",
|
|
COUNT(CASE WHEN badgecaseid=7 AND badgetype=2 THEN 1 END )AS "silverCup",
|
|
COUNT(CASE WHEN badgecaseid=8 AND badgetype=2 THEN 1 END )AS "goldCup"
|
|
FROM badgelog
|
|
WHERE userid = #{uid} AND badgecaseid IN (6,7,8) and areaId=#{areaId}
|
|
]]>
|
|
</select>
|
|
|
|
<delete id="deleteUserhonorByStudentId" parameterType="java.util.Map" >
|
|
delete from UserHonor where uid = #{studentId} and areaid = #{areaId}
|
|
</delete>
|
|
</mapper> |