🦄 refactor(热更新): 分割状态代码和功能代码

This commit is contained in:
luying
2023-05-05 15:42:00 +08:00
parent 50a24cb4b8
commit a362a397b5
39 changed files with 676 additions and 622 deletions
@@ -7,12 +7,12 @@ import { taflush } from '../../../services/sdkService';
import { ActivityInRemote } from '../../../domain/activityField/activityField';
import { errlogger } from '../../../util/logger';
import { ActivityGroupModel } from '../../../db/ActivityGroup';
import { deleteActivities, loadActivities, saveActivitiesToGroup, updateActivities, _getActivityById, _getActivitiesByType, _getActivities, _getActivitiesByServerId, saveGroupToServer, addServerToGroup } from '../../../services/activity/activityRemoteService';
import { deleteActivities, loadActivities, saveActivitiesToGroup, updateActivities, _getActivityById, _getActivitiesByType, _getActivities, _getActivitiesByServerId, saveGroupToServer, addServerToGroup } from '../../../services/memoryCache/activityData';
import { saveActivityMemory } from '../../../services/log/memoryLogService';
import { setApiIsClose } from '../../../services/chatService';
import { setHiddenData } from '../../../services/dataService';
import { setKvToMemory } from '../../../services/pushService';
import { sendPublicAccountGift } from '../../../services/activity/bindPhoneService';
import { setHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -15,7 +15,7 @@ import { RoleStatus, ComBattleTeamModel, ComBattleTeamType, BossHp, ComRoleStatu
import { ItemModel, ItemType } from '../../../db/Item';
import { addItems, handleCost } from '../../../services/role/rewardService';
import { checkRoleInQueue, getServerName, rmCreatedTeamFromRedis, rmRoleFromQueue, setTeamSearchReq } from '../../../services/redisService';
import { getRandBlueprtId, clearComBtlTimer, getFrd, updateRobotHurtByTime, comBtlLvInvalid, clearRobotHurtTimer, setDismissTimer, dismissTeam, handleComBtlProgress, getComBattleFriendAdd, teammateInBlackList, blueprtIdValid, hasEnoughBlueprt, addRoleToTeam, addRoleStToTeam, addValidSearchingRoles, validToJoin, addRobotsToTeam, addRobotsLater, teamIsFullToStart, oneTeamNotInBlack, getAllAssistCnt, checkHasMyTeam, checkTeamStatusAndSend, getComBtlLvByPlayerLv, addToSearchingTeams, getCapFrd, getCapExtraCnt } from '../../../services/comBattleService';
import { getRandBlueprtId, getFrd, updateRobotHurtByTime, comBtlLvInvalid, clearRobotHurtTimer, setDismissTimer, dismissTeam, handleComBtlProgress, getComBattleFriendAdd, teammateInBlackList, blueprtIdValid, hasEnoughBlueprt, addRoleToTeam, addRoleStToTeam, addValidSearchingRoles, validToJoin, addRobotsToTeam, addRobotsLater, teamIsFullToStart, oneTeamNotInBlack, getAllAssistCnt, checkHasMyTeam, checkTeamStatusAndSend, getComBtlLvByPlayerLv, addToSearchingTeams, getCapFrd, getCapExtraCnt, startTeam } from '../../../services/battle/comBattleService';
import { setAp } from '../../../services/actionPointService';
import { roleLevelup } from '../../../services/normalBattleService';
import { getSimpleRoleInfo } from '../../../services/roleService';
@@ -30,19 +30,14 @@ import { addUserToTeamChannel, delTeamChannel, removeFromTeamChannel, sendMessag
import { getFriendRelationType, getRecommendType } from '../../../services/friendService';
import { FriendRelationModel } from '../../../db/FriendRelation';
import { isHeroHidden } from '../../../services/dataService';
import { addComTeam, clearComBtlTimer,deleteComBattle,getComTeamByCode } from '../../../services/memoryCache/comBattleData';
export default function(app: Application) {
return new ComBattleHandler(app);
}
export class ComBattleHandler {
constructor(private app: Application) {
this.app.set('teamMap', this.teamMap);
this.app.set('teamDisTimer', this.teamDisTimer);
this.app.set('robotHurtTimer', this.robotHurtTimer);
}
private teamMap: Map<string, MemComBtlTeam> = new Map();
private teamDisTimer: Map<string, NodeJS.Timer> = new Map();
private robotHurtTimer: Map<string, NodeJS.Timer> = new Map();
/**
* @description 队长创建队伍
@@ -85,13 +80,13 @@ export class ComBattleHandler {
delTeamChannel(teamCode);
return resResult(STATUS.COM_BATTLE_CREATE_ERR);
}
this.teamMap.set(teamCode, comTeam);
addComTeam(teamCode, comTeam)
// 倒计时一定时间给队长匹配机器人
if (pub === true) {
await addRobotsLater(comTeam, roleInfo, this.teamMap, this.teamDisTimer);
await addRobotsLater(comTeam, roleInfo);
}
setDismissTimer(comTeam, this.teamMap, roleId, this.teamDisTimer);
setDismissTimer(comTeam, roleId);
return resResult(STATUS.SUCCESS, { teamCode, roleStatus: comTeam.roleStatus });
}
@@ -146,10 +141,10 @@ export class ComBattleHandler {
addUserToTeamChannel(teamCode, true, roleId, sid);
// 创建并添加机器人
await addRobotsToTeam(comTeam, roleId, topLineupCe, playerLv, thiz.teamMap, thiz.teamDisTimer, 2);
await addRobotsToTeam(comTeam, roleId, topLineupCe, playerLv, 2);
await ComBattleTeamModel.createTeam(comTeam);
thiz.teamMap.set(teamCode, comTeam);
addComTeam(teamCode, comTeam);
// 机器人队伍 3 秒直接开战
setTimeout(async () => {
thiz.startBattle({teamCode}, session);
@@ -183,7 +178,7 @@ export class ComBattleHandler {
let roleId = session.get('roleId');
let sid = session.get('sid');
let { teamCode, isFrd } = msg;
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if (!teamStatus) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
if(teamStatus.status !== COM_TEAM_STATUS.DEFAULT) return resResult(STATUS.COM_BATTLE_TEAM_NOT_DEFAULT);
if (teamIsFullToStart(teamStatus)) return resResult(STATUS.COM_BATTLE_MEMBER_LIMIT);
@@ -214,7 +209,7 @@ export class ComBattleHandler {
addUserToTeamChannel(teamCode, false, roleId, sid);
sendMessageToTeam(teamCode, PUSH_ROUTE.TEAM_JOIN, { teamInfo: teamStatus });
setDismissTimer(teamStatus, this.teamMap, roleId, this.teamDisTimer);
setDismissTimer(teamStatus, roleId);
return resResult(STATUS.SUCCESS, { teamInfo: teamStatus});
}
@@ -229,7 +224,7 @@ export class ComBattleHandler {
let roleId = session.get('roleId');
let { isFrd, teamCode } = msg;
const isFrdPre = isFrd;
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if (!teamStatus || teamStatus.status !== COM_TEAM_STATUS.DEFAULT) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
if (teamStatus.capId === roleId) return resResult(STATUS.COM_BATTLE_SET_FRD_ERR);
if (!isFrd) {
@@ -305,7 +300,7 @@ export class ComBattleHandler {
let { teamCode, heroes: hids, battleCode = 'default' } = msg;
if (!hids || hids.length === 0) return resResult(STATUS.COM_BATTLE_HEROES_ERR);
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
const heroDBs = await HeroModel.findByHidRange(hids, roleId);
@@ -337,7 +332,7 @@ export class ComBattleHandler {
async rmTeammate(msg: {teamCode: string, roleIdToRm: string}, session: BackendSession) {
let roleId = session.get('roleId');
let { teamCode, roleIdToRm } = msg;
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
if (roleId === teamStatus.capId && roleId === roleIdToRm) return resResult(STATUS.COM_BATTLE_RM_SELF); // 队长移除自己视为解散,提示确认
if (roleId !== teamStatus.capId && roleId !== roleIdToRm) return resResult(STATUS.COM_BATTLE_CAN_NOT_RM);
@@ -360,10 +355,10 @@ export class ComBattleHandler {
// 先推送离队消息,再将玩家从房间中移除
sendMessageToTeam(teamCode, PUSH_ROUTE.LEAVE_TEAM, {teamCode, roleId: roleIdToRm});
removeFromTeamChannel(teamCode, roleIdToRm);
clearComBtlTimer(teamCode, this.teamDisTimer); // 移除队员停止解散计时
clearComBtlTimer(teamCode); // 移除队员停止解散计时
let thiz = this;
setTimeout(async () => {
let curTeamStatus = thiz.teamMap.get(teamCode);
let curTeamStatus = getComTeamByCode(teamCode);
if (validToJoin(curTeamStatus)) {
let roleSt: RoleStatus;
for (let st of curTeamStatus.roleStatus) {
@@ -373,7 +368,7 @@ export class ComBattleHandler {
}
if (!roleSt) return;
let { roleId, topLineupCe, lv } = roleSt;
await addRobotsToTeam(curTeamStatus, roleId, topLineupCe, lv, thiz.teamMap, thiz.teamDisTimer, 3 - curTeamStatus.roleIds.length);
await addRobotsToTeam(curTeamStatus, roleId, topLineupCe, lv, 3 - curTeamStatus.roleIds.length);
}
}, COM_BTL_CONST.ASSIST_TIME);
return resResult(STATUS.SUCCESS);
@@ -389,9 +384,9 @@ export class ComBattleHandler {
async dismiss(msg: {teamCode: string}, session: BackendSession) {
let roleId = session.get('roleId');
let { teamCode } = msg;
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if(!teamStatus) return resResult(STATUS.SUCCESS);
let result = await dismissTeam(teamStatus, this.teamMap, roleId, this.teamDisTimer);
let result = await dismissTeam(teamStatus, roleId);
return result;
}
@@ -407,35 +402,35 @@ export class ComBattleHandler {
let roleName = session.get('roleName');
let sid = session.get('sid');
let { teamCode } = msg;
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
if (teamStatus.capId !== roleId && teamStatus.capId !== 'robot') return resResult(STATUS.COM_BATTLE_CAP_ONLY);
if (teamStatus.status !== COM_TEAM_STATUS.DEFAULT) return resResult(STATUS.COM_BATTLE_ALREADY_START);
teamStatus.startTeam();
startTeam(teamStatus);
let team = await ComBattleTeamModel.updateStatusByCode(teamCode, teamStatus.status, teamStatus.startTime, teamStatus.endTime, teamStatus.hasTimeExtraReward);
if (!team) return resResult(STATUS.COM_BATTLE_START_ERR);
rmCreatedTeamFromRedis(teamCode, teamStatus.lv);
clearComBtlTimer(teamCode, this.teamDisTimer); // 战斗开始停止解散计时
clearComBtlTimer(teamCode); // 战斗开始停止解散计时
await getComBattleFriendAdd(teamStatus.roleStatus);
sendMessageToTeam(teamCode, PUSH_ROUTE.COMBATTLE_START, {teamCode, roleStatus: teamStatus.roleStatus});
// 每场倒计时结算
let thiz = this;
setTimeout(async () => {
let teamStatus = thiz.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if (teamStatus && teamStatus.status === COM_TEAM_STATUS.FIGHTING) {
clearRobotHurtTimer(teamStatus, this.robotHurtTimer);
clearRobotHurtTimer(teamStatus);
let team = await ComBattleTeamModel.syncTeamData({teamCode, status: COM_TEAM_STATUS.LOOSE, roleStatus: teamStatus.roleStatus, bossHpArr: teamStatus.bossHpArr}, true);
if (!team) return resResult(STATUS.COM_BATTLE_RESULT_ERR);
teamStatus.timeout = true;
sendMessageToTeam(teamCode, PUSH_ROUTE.TEAM_COMPLETE, {teamCode, result: false, timeout: true});
thiz.teamMap.delete(teamCode);
deleteComBattle(teamCode);
}
}, COM_BTL_CONST.BTL_TIME_LMT);
teamStatus.roleStatus.forEach((st, idx) => {
if (st.isRobot === true) {
updateRobotHurtByTime(teamStatus, st, COM_BTL_CONST.ROBOT_BASE_TIME_INTERVAL + idx, this.robotHurtTimer, this.teamMap);
updateRobotHurtByTime(teamStatus, st, COM_BTL_CONST.ROBOT_BASE_TIME_INTERVAL + idx);
}
});
await checkTaskInComBattleStart(teamStatus.roleStatus, teamStatus.capId, teamStatus.blueprtId);
@@ -453,7 +448,7 @@ export class ComBattleHandler {
let roleId = session.get('roleId');
let sid = session.get('sid');
let { teamCode, killed, bossHurts, curRnd } = msg;
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) {
checkTeamStatusAndSend(teamCode, roleId, sid);
return resResult(STATUS.SUCCESS);
@@ -502,7 +497,7 @@ export class ComBattleHandler {
// 推送本次行动情况
const roleStatus = teamStatus.roleStatus.map(st => {return {roleId: st.roleId, totalDmg: st.totalDmg, killed: st.killed}});
sendMessageToTeam(teamCode, PUSH_ROUTE.TEAMMATE_ACT, { teamCode, bossCurHp: teamStatus.bossCurHp, bossHpArr: teamStatus.bossHpArr, roleStatus, actRoleId: roleId, actBossHurts });
const result = await handleComBtlProgress(teamStatus, this.robotHurtTimer, this.teamMap);
const result = await handleComBtlProgress(teamStatus);
if (result && result.code !== 0) return result;
return resResult(STATUS.SUCCESS);
}
@@ -550,7 +545,7 @@ export class ComBattleHandler {
let { teamCode } = msg;
let team = await ComBattleTeamModel.getTeamByCode(teamCode);
clearRobotHurtTimer(team, this.robotHurtTimer);
clearRobotHurtTimer(team);
if (!team || team.status !== COM_TEAM_STATUS.WIN) return resResult(STATUS.COM_BATTLE_REWARD_ERR);
let { roleStatus, blueprtId, status, bossHpArr } = team;
let roleSt = roleStatus.find(st => st && st.roleId === roleId);
@@ -567,7 +562,7 @@ export class ComBattleHandler {
let sid = session.get('sid');
let { teamCode } = msg;
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) {
checkTeamStatusAndSend(teamCode, roleId, sid);
return resResult(STATUS.SUCCESS);
@@ -576,13 +571,13 @@ export class ComBattleHandler {
return resResult(STATUS.COM_BATTLE_RETREAT_ERR)
}
clearRobotHurtTimer(teamStatus, this.robotHurtTimer);
clearRobotHurtTimer(teamStatus);
let team = await ComBattleTeamModel.syncTeamData({ teamCode, status: COM_TEAM_STATUS.LOOSE, roleStatus: teamStatus.roleStatus, bossHpArr: teamStatus.bossHpArr, endTime: Date.now() }, false, true);
if (!team) return resResult(STATUS.COM_BATTLE_RESULT_ERR);
sendMessageToTeam(teamCode, PUSH_ROUTE.TEAM_COMPLETE, { teamCode, result: false });
this.teamMap.delete(teamCode);
deleteComBattle(teamCode);
return resResult(STATUS.SUCCESS, { teamInfo: pick(team, ['status', 'teamCode', 'roleStatus', 'bossHpArr']) });
}
@@ -590,7 +585,7 @@ export class ComBattleHandler {
async getComBtlStatus(msg: {teamCode: string}, session: BackendSession) {
let { teamCode } = msg;
let roleStatus: RoleStatus[], status: number, bossHpArr: BossHp[], timeout: boolean, endTime = 0;
let memTeam = this.teamMap.get(teamCode);
let memTeam = getComTeamByCode(teamCode);
if (memTeam) {
({ roleStatus, status, bossHpArr, timeout, endTime } = memTeam);
} else {
@@ -693,7 +688,7 @@ export class ComBattleHandler {
if (!guildCode) return resResult(STATUS.COM_BATTLE_INVITE_GUILD_ERR);
const { teamCode } = msg;
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if(!teamStatus) return resResult(STATUS.WRONG_PARMS);
await pushTeamInviteMsg(roleId, roleName, guildCode, teamCode, teamStatus.blueprtId, teamStatus.lv, teamStatus.ceLimit);
await ComBattleTeamModel.invite(teamCode, guildCode);
@@ -712,7 +707,7 @@ export class ComBattleHandler {
let guildCode = session.get('guildCode');
const { teamCode, targetRoleId } = msg;
let teamStatus = this.teamMap.get(teamCode);
let teamStatus = getComTeamByCode(teamCode);
if(!teamStatus) return resResult(STATUS.WRONG_PARMS);
let role = await RoleModel.findByRoleId(targetRoleId, 'lv');
@@ -2,7 +2,6 @@ import { Application, ChannelService, HandlerService, } from 'pinus';
import { PVPConfigModel, PVPConfigType } from '../../../db/PvpConfig';
import { reloadResources } from '../../../pubUtils/data';
import { setApiIsClose } from '../../../services/chatService';
import { setHiddenData } from '../../../services/dataService';
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
import { setServerGroup } from '../../../services/serverService';
import { savePvpSeasonMemory } from '../../../services/log/memoryLogService';
@@ -11,6 +10,7 @@ import { getPvpTime } from '../../../services/pvpService';
import { taflush } from '../../../services/sdkService';
import { setPvpSeasonNum, setPvpSettleSeasonNum } from '../../../services/timeTaskService';
import { errlogger } from '../../../util/logger';
import { setHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -1,7 +1,7 @@
import { Application, ChannelService, FrontendSession, RemoterClass, HandlerService, pinus, } from 'pinus';
import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts';
import { handleComBtlProgress, _addToSearchingTeams } from '../../../services/comBattleService';
import { handleComBtlProgress, _addToSearchingTeams } from '../../../services/battle/comBattleService';
import { MemComBtlTeam } from '../../../domain/battleField/ComBattleTeamField';
import { errlogger } from '../../../util/logger';
import { saveComBattleMemory } from '../../../services/log/memoryLogService';
@@ -5,8 +5,8 @@ import { getServerMainten, setServerMainten, stopServerMainten } from '../../../
import { errlogger } from '../../../util/logger';
import { addUserToChannel, sendMessageToChannel, sendMessgeToChannelByBatch, setKvToMemory } from '../../../services/pushService';
import { setApiIsClose } from '../../../services/chatService';
import { setHiddenData } from '../../../services/dataService';
import { setServerGroup } from '../../../services/serverService';
import { setHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -23,9 +23,9 @@ import { saveLoginAndOutLog } from '../../../pubUtils/logUtil';
import { sendMessageToAllWithSuc, sendMessageToUserWithSuc } from '../../../services/pushService';
import { checkServerIsOpen, getIpLocation } from '../../../services/roleService';
import { leaveRaceActivityToRemote } from '../../../services/guildActivity/guildActivityService';
import { getHiddenData } from '../../../services/dataService';
import { leaveCity } from '../../../services/gvg/gvgBattleService';
import { autoCreateServerWhenRoleInit } from '../../../services/serverService';
import { getHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -11,9 +11,9 @@ import { setWeek } from '../../../pubUtils/timeUtil';
import { savePvpSeasonMemory } from '../../../services/log/memoryLogService';
import { setApiIsClose } from '../../../services/chatService';
import { setPvpSeasonNum, setPvpSettleSeasonNum } from '../../../services/timeTaskService';
import { setHiddenData } from '../../../services/dataService';
import { setKvToMemory } from '../../../services/pushService';
import { setServerGroup } from '../../../services/serverService';
import { setHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -1,7 +1,7 @@
import { Application, ChannelService, HandlerService, } from 'pinus';
import { setHiddenData } from '../../../services/dataService';
import { setServerGroup } from '../../../services/serverService';
import { errlogger } from '../../../util/logger';
import { setHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -1,7 +1,7 @@
import { Application, ChannelService, BackendSession, pinus, HandlerService, } from "pinus";
import { GUILD_ACTIVITY_TYPE, STATUS, REDIS_KEY, CITY_STATUS, TASK_TYPE, ITEM_CHANGE_REASON, PUSH_ROUTE, GUILD_ACTIVITY_STATUS } from "../../../consts";
import { genCode, resResult } from "../../../pubUtils/util";
import { getGuildActivityStatus, getCityActivityObj, getCityStatus as pubGetCityStatus, getCities, getCityActivityRank, sendSingleCityActEndMsg, declareCity, autoDeclareMyCity, getGAIndexInPinus, getDeclareIndex, sendCityGuildRankToUser } from "../../../services/guildActivity/guildActivityService";
import { getGuildActivityStatus, getCityStatus as pubGetCityStatus, getCities, getCityActivityRank, sendSingleCityActEndMsg, declareCity, autoDeclareMyCity, getGAIndexInPinus, getDeclareIndex, sendCityGuildRankToUser } from "../../../services/guildActivity/guildActivityService";
import { GuildActivityCityModel } from "../../../db/GuildActivityCity";
import { gameData } from "../../../pubUtils/data";
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
@@ -21,6 +21,7 @@ import { GuildActivityCityDeclareModel } from "../../../db/GuildActivityCityDecl
import { GuildModel } from "../../../db/Guild";
import { getHistoryCity, redisClient, setHistoryCity } from "../../../services/redisService";
import { HeroModel } from "../../../db/Hero";
import { getCityActivityObj } from "../../../services/memoryCache/guildActivityData";
export default function (app: Application) {
new HandlerService(app, {});
@@ -48,7 +49,7 @@ export class CityActivityHandler {
if (!statusResult) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let obj = getCityActivityObj();
if(obj.guildActivityStatus == GUILD_ACTIVITY_STATUS.START) {
if(obj.getStatus() == GUILD_ACTIVITY_STATUS.START) {
await autoDeclareMyCity(serverId, roleId, guildCode, declareIndex);
}
const dbCities = await GuildActivityCityModel.getAllCities(serverId, declareIndex);
@@ -1,5 +1,5 @@
import { Application, BackendSession, ChannelService, pinus, HandlerService, } from "pinus";
import { getGuildActivityStatus, getRecordScore, getGateActivityObj, participants, getGateActivityRank, getCityActivityObj, getGAIndexInPinus } from "../../../services/guildActivity/guildActivityService";
import { getGuildActivityStatus, getRecordScore, participants, getGateActivityRank, getGAIndexInPinus } from "../../../services/guildActivity/guildActivityService";
import { resResult } from "../../../pubUtils/util";
import { STATUS, GUILD_ACTIVITY_TYPE, GUILD_POINT_WAYS, ENEMIES_TYPE, GET_POINT_WAYS, TASK_TYPE, GUILD_ACTIVITY_STATUS } from "../../../consts";
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
@@ -15,6 +15,7 @@ import { getTimeFun, getZeroPointD } from "../../../pubUtils/timeUtil";
import { checkTask } from "../../../services/task/taskService";
import { guildInter } from "../../../pubUtils/interface";
import { ServerRecordModel } from "../../../db/ServerRecords";
import { getGateActivityObj } from "../../../services/memoryCache/guildActivityData";
export default function (app: Application) {
new HandlerService(app, {});
@@ -8,7 +8,7 @@ import { resResult, genCode, getRandSingleEelm } from "../../../pubUtils/util";
import { GVGLeagueModel } from '../../../db/GVGLeague';
import { getGroupKey, getGVGConfig, getGVGPeriodData, getGVGServerType } from '../../../services/gvg/gvgService';
import { redisAddBattleScore, battleEndSendMessage, calBattleScoreByCe, checkAreaIsInCity, checkGVGBattleStart, checkMoveStatus, getBattleRanksByCity, getBirthAreaOfCity, getGVGWarId, getOppHeroes, getTechKnifeHurt, getTechReviveMinus, initRobots, pushTeamMoveMessage, getAllGVGCitiesInfo, leaveCity, refreshTeams, checkEnterCityTime, generNewLineup, getBattleRank, checkSettleStatus, getSpineCnt } from '../../../services/gvg/gvgBattleService';
import { getGVGBattleData } from '../../../services/gvg/gvgBattleMemory';
import { getGVGBattleData } from '../../../services/memoryCache/gvgBattleData';
import { GVGBattleRecModel } from '../../../db/GVGBattleRec';
import { getFightTimeByPeriod } from '../../../services/gvg/gvgFightService';
import { gameData, getReviveGold } from '../../../pubUtils/data';
@@ -1,7 +1,7 @@
import { Application, ChannelService, BackendSession, HandlerService, pinus, } from "pinus";
import { GUILD_ACTIVITY_TYPE, STATUS, GUILD_ACTIVITY_STATUS, REDIS_KEY, TASK_TYPE, PUSH_ROUTE, DEBUG_MAGIC_WORD } from "../../../consts";
import { genCode, resResult } from "../../../pubUtils/util";
import { getGuildActivityStatus, getRaceActivityObj, getWoodenHorseList, getGAIndexInPinus, getJoinIndex, leaveRaceActivity } from "../../../services/guildActivity/guildActivityService";
import { getGuildActivityStatus, getWoodenHorseList, getGAIndexInPinus, getJoinIndex, leaveRaceActivity } from "../../../services/guildActivity/guildActivityService";
import { UserGuildModel } from "../../../db/UserGuild";
import { GuildActivityRecordModel } from "../../../db/GuildActivityRec";
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
@@ -11,9 +11,9 @@ import { ServerRecordModel } from "../../../db/ServerRecords";
import { sendMessageToGuildWithSuc } from "../../../services/pushService";
import { RaceActivityRankParam } from "../../../domain/battleField/guildActivity";
import { GuildRankInfo } from "../../../domain/rank";
import { ServerlistModel } from "../../../db/Serverlist";
import { dispatch } from "../../../pubUtils/dispatcher";
import { redisClient } from "../../../services/redisService";
import { getRaceActivityObj } from "../../../services/memoryCache/guildActivityData";
export default function (app: Application) {
new HandlerService(app, {});
@@ -50,7 +50,7 @@ export class RaceActivityHandler {
let ranks: { myGuildRank?: RaceActivityRankParam, guildRank?: RaceActivityRankParam[] } = {};
let hasJoin = await obj.updateMemberSid(guildCode, serverId, roleId, sid);
if(obj.status == GUILD_ACTIVITY_STATUS.START) {
if(obj.getStatus() == GUILD_ACTIVITY_STATUS.START) {
ranks = await obj.getRanks(serverId, guildCode);
} else {
let index = getGAIndexInPinus(this.aid);
@@ -219,7 +219,7 @@ export class RaceActivityHandler {
let obj = getRaceActivityObj();
let myGuildRank = 0;
let woodenHorse = await obj.getWoodenHorse(guildCode, serverId);
if(obj.status == GUILD_ACTIVITY_STATUS.START) {
if(obj.getStatus() == GUILD_ACTIVITY_STATUS.START) {
let { myGuildRank: rank, guildRank } = await obj.getRanks(serverId, guildCode);
// console.log('#', JSON.stringify(guildRank))
myGuildRank = rank?.rank||0;
@@ -259,6 +259,7 @@ export class RaceActivityHandler {
if(!statusResult.isOpen) return resResult(STATUS.GUILD_ACTIVITY_NOT_OPEN);
if(statusResult.status != GUILD_ACTIVITY_STATUS.START) return resResult(STATUS.GUILD_ACTIVITY_NOT_OPEN);
let guild = pinus.app.getServersByType('guild');
let sid = await dispatch(redisClient(), `${serverId}`, guild, 'guild');
pinus.app.rpc.guild.guildActivityRemote.debugAddHorse.toServer(sid.id, serverId, guildCode, memberCnt, itemInterval)
@@ -1,11 +1,12 @@
import { Application, ChannelService, HandlerService, } from 'pinus';
import { sendAllGuildRanks, calWoodenHorseAndSend, sendRaceStartMsg, setDicGuildActivity, setDicAuctionTime, settleGuildActivityReward, clearActivityObj, setGuildActivityIndexInPinus, guildActivityStart, debugSendGateHp, debugAddHorse, leaveRaceActivity, leaveRaceWhenQuitGuild, leaveRaceWhenDismiss } from '../../../services/guildActivity/guildActivityService';
import { sendAllGuildRanks, calWoodenHorseAndSend, sendRaceStartMsg, setDicGuildActivity, setDicAuctionTime, settleGuildActivityReward, setGuildActivityIndexInPinus, guildActivityStart, debugSendGateHp, debugAddHorse, leaveRaceActivity, leaveRaceWhenQuitGuild, leaveRaceWhenDismiss } from '../../../services/guildActivity/guildActivityService';
import { gameData } from '../../../pubUtils/data';
import { setWeek } from '../../../pubUtils/timeUtil';
import { sendUngotDividend } from '../../../services/auctionService';
import { errlogger } from '../../../util/logger';
import { GUILD_ACTIVITY_TYPE } from '../../../consts';
import { saveGuildActivityIndexMemory } from '../../../services/log/memoryLogService';
import { clearActivityObj } from '../../../services/memoryCache/guildActivityData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -4,15 +4,15 @@ import { taflush, treatGuildName } from '../../../services/sdkService';
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
import { errlogger } from '../../../util/logger';
import { setApiIsClose } from '../../../services/chatService';
import { setHiddenData } from '../../../services/dataService';
import { setKvToMemory } from '../../../services/pushService';
import { getGVGConfig, setGVGConfig } from '../../../services/gvg/gvgService';
import { GVGConfigType } from '../../../db/GVGConfig';
import { catapultHurt, gvgBattleEnd, gvgBattleSeconds, gvgBattleStart, initCatapult, leaveCityMem } from '../../../services/gvg/gvgBattleService';
import { clearBattleMemory } from '../../../services/gvg/gvgBattleMemory';
import { clearBattleMemory } from '../../../services/memoryCache/gvgBattleData';
import { updateLeagueNameMem, updateTeamRoleInfoMem } from '../../../services/gvg/gvgTeamService';
import { resetPeriodTime, setPeriodTime } from '../../../services/gvg/gvgFightService';
import { setServerGroup } from '../../../services/serverService';
import { setHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -5,8 +5,8 @@ import { getServerMainten, setServerMainten, stopServerMainten } from '../../../
import { taflush } from '../../../services/sdkService';
import { errlogger } from '../../../util/logger';
import { setApiIsClose } from '../../../services/chatService';
import { setHiddenData } from '../../../services/dataService';
import { setKvToMemory } from '../../../services/pushService';
import { setHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -8,8 +8,8 @@ import { getServerMainten, setServerMainten, stopServerMainten } from '../../../
import { errlogger } from '../../../util/logger';
import { setApiIsClose } from '../../../services/chatService';
import { setPvpSeasonNum, setPvpSettleSeasonNum } from '../../../services/timeTaskService';
import { setHiddenData } from '../../../services/dataService';
import { setKvToMemory } from '../../../services/pushService';
import { setHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
new HandlerService(app, {});
@@ -17,9 +17,9 @@ import { ServerMailType } from '../../../db/ServerMail';
import { ActivityModelType } from '../../../db/Activity';
import { GUILD_ACTIVITY_TYPE, LADDER_STATUS } from '../../../consts';
import { setApiIsClose } from '../../../services/chatService';
import { setHiddenData } from '../../../services/dataService';
import { setKvToMemory } from '../../../services/pushService';
import { setServerGroup } from '../../../services/serverService';
import { setHiddenData } from '../../../services/memoryCache/hiddenData';
export default function (app: Application) {
return new SystimerRemote(app);