军团活动:诸侯混战自动宣战

This commit is contained in:
luying
2022-06-28 22:01:49 +08:00
parent 38621fb153
commit c896b27131
7 changed files with 114 additions and 34 deletions
@@ -1,7 +1,7 @@
import { Application, ChannelService, BackendSession, pinus, HandlerService, } from "pinus";
import { GUILD_ACTIVITY_TYPE, STATUS, REDIS_KEY, GUILD_POINT_WAYS, CITY_STATUS, TASK_TYPE, ITEM_CHANGE_REASON, PUSH_ROUTE, GUILD_ACTIVITY_STATUS } from "../../../consts";
import { resResult } from "../../../pubUtils/util";
import { getGuildActivityStatus, getCityActivityObj, getCityStatus as pubGetCityStatus, getCities, getCityActivityRank, sendSingleCityActEndMsg, getPreDayActiveData, sendGuildCityDeclare } from "../../../services/guildActivity/guildActivityService";
import { getGuildActivityStatus, getCityActivityObj, getCityStatus as pubGetCityStatus, getCities, getCityActivityRank, sendSingleCityActEndMsg, getPreDayActiveData, sendGuildCityDeclare, declareCity, autoDeclareMyCity } from "../../../services/guildActivity/guildActivityService";
import { GuildActivityCityModel } from "../../../db/GuildActivityCity";
import { gameData } from "../../../pubUtils/data";
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
@@ -18,6 +18,7 @@ import { dispatch } from "../../../pubUtils/dispatcher";
import { ServerRecordModel } from "../../../db/ServerRecords";
import { sendMessageToCityWithSuc } from "../../../services/pushService";
import { isDebugTime } from "../../../pubUtils/sdkUtil";
import { GuildActivityCityDeclareModel } from "../../../db/GuildActivityCityDeclare";
export default function (app: Application) {
new HandlerService(app, {});
@@ -34,15 +35,17 @@ export class CityActivityHandler {
// 进入诸侯混战
async getCityActivity(msg: {}, session: BackendSession) {
// const roleId = session.get('roleId');
const roleId = session.get('roleId');
// const roleName = session.get('roleName');
const serverId = session.get('serverId');
const guildCode = session.get('guildCode');
let statusResult = getGuildActivityStatus(this.aid);
if (!statusResult) return resResult(STATUS.DIC_DATA_NOT_FOUND);
if(statusResult.status == GUILD_ACTIVITY_STATUS.START) {
await autoDeclareMyCity(serverId, roleId, guildCode);
}
const dbCities = await GuildActivityCityModel.getAllCities(serverId);
let cities = getCities(guildCode, dbCities);
@@ -108,7 +111,7 @@ export class CityActivityHandler {
// 宣战
async declareCity(msg: { cityId: number }, session: BackendSession) {
// const roleId = session.get('roleId');
const roleId = session.get('roleId');
// const roleName = session.get('roleName');
const serverId = session.get('serverId');
const guildCode = session.get('guildCode');
@@ -117,18 +120,15 @@ export class CityActivityHandler {
let dicCity = gameData.cityActivity.get(cityId);
if (dicCity.preCity.length > 0) return resResult(STATUS.CAN_NOT_DECLARE);
let checkResult = await GuildActivityCityModel.checkDeclartion(serverId, guildCode);
let checkResult = await GuildActivityCityDeclareModel.checkDeclartion(serverId, guildCode);
if (!!checkResult) return resResult(STATUS.HAS_DECLARED);
let curCity = await GuildActivityCityModel.getCity(serverId, cityId);
if (curCity && curCity.guardGuildCode) {
return resResult(STATUS.CITY_IS_GUARD);
}
let rec = await GuildActivityCityModel.declare(serverId, cityId, guildCode);
await sendGuildCityDeclare(cityId, guildCode, rec.declareCount);
let obj = getCityActivityObj();
obj.pushGuild(guildCode, serverId, cityId);
let declareResult = await declareCity(serverId, roleId, guildCode, cityId, false);
if(!declareResult) return resResult(STATUS.HAS_DECLARED);
const dbCities = await GuildActivityCityModel.getAllCities(serverId);
let cities = getCities(guildCode, dbCities);
@@ -148,7 +148,7 @@ export class CityActivityHandler {
if (!guildCode) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH);
let checkResult = await GuildActivityCityModel.checkDeclartion(serverId, guildCode);
let checkResult = await GuildActivityCityDeclareModel.checkDeclartion(serverId, guildCode);
if (!checkResult) return resResult(STATUS.HAS_NOT_DECLARED);
let obj = getCityActivityObj();