mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-09-26 10:16:14 +00:00
提交
This commit is contained in:
@@ -18,6 +18,7 @@ import cn.jisol.game.service.ModeOnHookService;
|
||||
import cn.jisol.game.service.PlayerPetService;
|
||||
import cn.jisol.game.service.ResourceService;
|
||||
import cn.jisol.game.table.GTbGOnHookLevels;
|
||||
import cn.jisol.game.vo.mode.ModeOnHookRankingOV;
|
||||
import cn.jisol.game.vo.news.NewsResource;
|
||||
import cn.jisol.game.vo.news.ov.ResourceUpdateOV;
|
||||
import cn.jisol.ngame.util.NewsContext;
|
||||
@@ -260,9 +261,9 @@ public class GOnHookController {
|
||||
@ApiImplicitParams({})
|
||||
@ApiOperation(value = "排行榜")
|
||||
@GetMapping("/onRankings/{mapId}")
|
||||
public NewsContext<List<ModeOnHook>> onRankings(@PathVariable Integer mapId){
|
||||
public NewsContext<List<ModeOnHookRankingOV>> onRankings(@PathVariable Integer mapId,@CurrentPlayer Player player){
|
||||
|
||||
return NewsContext.onSuccess("查询成功",this.modeOnHookMapper.onRankings(mapId.toString()));
|
||||
return NewsContext.onSuccess("查询成功",this.modeOnHookMapper.onRankings(mapId.toString(),player.getPlayerId()));
|
||||
|
||||
}
|
||||
|
||||
|
@@ -2,6 +2,7 @@ package cn.jisol.game.mapper;
|
||||
|
||||
import cn.jisol.game.entity.game.Player;
|
||||
import cn.jisol.game.entity.mode.ModeOnHook;
|
||||
import cn.jisol.game.vo.mode.ModeOnHookRankingOV;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
@@ -13,7 +14,22 @@ import java.util.List;
|
||||
public interface ModeOnHookMapper extends BaseMapper<ModeOnHook> {
|
||||
|
||||
//排行榜
|
||||
@Select("SELECT * FROM mode_on_hook ORDER BY JSON_EXTRACT(on_hook_info, CONCAT('$.maps.\"',#{mapId},'\"')) DESC LIMIT 10;")
|
||||
List<ModeOnHook> onRankings(@Param("mapId") String mapId);
|
||||
@Select("SET @rank = 0;\n" +
|
||||
"SELECT \n" +
|
||||
" p.player_id,\n" +
|
||||
" p.player_name,\n" +
|
||||
" IFNULL(o.level_id,0) AS level_id,\n" +
|
||||
" o.rank,\n" +
|
||||
" #{mapId} AS map_id\n" +
|
||||
"FROM \n" +
|
||||
" (SELECT \n" +
|
||||
" player_id,\n" +
|
||||
" JSON_EXTRACT(on_hook_info, CONCAT('$.maps.\"',#{mapId},'\"')) AS level_id,\n" +
|
||||
" @rank := @rank + 1 AS rank\n" +
|
||||
" FROM mode_on_hook \n" +
|
||||
" ORDER BY JSON_EXTRACT(on_hook_info, CONCAT('$.maps.\"',#{mapId},'\"')) DESC) AS o\n" +
|
||||
"RIGHT JOIN player AS p ON o.player_id = p.player_id\n" +
|
||||
"WHERE o.player_id = #{playerId} OR o.rank < 11;")
|
||||
List<ModeOnHookRankingOV> onRankings(@Param("mapId") String mapId,@Param("playerId") Long playerId);
|
||||
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
package cn.jisol.game.vo.mode;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Builder
|
||||
@Data
|
||||
public class ModeOnHookRankingOV {
|
||||
private Long playerId; //游戏玩家Id
|
||||
private String playerName; //游戏玩家名称
|
||||
private Integer levelId; //玩家关卡Id
|
||||
private Integer rank; //玩家当前排名
|
||||
private Integer mapId; //地图Id
|
||||
}
|
@@ -4,8 +4,8 @@ spring:
|
||||
datasource:
|
||||
username: pet_jisol_cn
|
||||
password: sThsBwjfDcaw2wJR
|
||||
url: jdbc:mysql://kyu.jisol.cn:3306/pet_jisol_cn?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
|
||||
# url: jdbc:mysql://localhost:3306/pet_jisol_cn?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
|
||||
# url: jdbc:mysql://kyu.jisol.cn:3306/pet_jisol_cn?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowMultiQueries=true
|
||||
url: jdbc:mysql://localhost:3306/pet_jisol_cn?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&allowMultiQueries=true
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
jackson:
|
||||
serialization:
|
||||
|
Reference in New Issue
Block a user