排行:排行rpc同进程获取函数修改

This commit is contained in:
luying
2021-09-10 19:56:33 +08:00
parent 375d0bdab0
commit 14f7b3dd9c
6 changed files with 36 additions and 20 deletions
+11 -9
View File
@@ -10,7 +10,6 @@ import { gameData } from "../pubUtils/data";
import { nowSeconds } from "../pubUtils/timeUtil";
import { getWorldChannelSid } from "./chatChannelService";
import { pinus } from "pinus";
import ts = require("typescript");
import { RankFirstModel, RankFirstType, RankFirstUpdateParam } from "../db/RankFirst";
import { getRandSingleEelm } from "../pubUtils/util";
@@ -849,7 +848,7 @@ export class Rank {
let ts = this;
if (ts.isInit) return;
let myRank = await this.getMyRank(myId);
console.log('*******', ts.key, myRank, newScore, oldScore);
// console.log('*******', ts.key, myRank, newScore, oldScore);
if (myRank == 1 && newScore > oldScore) {
let serverId = this.keyName.serverId;
let sid = await getWorldChannelSid(serverId);
@@ -857,7 +856,7 @@ export class Rank {
let redisKey = RANK_TYPE_TO_KEY.get(id);
return redisKey == ts.key
});
console.log('*******', dicRank);
// console.log('*******', dicRank);
if(dicRank) {
let r = new Rank(ts.key, { serverId }, false, 1);
let ranks = await r.getRankByRange();
@@ -872,7 +871,7 @@ export class Rank {
}
for(let [id, { rankId, condition }] of gameData.generalRankReward) {
console.log(rankId, dicRank.id, oldScore, condition, newScore);
// console.log(rankId, dicRank.id, oldScore, condition, newScore);
if(dicRank.id == rankId && oldScore < condition && newScore >= condition) {
let rankFirstRec = await RankFirstModel.createRankFirst(serverId, id, rankId, { userInfo, guildInfo });
let roleServers = pinus.app.getServersByType('role');
@@ -1055,12 +1054,15 @@ export async function getGeneralRank(role: RoleType & { rankReceived: number[] }
let result: (RankFirstUpdateParam & {status: number})[] = [];
for (let [id, { rankId: type } ] of gameData.generalRankReward) {
let roleServers = pinus.app.getServersByType('role');
let curServer = roleServers.find(cur => cur.id == pinus.app.getServerId());
if(!curServer) {
curServer = getRandSingleEelm(roleServers);
let rankFirst: RankFirstType;
if(pinus.app.getServerType() == 'role') {
rankFirst = pinus.app.get('rankFirstRewards').get(serverId)?.get(id);
} else {
let roleServers = pinus.app.getServersByType('role');
let server = getRandSingleEelm(roleServers);
rankFirst = await pinus.app.rpc.role.roleRemote.getRankFirstById.toServer(server.id, serverId, id);
}
let rankFirst = await pinus.app.rpc.role.roleRemote.getRankFirstById.toServer(curServer.id, serverId, id);
if(rankFirst) {
let status = rankReceived.includes(id)?2: 1;
result.push({...rankFirst, status});