61 lines
2.4 KiB
XML
61 lines
2.4 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="BadgeLog">
|
|
|
|
<insert id="insertBadgeLog" parameterType="BadgeLog">
|
|
INSERT INTO BadgeLog ( badgeLogId, userId, badgeType, objectId,
|
|
badgeCaseId, created , areaid ,pointCaseType )
|
|
Values ( #{badgeLogId}, #{userId}, #{badgeType}, #{objectId},
|
|
#{badgeCaseId},current_timestamp , #{areaid} ,
|
|
#{pointCaseType} )
|
|
</insert>
|
|
|
|
<update id="updateBadgeLog" parameterType="BadgeLog">
|
|
UPDATE BadgeLog SET
|
|
badgeLogId = #{badgeLogId}, userId = #{userId},
|
|
badgeType = #{badgeType}, objectId = #{objectId},
|
|
badgeCaseId = #{badgeCaseId}, created = #{created} ,
|
|
areaid = #{areaid} , pointCaseType = #{pointCaseType}
|
|
where badgeLogId=#{badgeLogId}
|
|
</update>
|
|
|
|
<select id="getBadgeLogByKey" parameterType="java.lang.Integer" resultType="BadgeLog">
|
|
SELECT badgeLogId , userId , badgeType , objectId , badgeCaseId ,
|
|
created , areaid , pointCaseType
|
|
FROM BadgeLog
|
|
WHERE badgeLogId=#{badgeLogId}
|
|
</select>
|
|
|
|
<select id="getSeqBadgeLog" resultType="Long" useCache="false" flushCache="true">
|
|
SELECT nextval('seq_badgeLogId') ;
|
|
</select>
|
|
|
|
<select id="getBadgeLogsByUserId" parameterType="java.util.Map" resultType="BadgeLog">
|
|
SELECT badgeLogId , userId , badgeType , objectId , badgeCaseId ,
|
|
created ,areaid , pointCaseType
|
|
FROM BadgeLog
|
|
WHERE userId=#{userId} and areaid = #{areaid}
|
|
</select>
|
|
|
|
<select id="getMedalByUid" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
|
select userid ,
|
|
count(case when badgecaseid =6 then 1 else null end ) as copper,
|
|
count(case when badgecaseid =7 then 1 else null end ) as silver ,
|
|
count(case when badgecaseid =8 then 1 else null end ) as gold
|
|
from badgelog
|
|
where userid = #{uid} and areaId=#{areaId}
|
|
group by userid
|
|
</select>
|
|
|
|
<select id="getBadgeByUid" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
|
select userid ,
|
|
count(case when badgecaseid =2 then 1 else null end ) as copper,
|
|
count(case when badgecaseid =3 then 1 else null end ) as silver ,
|
|
count(case when badgecaseid =4 then 1 else null end ) as gold
|
|
from badgelog
|
|
where userid = #{uid} and areaId=#{areaId}
|
|
group by userid
|
|
</select>
|
|
|
|
</mapper> |