排行榜:先做一点假数据
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
import { Application, BackendSession } from "pinus";
|
||||
import { resResult } from "../../../pubUtils/util";
|
||||
import { STATUS, REDIS_KEY } from "../../../consts";
|
||||
import { RoleModel, RoleType } from "../../../db/Role";
|
||||
import { UserGuildModel } from "../../../db/UserGuild";
|
||||
import { existsRank, initSingleRankWithServer, getRank } from "../../../services/redisService";
|
||||
import { GuildModel } from "../../../db/Guild";
|
||||
import { GuildRankParam } from "../../../domain/rank";
|
||||
|
||||
export default function(app: Application) {
|
||||
return new RoleHandler(app);
|
||||
}
|
||||
|
||||
export class RoleHandler {
|
||||
constructor(private app: Application) {
|
||||
}
|
||||
|
||||
async getGeneralRank(msg: { }, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let serverId = session.get('serverId');
|
||||
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
role: [
|
||||
{ type: 1, roleId: "8l6HPZAbdS", roleName: "东方月初", head: 11219, frame: 11301, spine: 11419, lv: 40, vLv: 0, guildName: "军团A", ce: 464262, num: 464262, received: [],},
|
||||
{ type: 2, roleId: "8l6HPZAbdS", roleName: "东方月初", head: 11219, frame: 11301, spine: 11419, lv: 40, vLv: 0, guildName: "军团A", ce: 464262, num: 64262, received: [],},
|
||||
{ type: 3, roleId: "8l6HPZAbdS", roleName: "东方月初", head: 11219, frame: 11301, spine: 11419, lv: 40, vLv: 0, guildName: "军团A", ce: 464262, num: 100, received: [],},
|
||||
{ type: 4, roleId: "8l6HPZAbdS", roleName: "东方月初", head: 11219, frame: 11301, spine: 11419, lv: 40, vLv: 0, guildName: "军团A", ce: 464262, num: 99, received: [],},
|
||||
],
|
||||
battle: [ // 右边列
|
||||
{type: 5, roleId: "8l6HPZAbdS", roleName: "东方月初", head: 11219, frame: 11301, spine: 11419, guildName: "军团A", hid: 19, skinId: 41020, num: 464262, received: [],},
|
||||
{type: 6, roleId: "8l6HPZAbdS", roleName: "东方月初", head: 11219, frame: 11301, spine: 11419, guildName: "军团A", hid: 19, skinId: 41020, num: 99, received: [],},
|
||||
{type: 7, roleId: "8l6HPZAbdS", roleName: "东方月初", head: 11219, frame: 11301, spine: 11419, guildName: "军团A", hid: 19, skinId: 41020, num: 5060, received: [],},
|
||||
{type: 8, roleId: "8l6HPZAbdS", roleName: "东方月初", head: 11219, frame: 11301, spine: 11419, guildName: "军团A", hid: 19, skinId: 41020, num: 323, received: [],},
|
||||
{type: 9, roleId: "8l6HPZAbdS", roleName: "东方月初", head: 11219, frame: 11301, spine: 11419, guildName: "军团A", hid: 19, skinId: 41020, num: 9224, received: [],},
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
async getRank(msg: { type: number }, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let serverId = session.get('serverId');
|
||||
|
||||
let { type } = msg;
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId, null, true);
|
||||
let { lv, vLv, head, frame, spine, guildName, ce } = role;
|
||||
|
||||
let lineup = [
|
||||
{ hid: 27, star: 6, colorStar: 6, lv: 96, quality: 3 },
|
||||
{ hid: 32, star: 6, colorStar: 6, lv: 96, quality: 3 },
|
||||
{ hid: 19, star: 6, colorStar: 6, lv: 96, quality: 3 },
|
||||
{ hid: 11, star: 6, colorStar: 6, lv: 96, quality: 3 },
|
||||
{ hid: 12, star: 6, colorStar: 6, lv: 96, quality: 3 },
|
||||
{ hid: 8, star: 6, colorStar: 6, lv: 96, quality: 3 }
|
||||
]
|
||||
|
||||
let ranks = await RoleModel.getRank('tower', serverId, ["lv", "roleName", "vLv", "head", "frame", "spine", "guildName", "ce"]);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
type,
|
||||
ranks: ranks.map((cur, i) => {
|
||||
let { roleId, roleName, head, frame, spine, lv, vLv, ce } = cur;
|
||||
return {
|
||||
rank: i+1, num: 323-i, roleId, roleName, head, frame, spine, lv, vLv, guildName: `军团${i + 1}`, ce, lineup
|
||||
}
|
||||
}),
|
||||
myRank: {
|
||||
rank: 0, num: 104, roleId, roleName, head, frame, spine, lv, vLv,guildName, ce, lineup
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 查看活跃排行榜
|
||||
async getGuildRank(msg: { type: number }, session: BackendSession) {
|
||||
|
||||
let roleId = session.get('roleId');
|
||||
let serverId = session.get('serverId')
|
||||
|
||||
let { type } = msg;
|
||||
|
||||
const myUserGuild = await UserGuildModel.getMyGuild(roleId, 'auth guildCode');
|
||||
if(!myUserGuild) return resResult(STATUS.GUILD_NOT_FOUND);
|
||||
|
||||
const hasRank = await existsRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId);
|
||||
if(!hasRank) await initSingleRankWithServer(REDIS_KEY.GUILD_ACTIVE_RANK, serverId);
|
||||
|
||||
let {ranks, myRank} = await getRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId, myUserGuild.guildCode);
|
||||
if(!myRank) {
|
||||
let guild = await GuildModel.findByCode(myUserGuild.guildCode, serverId, 'code icon name lv leader activeWeekly memberCnt');
|
||||
let {icon, name, lv, leader, activeWeekly, memberCnt} = guild;
|
||||
let _leader = <RoleType>leader;
|
||||
let param = new GuildRankParam(icon, name, lv, _leader, memberCnt);
|
||||
myRank = {...param, num: activeWeekly, rank: 0};
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, { type, ranks, myRank });
|
||||
}
|
||||
|
||||
async receiveReward(msg: { type: number, id: number }, session: BackendSession) {
|
||||
let { type } = msg;
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
type: type,
|
||||
received: [],
|
||||
goods: []
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user