pvp排行榜展示
This commit is contained in:
@@ -28,6 +28,25 @@ export class PvpHandler {
|
||||
constructor(private app: Application) {
|
||||
}
|
||||
|
||||
async addRoleScore(msg: {score:number}, session: BackendSession) {
|
||||
let { score } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let pvpDefense = await PvpDefenseModel.findByRoleId(roleId);
|
||||
score += pvpDefense.score;
|
||||
if (score < 0) {
|
||||
score = 0;
|
||||
}
|
||||
pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { score });
|
||||
let roleName = session.get('roleName');
|
||||
const role = await RoleModel.findByRoleId(roleId);
|
||||
|
||||
// 加入排行榜
|
||||
let params = new RankParam(roleName, role.lv, role.vLv, role.headHid, role.sHid, role.title);
|
||||
await setRank(REDIS_KEY.PVP_RANK, 0, roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), params);
|
||||
return resResult(STATUS.SUCCESS, {score});
|
||||
|
||||
}
|
||||
|
||||
async getData (msg: {}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let {pvpDefense, warId} = await findPvpDefAllByRoleId(roleId);
|
||||
@@ -333,7 +352,6 @@ export class PvpHandler {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
result = new PlayerDetail({...robot, lv: role.lv, heroes})
|
||||
|
||||
} else { // 查询对方pvpDefense
|
||||
@@ -350,8 +368,8 @@ export class PvpHandler {
|
||||
});
|
||||
}
|
||||
heroes.sort((a, b) => b.score - a.score);
|
||||
|
||||
result = new PlayerDetail({...role, heroes});
|
||||
let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, roleId);//去redis中获取排名
|
||||
result = new PlayerDetail({...role, heroes, rank});
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, result);
|
||||
|
||||
Reference in New Issue
Block a user