104 lines
4.4 KiB
XML
Raw Permalink Normal View History

2026-03-10 14:30:24 +08:00
<?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="UnivUserHonor">
<insert id="insertUnivUserHonor" parameterType="UnivUserHonor">
INSERT INTO UnivUserHonor ( 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="updateUnivUserHonor" parameterType="UnivUserHonor">
UPDATE UnivUserHonor
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="getUnivUserHonorByKey" parameterType="long" resultType="UnivUserHonor">
SELECT uid , totalPoint , userLevel , levelName , totalMoney , goldMedalCount , silverMedalCount ,
bronzeMedalCount , cupCount , flowerCount , totalScore , howmuch ,
studyDuration, studyNum, beFollowCount , areaid
FROM UnivUserHonor
WHERE uid=#{uid}
</select>
<select id="getSeqUnivUserHonor" resultType="Integer" useCache="false" flushCache="true">
SELECT nextval('seq_univuserHonorId') ;
</select>
<insert id="insertUnivUserHonorBatch" parameterType="java.util.List">
INSERT INTO UnivUserHonor ( 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="increaseUnivDuration" parameterType="java.util.Map">
UPDATE UnivUserHonor
SET studyDuration = studyDuration + #{studyDuration},
studyNum = studyNum + 1
where uid=#{uid} and areaid = #{areaid}
</update>
<select id="getUnivLastMonthGrowthRecordByUid" 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 univbadgelog
WHERE userid = #{uid} AND badgecaseid IN (4,8)
AND created >= #{startTime} AND created <= #{endTime}
UNION
SELECT 0 AS gold, 0 AS cup, SUM(howmuch) AS emoney
FROM univemoneylog
WHERE uid =#{uid}
AND created >=#{startTime} AND created <= #{endTime}
) a
]]>
</select>
<select id="getUnivCupGrowthRecordByUid" parameterType="java.lang.Long" 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 univbadgelog
WHERE userid = #{uid} AND badgecaseid IN (6,7,8)
]]>
</select>
</mapper>