排行榜:旧数据完成

This commit is contained in:
luying
2021-04-06 19:52:39 +08:00
parent 99bc61b2fc
commit 34e02dea89
23 changed files with 1014 additions and 718 deletions

View File

@@ -12,7 +12,9 @@ export enum ROLE_SELECT {
GET_ROLE_ID = 'roleId',
GET_MY_SERVER = 'lv serverId userInfo.serverType',
COM_BATTLE = 'lv head frame spine topLineupCe',
GET_HEADS = 'heads head frames frame spines spine'
GET_HEADS = 'heads head frames frame spines spine',
// 排行榜基础数据
RANK = 'roleId roleName lv vLv head frame spine title guildName ce'
};
export enum HERO_SELECT {
@@ -36,7 +38,9 @@ export enum GUILD_SELECT {
// 初始登录
ENTRY = 'guildCode lv memberCnt',
// 获得邀请列表
INVITED_MEMBER = '_id code isMemberMax +invitedMembers +inviteTime'
INVITED_MEMBER = '_id code isMemberMax +invitedMembers +inviteTime',
// 排行榜字段
RANK = 'code name icon lv memberCnt leader'
}
export enum FRIEND_SHIP_SELECT {

View File

@@ -315,7 +315,7 @@ export default class Role extends BaseModel {
}
public static async towerLvUp(roleId: string) {
let role: RoleType = await RoleModel.findOneAndUpdate({roleId}, {$inc: {towerLv: 1}, towerUpTime: new Date()}, {new: true}).lean({ virtuals: true });
let role: RoleType = await RoleModel.findOneAndUpdate({roleId}, {$inc: {towerLv: 1}, towerUpTime: new Date()}, {new: true}).lean({ getters: true, virtuals: true });
return role;
}

View File

@@ -1,5 +1,9 @@
import { EXTERIOR } from "../pubUtils/dicParam";
import { WoodenHorse } from "./battleField/guildActivity";
import { RoleUpdate, RoleType } from "../db/Role";
import { reduceCe } from "../pubUtils/util";
import { GuildUpdateParam } from "../db/Guild";
import { currentId } from "async_hooks";
// 排行榜返回玩家值
export class RankParam {
@@ -11,15 +15,40 @@ export class RankParam {
frame: number = EXTERIOR.EXTERIOR_FACECASE;
spine: number = EXTERIOR.EXTERIOR_APPEARANCE;
title: number;
ce: number;
constructor(roleName: string, lv: number, vLv: number, head: number, frame: number, spine: number, title: number) {
this.roleName = roleName;
this.lv = lv;
this.vLv = vLv;
this.head = head;
this.frame = frame;
this.spine = spine;
this.title = title;
constructor(role: RoleUpdate, needReduceCe = false) {
this.roleName = role.roleName;
this.lv = role.lv;
this.vLv = role.vLv;
this.head = role.head;
this.frame = role.frame;
this.spine = role.spine;
this.title = role.title;
this.guildName = role.guildName;
if(needReduceCe) {
this.ce = reduceCe(role.ce);
} else {
this.ce = role.ce;
}
}
}
export class RoleRankInfo extends RankParam {
rank: number;
roleId: string;
num: number;
time: number;
setInfo(rank: number, roleId: string, num: number, time: number) {
this.rank = rank;
this.roleId = roleId;
this.num = num;
this.time = time;
}
isMyInfo(myId: string) {
return this.roleId == myId;
}
}
@@ -39,13 +68,32 @@ export class GuildRankParam {
}
constructor(icon: number, name: string, lv: number, leader: {roleName: string, title: number, lv: number, head: number, frame: number, spine: number}, memberCnt: number) {
this.icon = icon;
this.name = name;
this.lv = lv;
constructor(guild: GuildUpdateParam) {
this.icon = guild.icon;
this.name = guild.name;
this.lv = guild.lv;
let leader = <RoleType>guild.leader;
let _leader = new GuildLeader(leader);
this.leader = _leader;
this.memberCnt = memberCnt;
this.memberCnt = guild.memberCnt;
}
}
export class GuildRankInfo extends GuildRankParam {
rank: number;
code: string;
num: number;
time: number;
setInfo(rank: number, code: string, num: number, time: number) {
this.rank = rank;
this.code = code;
this.num = num;
this.time = time;
}
isMyInfo(myId: string) {
return this.code == myId;
}
}
@@ -114,23 +162,38 @@ export class KeyName {
key: string;
serverId?: number;
guildCode?: string;
cityId?: number;
constructor(key: string) {
constructor(key: string, param: KeyNameParam) {
this.key = key;
if(param.serverId) this.serverId = param.serverId;
if(param.guildCode) this.guildCode = param.guildCode;
if(param.cityId) this.cityId = param.cityId;
}
getName() {
public getName() {
let res = this.key;
if(this.serverId) res += `:${this.serverId}`;
if(this.guildCode) res += `:${this.guildCode}`;
if(this.cityId) res += `:${this.cityId}`;
return res;
}
getNameWithPlus(...plus: string[]) {
public getNameWithPlus(...plus: string[]) {
let res = this.getName();
for(let p of plus) {
res += `:${p}`;
}
return res;
}
}
public getTimeName() {
return this.getNameWithPlus('time');
}
public getUnionName() {
return this.getNameWithPlus('union');
}
}
export type KeyNameParam = Partial<KeyName>;

View File

@@ -0,0 +1,266 @@
[
{
"id": 1,
"rankId": 1,
"condition": 1000,
"reward": "1&1&0|31002&50&0|31002&100&1"
},
{
"id": 2,
"rankId": 1,
"condition": 5000,
"reward": "2&1&0|6004&1&0|31002&50&0|31002&100&1"
},
{
"id": 3,
"rankId": 1,
"condition": 10000,
"reward": "3&1&0|6002&1&0|31002&50&0|31002&100&1"
},
{
"id": 4,
"rankId": 1,
"condition": 13600,
"reward": "4&1&0|6003&1&0|31002&50&0|31002&100&1"
},
{
"id": 5,
"rankId": 1,
"condition": 18550,
"reward": "5&1&0|31002&50&0|31002&100&1"
},
{
"id": 6,
"rankId": 2,
"condition": 1000,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 7,
"rankId": 2,
"condition": 2000,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 8,
"rankId": 2,
"condition": 3000,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 9,
"rankId": 2,
"condition": 4000,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 10,
"rankId": 3,
"condition": 10,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 11,
"rankId": 3,
"condition": 20,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 12,
"rankId": 3,
"condition": 30,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 13,
"rankId": 3,
"condition": 40,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 14,
"rankId": 3,
"condition": 50,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 15,
"rankId": 4,
"condition": 10,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 16,
"rankId": 4,
"condition": 20,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 17,
"rankId": 4,
"condition": 30,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 18,
"rankId": 4,
"condition": 40,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 19,
"rankId": 4,
"condition": 50,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 20,
"rankId": 5,
"condition": 11111,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 21,
"rankId": 5,
"condition": 22222,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 22,
"rankId": 5,
"condition": 33333,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 23,
"rankId": 5,
"condition": 44444,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 24,
"rankId": 5,
"condition": 55555,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 25,
"rankId": 6,
"condition": 10,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 26,
"rankId": 6,
"condition": 20,
"reward": "1&1&0|31002&50&0|31002&100&1"
},
{
"id": 27,
"rankId": 6,
"condition": 30,
"reward": "2&1&0|6004&1&0|31002&50&0|31002&100&1"
},
{
"id": 28,
"rankId": 6,
"condition": 40,
"reward": "3&1&0|6002&1&0|31002&50&0|31002&100&1"
},
{
"id": 29,
"rankId": 6,
"condition": 50,
"reward": "4&1&0|6003&1&0|31002&50&0|31002&100&1"
},
{
"id": 30,
"rankId": 7,
"condition": 5001,
"reward": "5&1&0|31002&50&0|31002&100&1"
},
{
"id": 31,
"rankId": 7,
"condition": 5010,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 32,
"rankId": 7,
"condition": 5020,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 33,
"rankId": 7,
"condition": 5030,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 34,
"rankId": 7,
"condition": 5040,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 35,
"rankId": 8,
"condition": 104,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 36,
"rankId": 8,
"condition": 105,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 37,
"rankId": 8,
"condition": 106,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 38,
"rankId": 8,
"condition": 107,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 39,
"rankId": 8,
"condition": 108,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 40,
"rankId": 9,
"condition": 9001,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 41,
"rankId": 9,
"condition": 9002,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 42,
"rankId": 9,
"condition": 9003,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 43,
"rankId": 9,
"condition": 9004,
"reward": "17040&1&0|31002&50&0|31002&100&1"
},
{
"id": 44,
"rankId": 9,
"condition": 9005,
"reward": "17040&1&0|31002&50&0|31002&100&1"
}
]

View File

@@ -0,0 +1,65 @@
[
{
"id": 1,
"name": "最强阵容 ",
"group": 1,
"groupName": "玩家",
"general": 1
},
{
"id": 2,
"name": "最强武将",
"group": 1,
"groupName": "玩家",
"general": 1
},
{
"id": 3,
"name": "武将数量 ",
"group": 1,
"groupName": "玩家",
"general": 1
},
{
"id": 4,
"name": "主公等级",
"group": 1,
"groupName": "玩家",
"general": 1
},
{
"id": 5,
"name": "总战力",
"group": 1,
"groupName": "玩家",
"general": 2
},
{
"id": 6,
"name": "镇念塔 ",
"group": 1,
"groupName": "玩家",
"general": 2
},
{
"id": 7,
"name": "秘境",
"group": 1,
"groupName": "玩家",
"general": 2
},
{
"id": 8,
"name": "主线推进 ",
"group": 1,
"groupName": "玩家",
"general": 2
},
{
"id": 9,
"name": "精英主线",
"group": 1,
"groupName": "玩家",
"general": 2
}
]