军团活动:修复bug

This commit is contained in:
luying
2021-03-23 20:42:51 +08:00
parent 1c43045e9a
commit 207ff906e3
9 changed files with 115 additions and 29 deletions

View File

@@ -1,7 +1,7 @@
import { Application, ChannelService, BackendSession, pinus } from "pinus";
import { GUILD_ACTIVITY_TYPE, STATUS, REDIS_KEY, GUILD_POINT_WAYS } from "../../../consts";
import { GUILD_ACTIVITY_TYPE, STATUS, REDIS_KEY, GUILD_POINT_WAYS, CITY_STATUS } from "../../../consts";
import { resResult } from "../../../pubUtils/util";
import { getGuildActivityStatus, getCityActivityObj, getCityStatus as pubGetCityStatus, getCities, getCityActivityRank } from "../../../services/guildActivityService";
import { getGuildActivityStatus, getCityActivityObj, getCityStatus as pubGetCityStatus, getCities, getCityActivityRank, sendSingleCityActEndMsg } from "../../../services/guildActivityService";
import { GuildActivityCityModel } from "../../../db/GuildActivityCity";
import { gameData } from "../../../pubUtils/data";
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
@@ -77,6 +77,9 @@ export class CityActivityHandler {
const dbCities = await GuildActivityCityModel.getAllCities(serverId);
let cityStatus = pubGetCityStatus(guildCode, cityId, dicCity.preCity, dbCities);
if(cityStatus == CITY_STATUS.DECLARED) {
obj.pushGuild(guildCode, serverId, cityId);
}
let historyCity = obj.getHistoryCity(roleId);
if(historyCity) {
@@ -219,9 +222,10 @@ export class CityActivityHandler {
let pushResult = await UserGuildActivityRecModel.pushCityRecord(code, { round, hid, damage });
if(!pushResult) return resResult(STATUS.WRONG_PARMS);
gateHp = obj.getGateHpAndInc(serverId, cityId, -1 * damage);
gateHp = obj.getGateHpAndInc(serverId, cityId, dicCity.hp, -1 * damage);
if(gateHp <= 0) {
// TODO 推送 停止活动并结算奖励
// 推送 停止活动并结算奖励
await sendSingleCityActEndMsg(cityId, serverId);
}
// 推送 城门血量
let chatSid = await getCityChannelSid(cityId);

View File

@@ -1,5 +1,5 @@
import { Application, BackendSession, ChannelService, pinus } from "pinus";
import { getMedianCe, getGuildActivityStatus, getRecordScore, getGateActivityObj, sendSingleGateActEndMsg, sendGuildActEndMsg, participants, getGateActivityRank } from "../../../services/guildActivityService";
import { getMedianCe, getGuildActivityStatus, getRecordScore, getGateActivityObj, sendSingleGateActEndMsg, participants, getGateActivityRank, getCityActivityObj } from "../../../services/guildActivityService";
import { resResult } from "../../../pubUtils/util";
import { STATUS, GUILD_ACTIVITY_TYPE, GUILD_POINT_WAYS, ENEMIES_TYPE, GET_POINT_WAYS } from "../../../consts";
import { GameModel } from "../../../db/Game";
@@ -15,8 +15,9 @@ import { REDIS_KEY } from "../../../consts";
import { addActive } from "../../../services/guildService";
import { gameData } from "../../../pubUtils/data";
import { getGuildChannelSid } from "../../../services/chatService";
import { guildActivityStart } from "../../../services/timeTaskService";
import { guildActivityStart, gateActivityEnd, cityActivityEnd } from "../../../services/timeTaskService";
import { UserGuildModel } from "../../../db/UserGuild";
import { GuildActivityCityModel } from "../../../db/GuildActivityCity";
export default function (app: Application) {
return new GateActivityHandler(app);
@@ -311,7 +312,7 @@ export class GateActivityHandler {
map.set(serverId, [code]);
}
}
await delGuildActivityRank(map);
await delGuildActivityRank(aid, map);
return resResult(STATUS.SUCCESS);
}
@@ -319,7 +320,11 @@ export class GateActivityHandler {
// ! 测试接口
async debugEndActivity(msg: { aid: number }, session: BackendSession) {
let { aid } = msg;
await sendGuildActEndMsg(aid);
if(aid == GUILD_ACTIVITY_TYPE.GATE_ACTIVITY) {
await gateActivityEnd();
} else if (aid == GUILD_ACTIVITY_TYPE.CITY_ACTIVITY) {
await cityActivityEnd();
}
return resResult(STATUS.SUCCESS);
}