排行榜:旧数据完成
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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>;
|
||||
266
shared/resource/jsons/dic_zyz_rankingReward.json
Normal file
266
shared/resource/jsons/dic_zyz_rankingReward.json
Normal 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"
|
||||
}
|
||||
]
|
||||
65
shared/resource/jsons/dic_zyz_rankingType.json
Normal file
65
shared/resource/jsons/dic_zyz_rankingType.json
Normal 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
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user