路由:修复单个路由情况

This commit is contained in:
luying
2022-08-12 10:52:34 +08:00
parent 1313f0777f
commit aae53a9f49
4 changed files with 13 additions and 14 deletions

View File

@@ -31,7 +31,7 @@ import { getBattleListOfMain, getMainChapter } from './normalBattleService';
import { GuildModel, GuildType } from '../db/Guild';
import UserGuild, { UserGuildType } from '../db/UserGuild';
import { getAllGuildActivityStatus } from './guildActivity/guildActivityService';
import { getAllOnlineRoles, getAllServers } from './redisService';
import { getAllOnlineRoles, getAllServers, incConnectorNum } from './redisService';
import Item, { ItemModel } from '../db/Item';
import { PvpDefenseModel } from '../db/PvpDefense';
import { getDonation } from './donateService';
@@ -363,17 +363,14 @@ function _assignServer(roleId: string, serverType: string) {
let servers = pinus.app.getServersByType(serverType)||[];
let sum = servers.reduce((pre, cur) => pre + (cur['num']||0), 0);
let id = '';
if(sum <= 0) {
id = dispatch(roleId, servers, serverType)?.id;
} else {
if(sum > 0) {
let serversWithWeight = servers.map(cur => ({...cur, weight: sum - (cur['num']||0)}));
let { dic: server } = getRandEelmWithWeight(serversWithWeight);
id = server?.id;
}
// if(id) {
// pinus.app.rpc.connector.connectorRemote.incServerNum.broadcast(id, 1);
// }
if(!id) {
id = dispatch(roleId, servers, serverType)?.id;
}
return id
}
@@ -404,4 +401,5 @@ export async function leaveServer(session: FrontendOrBackendSession) {
pinus.app.rpc.connector.connectorRemote.incServerNum.broadcast(order, -1);
incServerNum(sid, -1);
incConnectorNum(sid, -1);
}

View File

@@ -581,7 +581,7 @@ export async function incConnectorNum(sid: string, inc: number) {
let { id, serverType, clientHost, clientPort, num = 0 } = json;
let newNum = num + inc;
if(newNum < 0) newNum = 0;
await redisClient().hsetAsync(REDIS_KEY.SYS_SERVER, id, JSON.stringify({ serverType, clientHost, clientPort, id, num: num + inc }));
await redisClient().hsetAsync(REDIS_KEY.SYS_SERVER, id, JSON.stringify({ serverType, clientHost, clientPort, id, num: newNum }));
}
/*************** 将connector服插入redis *******/

View File

@@ -32,8 +32,8 @@ export async function getTeraphStrengthenResult(role: RoleType, count: number, d
if(!isEnough) break; // 消耗不足
let num = getRandValueByMinMax(TERAPH_RANDOM.MIN, TERAPH_RANDOM.MAX); // 强化时随机增加 2-4 属性
let arr = getRandEelm(attrs, num); // 随机出的属性id
// let num = getRandValueByMinMax(TERAPH_RANDOM.MIN, TERAPH_RANDOM.MAX); // 强化时随机增加 2-4 属性
let arr = getRandEelm(attrs, 1); // 随机出的属性id
let critical = getRandValueByMinMax(0, 100);//属性暴击率
if(teraph.criCount == undefined || teraph.count == undefined) {
teraph.criCount = 0;

View File

@@ -160,13 +160,14 @@ export default class GameController extends Controller {
// select connector
let sum = connectors.reduce((pre, cur) => pre + (cur['num']||0), 0);
let res;
if(sum == 0) {
res = dispatch(userCode, connectors, 'connector');
} else {
if(sum > 0) {
let serversWithWeight = connectors.map(cur => ({...cur, weight: sum - (cur['num']||0)}));
let randResult = getRandEelmWithWeight(serversWithWeight);
res = randResult.dic;
}
if(!res) {
res = dispatch(userCode, connectors, 'connector');
}
let { id, serverType, clientHost, clientPort, num = 0 } = res;
await redisClient.hsetAsync(REDIS_KEY.SYS_SERVER, id, JSON.stringify({ serverType, clientHost, clientPort, id, num: num + 1 }));