From b9e59202da16861e269e8aa961877309522c4da1 Mon Sep 17 00:00:00 2001 From: luying Date: Fri, 9 Apr 2021 12:14:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=86=9B=E5=9B=A2=E6=88=98?= =?UTF-8?q?=E5=8A=9B=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/battle/handler/guildHandler.ts | 5 ++++- game-server/app/servers/role/handler/rankHandler.ts | 5 ++++- game-server/app/services/guildService.ts | 4 +++- shared/pubUtils/playerCe.ts | 8 ++++++-- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/game-server/app/servers/battle/handler/guildHandler.ts b/game-server/app/servers/battle/handler/guildHandler.ts index ecf2d63bd..1e9a0e8a6 100644 --- a/game-server/app/servers/battle/handler/guildHandler.ts +++ b/game-server/app/servers/battle/handler/guildHandler.ts @@ -629,6 +629,8 @@ export class GuildHandler { const guild = await GuildModel.quit(code, roleId, serverId, role.ce, userGuild.auth == GUILD_AUTH.MANAGER); if(!guild) return resResult(STATUS.GUILD_QUIT_ERROR); + await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }]) + //删除排名信息 await removeBossRank(code, roleId); await removeTrainRank(code, roleId, guild.trainId); @@ -669,7 +671,8 @@ export class GuildHandler { const guild = await GuildModel.quit(code, memberRoleId, serverId, role.ce, userGuild.auth == GUILD_AUTH.MANAGER); if(!guild) return resResult(STATUS.GUILD_KICK_ERROR); - + await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }]) + //删除排名信息 await removeBossRank(code, roleId); await removeTrainRank(code, roleId, guild.trainId); diff --git a/game-server/app/servers/role/handler/rankHandler.ts b/game-server/app/servers/role/handler/rankHandler.ts index c79aeeb6a..6da1d4880 100644 --- a/game-server/app/servers/role/handler/rankHandler.ts +++ b/game-server/app/servers/role/handler/rankHandler.ts @@ -57,7 +57,10 @@ export class RoleHandler { { hid: 11, star: 6, colorStar: 6, lv: 96, quality: 3, job: 11 }, { hid: 12, star: 6, colorStar: 6, lv: 96, quality: 3, job: 16 }, { hid: 8, star: 6, colorStar: 6, lv: 96, quality: 3, job: 1 } - ] + ]; + if(type == 2) { + lineup = [{ hid: 27, star: 6, colorStar: 6, lv: 96, quality: 3, job: 11 }] + } let ranks = await RoleModel.getRank('tower', serverId, ["lv", "roleName", "vLv", "head", "frame", "spine", "guildName", "ce"], 1, 10); diff --git a/game-server/app/services/guildService.ts b/game-server/app/services/guildService.ts index a02bf3e29..6c3793fe5 100644 --- a/game-server/app/services/guildService.ts +++ b/game-server/app/services/guildService.ts @@ -10,7 +10,7 @@ import { nowSeconds } from "../pubUtils/timeUtil"; import { pinus, BackendSession } from "pinus"; import { ARMY } from "../pubUtils/dicParam"; import { sendMail } from "./mailService"; -import { setRank, getMyRank, initSingleRank, getRoleOnlineInfo } from "./redisService"; +import { setRank, getMyRank, initSingleRank, getRoleOnlineInfo, redisUserInfoUpdate } from "./redisService"; import { GuildRankParam, GuildLeader } from "../domain/rank"; import { lockData, lockDataNoRetry } from '../services/redLockService'; import { ErrLogModel } from '../db/ErrLog'; @@ -70,6 +70,8 @@ export async function joinGuild(code: string, guildName: string, lv: number, rol if(!guild) { res.releaseCallback();//解锁 return { status: -1, resResult: resResult(STATUS.GUILD_MEMBER_MAX) }; + } else { + await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }]) } const role = await RoleModel.findByRoleId(roleId); diff --git a/shared/pubUtils/playerCe.ts b/shared/pubUtils/playerCe.ts index 0ec87a918..366806dc2 100644 --- a/shared/pubUtils/playerCe.ts +++ b/shared/pubUtils/playerCe.ts @@ -2,7 +2,7 @@ * 体力系统 */ -import { HERO_SYSTEM_TYPE, ABI_TYPE, HERO_CE_RATIO, HERO_SUB_ATTR_RATIO, LINEUP_NUM } from '../consts'; +import { HERO_SYSTEM_TYPE, ABI_TYPE, HERO_CE_RATIO, HERO_SUB_ATTR_RATIO, LINEUP_NUM, REDIS_KEY } from '../consts'; import { deepCopy, getAllAttrStage, reduceCe } from './util'; import { HeroModel, HeroType, HeroUpdate } from '../db/Hero'; @@ -19,6 +19,7 @@ import { PvpDefenseModel } from '../db/PvpDefense'; import { findIndex } from 'underscore'; import { GuildModel } from '../db/Guild'; import { DicJob } from './dictionary/DicJob'; +import { redisUserInfoUpdate } from '../services/redisService'; // 修改并下发战力 export async function calPlayerCeAndSave(type: number, roleId: string, originHero: HeroType, update: HeroUpdate, args?: Array) { @@ -44,7 +45,10 @@ export async function calPlayerCeAndSave(type: number, roleId: string, originHer role = await RoleModel.updateRoleInfo(roleId, { ce: role.ce + incCe, topLineup, topLineupCe }); await PvpDefenseModel.updateCe(roleId, originHero.hid, heroCe); // 更新pvp防守阵战力 - await GuildModel.updateCe(roleId, incCe); // 公会更新战力 + let guild = await GuildModel.updateCe(roleId, incCe); // 公会更新战力 + if(guild) { + await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }]) + } let pushHeros = new Array<{ hid: number, ce: number, incHeroCe: number }>(); pushHeros.push({