You've already forked mine_clearance
127 lines
4.1 KiB
XML
127 lines
4.1 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="com.lightyears.basics.mapper.LogMapper">
|
|
<select id="paging" resultType="com.lightyears.common.domain.dto.OrdinaryRankDto">
|
|
SELECT
|
|
a.id,
|
|
a.user_id,
|
|
a.game_time,
|
|
a.bv3,
|
|
a.bvs3,
|
|
a.nf,
|
|
s.user_name
|
|
FROM
|
|
sl_log a
|
|
LEFT JOIN sl_player s ON s.user_id = a.user_id
|
|
where a.level = #{level}
|
|
<if test="userId != null and userId > 0">
|
|
and a.user_id = ${userId}
|
|
</if>
|
|
and s.user_gold = 0
|
|
ORDER BY a.game_time
|
|
limit 1000
|
|
</select>
|
|
|
|
<select id="syntheticalPaging" resultType="com.lightyears.common.domain.dto.OrdinaryRankDto">
|
|
SELECT
|
|
a.user_id user_id,
|
|
SUM( a.game_time ) game_time,
|
|
SUM( bv3 ) bv3,
|
|
SUM( bvs3 ) bvs3,
|
|
s.user_name,
|
|
0 nf
|
|
FROM
|
|
sl_log a
|
|
LEFT JOIN sl_player s ON s.user_id = a.user_id
|
|
WHERE
|
|
a.user_id IN (
|
|
SELECT
|
|
t.user_id
|
|
FROM
|
|
( SELECT user_id, count( LEVEL ) count_level FROM sl_log WHERE LEVEL in (1, 2 ,3) GROUP BY user_id ) t
|
|
WHERE
|
|
t.count_level >= 3
|
|
)
|
|
AND a.LEVEL in (1, 2 ,3)
|
|
and s.user_gold = 0
|
|
GROUP BY
|
|
a.user_id
|
|
ORDER BY
|
|
game_time
|
|
limit 500
|
|
</select>
|
|
|
|
<select id="getComprehensiveRankByUserId" parameterType="Integer" resultType="java.util.Map">
|
|
SELECT
|
|
m.*
|
|
from ( SELECT q.*,( @i := @i + 1 ) ranking
|
|
FROM
|
|
(
|
|
SELECT
|
|
a.user_id user_id,
|
|
SUM( a.game_time ) game_time,
|
|
SUM( bv3 ) bv3,
|
|
SUM( bvs3 ) bvs3,
|
|
s.user_name,
|
|
0 nf
|
|
FROM
|
|
sl_log a
|
|
LEFT JOIN sl_player s ON s.user_id = a.user_id
|
|
WHERE
|
|
a.user_id IN (
|
|
SELECT
|
|
t.user_id
|
|
FROM
|
|
( SELECT user_id, count( LEVEL ) count_level FROM sl_log WHERE LEVEL in (1, 2 ,3) GROUP BY user_id ) t
|
|
WHERE
|
|
t.count_level >= 3
|
|
)
|
|
AND a.LEVEL in (1, 2 ,3)
|
|
and s.user_gold = 0
|
|
GROUP BY
|
|
a.user_id
|
|
) q,
|
|
( SELECT @i := 0 ) t2
|
|
ORDER BY
|
|
q.game_time
|
|
) m where user_id = #{userId}
|
|
limit 1
|
|
</select>
|
|
|
|
<select id="getRankByLevelUserId" resultType="java.util.Map">
|
|
SELECT
|
|
*
|
|
FROM
|
|
(
|
|
SELECT
|
|
( @i := @i + 1 ) ranking,
|
|
x.*
|
|
FROM
|
|
( SELECT @i := 0 ) t2,
|
|
(
|
|
SELECT
|
|
a.id,
|
|
a.user_id,
|
|
a.game_time,
|
|
a.bv3,
|
|
a.bvs3,
|
|
a.nf,
|
|
s.user_name,
|
|
a.creation_time
|
|
FROM
|
|
sl_log a
|
|
LEFT JOIN sl_player s ON s.user_id = a.user_id
|
|
WHERE
|
|
a.LEVEL = #{level}
|
|
and s.user_gold = 0
|
|
) x
|
|
ORDER BY
|
|
x.game_time ASC,
|
|
x.creation_time ASC
|
|
) m
|
|
WHERE
|
|
m.user_id = #{userId}
|
|
limit 1
|
|
</select>
|
|
</mapper>
|