feat(服务器): 更新维护逻辑

This commit is contained in:
luying
2023-05-06 11:44:05 +08:00
parent a651254821
commit f47d2d131f
24 changed files with 183 additions and 89 deletions

View File

@@ -87,7 +87,7 @@ export default class GameController extends Controller {
try {
const { ctx } = this;
let { uid } = ctx;
const { pid, gid } = ctx.request.body;
const { pid, gid, version } = ctx.request.body;
let serverList = new Array<GroupParam>();
let loginServerList = new Array<ServerParamWithRole>();
@@ -104,6 +104,7 @@ export default class GameController extends Controller {
// let env = isReview? curRegion.reviewEnv: ctx.app.config.realEnv;
let allServers = await ServerlistModel.findByEnv(ctx.app.config.realEnv, false);
let hasRole = await RoleModel.checkHasRole(uid, curRegion.latestServerUniqId);
if(pid && gid) {
const pkg = await PackageModel.getPackageByGidPid(gid, pid);
@@ -114,16 +115,17 @@ export default class GameController extends Controller {
let roles = await RoleModel.findAllByUid(uid, true, true);
for (let server of allServers) {
let status = ctx.service.utils.getServerStatus(server, version, hasRole)
let curGroup = serverList.find(cur => cur.groupId == server.groupId);
if (!curGroup) {
curGroup = new GroupParam(server);
serverList.push(curGroup);
}
curGroup.pushServer(server);
curGroup.pushServer(server, status);
let role = roles.find(role => role.serverId == server.id);
if (!!role) {
let curLoginInfo = new ServerParamWithRole(role, server);
let curLoginInfo = new ServerParamWithRole(role, server, status);
loginServerList.push(curLoginInfo);
}
}