后台:军团活动debug

This commit is contained in:
luying
2021-10-14 17:33:35 +08:00
parent 0dc178b155
commit 2b6b941649
9 changed files with 227 additions and 22 deletions
@@ -5,20 +5,22 @@ import { getEvent } from '../../../services/eventSercive';
import { resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts/statusCode';
import { GMMailModel } from '../../../db/GMMail';
import { setGmMails } from '../../../pubUtils/gmData/gmDataUtil';
import { getRoleOnlineInfo } from '../../../services/redisService';
import { delGuildActivityRank, getRoleOnlineInfo } from '../../../services/redisService';
import { SendMailFun } from '../../../services/mailService';
import { GM_MAIL_TYPE } from '../../../consts';
import { RewardInter } from '../../../pubUtils/interface';
import { MarqueeModel } from '../../../db/Marquee';
import { ServerlistModel } from '../../../db/Serverlist';
import { getWorldChannelSid } from '../../../services/chatService';
import { pushCurrentTime } from '../../../services/chatService';
import { MaintenanceModel } from '../../../db/Maintenance';
import { initMaintenance, stopMaintenance } from '../../../services/gmService';
import { checkActivityEditable, checkActivityGroupType } from '../../../services/activity/activityService';
import { ActivityModel } from '../../../db/Activity';
import { ActivityGroupModel } from '../../../db/ActivityGroup';
import { ActivityGroupTypeModel } from '../../../db/ActivityGroupType';
import { GuildActivityCityModel } from '../../../db/GuildActivityCity';
import { GuildActivityRecordModel } from '../../../db/GuildActivityRec';
import { getTimeFunM } from '../../../pubUtils/timeUtil';
export default function (app: Application) {
return new GmHandler(app);
}
@@ -335,7 +337,49 @@ export class GmHandler {
return resResult(STATUS.SUCCESS)
}
async setGuildActivityDebug(msg: { startActivity: number, }, session: BackendSession) {
// 1. 将军团活动的时间设置到
/**
* 开启军团活动到拍卖行debug
* @param msg
* @param session
*/
async setGuildActivityDebug(msg: { aid: number, day: number, startActivity: number, endActivity: number, startGuildAuction: number, endGuildAuction: number, startWorldAuction: number, endWorldAuction: number }, session: BackendSession) {
const { aid, day, startActivity = 0, endActivity = 0, startGuildAuction = 0, endGuildAuction = 0, startWorldAuction = 0, endWorldAuction = 0 } = msg;
const uid = session.get('uid');
if(aid == undefined || day == undefined ) {
return resResult(STATUS.WRONG_PARMS);
}
// 设置字典
let now = new Date();
let startTimes = await pinus.app.rpc.guild.guildActivityRemote.setDicGuildActivity.broadcast(now.getTime(), aid, startActivity, endActivity);
await pinus.app.rpc.systimer.systimerRemote.setDicGuildActivity.broadcast(now.getTime(), aid, startActivity, endActivity);
await pinus.app.rpc.guild.guildActivityRemote.setDicAuctionTime.broadcast(startTimes[0], endActivity, startGuildAuction, endGuildAuction, startWorldAuction, endWorldAuction);
await pinus.app.rpc.systimer.systimerRemote.setDicAuctionTime.broadcast(startTimes[0], endActivity, startGuildAuction, endGuildAuction, startWorldAuction, endWorldAuction);
await pinus.app.rpc.guild.guildActivityRemote.setDay.broadcast(day);
await pinus.app.rpc.systimer.systimerRemote.setDay.broadcast(day);
// 清空旧数据
if (day <= 2) {
await GuildActivityCityModel.deleteMany({});
}
if(aid != 0) await delGuildActivityRank(aid);
await GuildActivityRecordModel.updateTodayInfo({ status: 2 });
// 开启定时器
await pinus.app.rpc.systimer.systimerRemote.setAuctionSchedule.broadcast();
await pinus.app.rpc.systimer.systimerRemote.setGuildActivitySchedule.broadcast();
// 向客户端发送时间
let time = <number>getTimeFunM().getTimeWithWeek(day, 20, 0, 0) - startActivity;
await pushCurrentTime(time);
return resResult(STATUS.SUCCESS, {
startActivity: startTimes[0],
endActivity: startTimes[0] + endActivity * 1000,
startGuildAuction: startTimes[0] + endActivity * 1000 + startGuildAuction * 1000,
endGuildAuction: startTimes[0] + endActivity * 1000 + startGuildAuction * 1000 + endGuildAuction * 1000,
startWorldAuction: startTimes[0] + endActivity * 1000 + startGuildAuction * 1000 + endGuildAuction * 1000 + startWorldAuction * 1000,
endWorldAuction: startTimes[0] + endActivity * 1000 + startGuildAuction * 1000 + endGuildAuction * 1000 + startWorldAuction * 1000 + endWorldAuction * 1000,
});
}
}
@@ -193,7 +193,8 @@ export class GuildHandler {
if(!bossInstance) return resResult(STATUS.GUILD_SCRIPT_NOT_OPENED);
let { myEncourageCnt } = await refreshUserGuildOfBoss(userGuild);
let costGold = (myEncourageCnt + count - dicParam.GUILD_BOSS.GUILD_BOSS_ENCOURAGE_FREECOUNT) * dicParam.GUILD_BOSS.GUILD_BOSS_ENCOURAGE_COST;
let freeCount = dicParam.GUILD_BOSS.GUILD_BOSS_ENCOURAGE_FREECOUNT - myEncourageCnt > 0? dicParam.GUILD_BOSS.GUILD_BOSS_ENCOURAGE_FREECOUNT - myEncourageCnt: 0;
let costGold = (count - freeCount) * dicParam.GUILD_BOSS.GUILD_BOSS_ENCOURAGE_COST;
if(costGold < 0) costGold = 0;
let { gold } = await RoleModel.findByRoleId(roleId, 'gold');
if(gold < costGold) return resResult(STATUS.BATTLE_GOLD_NOT_ENOUGH);
@@ -1,5 +1,5 @@
import { Application, ChannelService, HandlerService, } from 'pinus';
import { sendAllGuildRanks, sendGuildActEndMsg, calWoodenHorseAndSend, sendRaceStartMsg } from '../../../services/guildActivityService';
import { sendAllGuildRanks, sendGuildActEndMsg, calWoodenHorseAndSend, sendRaceStartMsg, setDicGuildActivity, setDicAuctionTime } from '../../../services/guildActivityService';
import { gameData } from '../../../pubUtils/data';
import { setWeek } from '../../../pubUtils/timeUtil';
@@ -65,6 +65,22 @@ export class GuildActivityRemote {
}
}
/**
* 改变字典表中的军团活动开始时间&持续时间
* @param {number} aid 活动
* @param {number} startSeconds 从现在开始几秒后开启活动
* @param {number} endSeconds 从开始之后几秒后结束活动
*/
async setDicGuildActivity(now: number, aid: number, startSeconds: number, endSeconds: number) {
return setDicGuildActivity(now, aid, startSeconds, endSeconds);
}
/**
* 改变字典表中的拍卖行时间
*/
async setDicAuctionTime(startTime: number, endActivity: number, startGuild: number, endGuild: number, startWorld: number, endWorld: number) {
setDicAuctionTime(startTime, endActivity, startGuild, endGuild, startWorld, endWorld);
}
/**
* !! 注意,这条函数会改变内存时间,影响甚大,请考虑清楚后使用
@@ -1,9 +1,11 @@
import { Application, ChannelService } from 'pinus';
import { resetPvpSeasonTime, setPvpDefResult, guildActivityStart, gateActivityEnd, cityActivityEnd, raceActivityEnd } from '../../../services/timeTaskService';
import { resetPvpSeasonTime, setPvpDefResult, guildActivityStart, gateActivityEnd, cityActivityEnd, raceActivityEnd, guildActivitySchedule, auctionSchedule } from '../../../services/timeTaskService';
import PvpDefenseType from '../../../db/PvpDefense';
import { DicGuildActivity } from '../../../pubUtils/dictionary/DicGuildActivity';
import { reloadResources } from '../../../pubUtils/data';
import { setMarquee, cancelMarquee } from '../../../services/gmService';
import { setDicAuctionTime, setDicGuildActivity } from '../../../services/guildActivityService';
import { setWeek } from '../../../pubUtils/timeUtil';
export default function (app: Application) {
return new SystimerRemote(app);
@@ -59,4 +61,36 @@ export class SystimerRemote {
public async cancelMarquee(code: string) {
return await cancelMarquee(code);
}
/**
* 改变字典表中的军团活动开始时间&持续时间
* @param {number} aid 活动
* @param {number} startSeconds 从现在开始几秒后开启活动
* @param {number} endSeconds 从开始之后几秒后结束活动
*/
public async setDicGuildActivity(now: number, aid: number, startSeconds: number, endSeconds: number) {
setDicGuildActivity(now, aid, startSeconds, endSeconds);
}
/**
* 改变字典表中的拍卖行时间
*/
public async setDicAuctionTime(startTime: number, endActivity: number, startGuild: number, endGuild: number, startWorld: number, endWorld: number) {
setDicAuctionTime(startTime, endActivity, startGuild, endGuild, startWorld, endWorld);
}
public async setGuildActivitySchedule() {
await guildActivitySchedule();
}
public async setAuctionSchedule() {
auctionSchedule();
}
/**
* !! 注意,这条函数会改变内存时间,影响甚大,请考虑清楚后使用
*/
async setDay(week: number) {
setWeek(week);
}
}