拍卖行:修复分红补发定时任务
This commit is contained in:
@@ -14,7 +14,7 @@ import { rmRoleFromQueue, roleLeave, getRoleOnlineInfo, roleLogin } from '../../
|
|||||||
import { addRoleToGuildChannel, addRoleToSysChannel, addRoleToWorldChannel, leaveGuildAuctionChannel, leaveGuildChannel, leaveSysChannel, leaveWorldAuctionChannel, leaveWorldChannel, recentGuildMsgs, recentPrivateChatInfos, recentSysMsgs, recentWorldMsgs } from '../../../services/chatService';
|
import { addRoleToGuildChannel, addRoleToSysChannel, addRoleToWorldChannel, leaveGuildAuctionChannel, leaveGuildChannel, leaveSysChannel, leaveWorldAuctionChannel, leaveWorldChannel, recentGuildMsgs, recentPrivateChatInfos, recentSysMsgs, recentWorldMsgs } from '../../../services/chatService';
|
||||||
import { reportOneOnline, savePlayTime } from '../../../services/authenticateService';
|
import { reportOneOnline, savePlayTime } from '../../../services/authenticateService';
|
||||||
import { checkTaskInEntry, } from '../../../services/task/taskService';
|
import { checkTaskInEntry, } from '../../../services/task/taskService';
|
||||||
import { pushData, everydayRefresh, kickUser, getModuleData } from '../../../services/connectorService';
|
import { pushData, kickUser, getModuleData } from '../../../services/connectorService';
|
||||||
// import { setComBtlOnUserLeave } from '../../../services/comBattleService';
|
// import { setComBtlOnUserLeave } from '../../../services/comBattleService';
|
||||||
import Counter from '../../../db/Counter';
|
import Counter from '../../../db/Counter';
|
||||||
import { getExpByLv } from '../../../pubUtils/data';
|
import { getExpByLv } from '../../../pubUtils/data';
|
||||||
|
|||||||
@@ -153,9 +153,15 @@ export class AuctionHandler {
|
|||||||
async checkDividend(msg: {}, session: BackendSession) {
|
async checkDividend(msg: {}, session: BackendSession) {
|
||||||
const begin = await todayGuildBegin();
|
const begin = await todayGuildBegin();
|
||||||
const guildCode = session.get('guildCode');
|
const guildCode = session.get('guildCode');
|
||||||
if (!guildCode) return resResult(STATUS.GUILD_NOT_FOUND);
|
if(guildCode) {
|
||||||
const dividends = await DividendModel.findGuildDividendsByBegin(guildCode, begin);
|
const dividends = await DividendModel.findGuildDividendsByBegin(guildCode, begin);
|
||||||
return resResult(STATUS.SUCCESS, { dividends: processDividendFormat(dividends) });
|
return resResult(STATUS.SUCCESS, { dividends: processDividendFormat(dividends) });
|
||||||
|
} else {
|
||||||
|
let roleId = session.get('roleId');
|
||||||
|
|
||||||
|
const dividends = await DividendModel.findDividendByRoleAndBegin(roleId, begin);
|
||||||
|
return resResult(STATUS.SUCCESS, { dividends: processDividendFormat(dividends) });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getDividend(msg: { code: string }, session: BackendSession) {
|
async getDividend(msg: { code: string }, session: BackendSession) {
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import { getEvent } from './eventSercive';
|
|||||||
import { getBattleListOfMain, getMainChapter } from './normalBattleService';
|
import { getBattleListOfMain, getMainChapter } from './normalBattleService';
|
||||||
import { GuildModel, GuildType } from '../db/Guild';
|
import { GuildModel, GuildType } from '../db/Guild';
|
||||||
import UserGuild, { UserGuildType } from '../db/UserGuild';
|
import UserGuild, { UserGuildType } from '../db/UserGuild';
|
||||||
import { setPreDayActiveData, getAllGuildActivityStatus } from './guildActivity/guildActivityService';
|
import { getAllGuildActivityStatus } from './guildActivity/guildActivityService';
|
||||||
import { getAllOnlineRoles, getAllServers } from './redisService';
|
import { getAllOnlineRoles, getAllServers } from './redisService';
|
||||||
import Item, { ItemModel } from '../db/Item';
|
import Item, { ItemModel } from '../db/Item';
|
||||||
import { PvpDefenseModel } from '../db/PvpDefense';
|
import { PvpDefenseModel } from '../db/PvpDefense';
|
||||||
@@ -284,12 +284,7 @@ async function getGuildEntryData(role: RoleType, sid: string, session: FrontendO
|
|||||||
return { hasGuild: false }
|
return { hasGuild: false }
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function everydayRefresh() {
|
export async function pushRefreshTime() {
|
||||||
pushRefreshTime();
|
|
||||||
setPreDayActiveData();
|
|
||||||
}
|
|
||||||
|
|
||||||
async function pushRefreshTime() {
|
|
||||||
let todayZeroPoint = getZeroPoint();
|
let todayZeroPoint = getZeroPoint();
|
||||||
await sendMessageToAllWithSuc(PUSH_ROUTE.REFRESH_TIME, { todayZeroPoint });
|
await sendMessageToAllWithSuc(PUSH_ROUTE.REFRESH_TIME, { todayZeroPoint });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,11 +9,10 @@ import { GUILD_ACTIVITY_TYPE, REFRESH_TIME, COUNTER, AUCTION_TIME, GM_MAIL_TYPE,
|
|||||||
import { pinus } from 'pinus';
|
import { pinus } from 'pinus';
|
||||||
import { settleGuildWeekly } from './guildService';
|
import { settleGuildWeekly } from './guildService';
|
||||||
import { SendMailFun, sendMailsByGmMail, } from './mailService';
|
import { SendMailFun, sendMailsByGmMail, } from './mailService';
|
||||||
import { sendEndMsgToAllServer, autoDeclare, sendGuildActivityStatus } from './guildActivity/guildActivityService';
|
import { sendEndMsgToAllServer, autoDeclare, sendGuildActivityStatus, setPreDayActiveData } from './guildActivity/guildActivityService';
|
||||||
import { sendUngotDividendJob, startGuildAuction, startWorldAuction, stopAuction } from './auctionService';
|
import { sendUngotDividendJob, startGuildAuction, startWorldAuction, stopAuction } from './auctionService';
|
||||||
import { DicGuildActivity } from '../pubUtils/dictionary/DicGuildActivity';
|
import { DicGuildActivity } from '../pubUtils/dictionary/DicGuildActivity';
|
||||||
import { dispatch } from '../pubUtils/dispatcher';
|
import { dispatch } from '../pubUtils/dispatcher';
|
||||||
import { everydayRefresh } from './connectorService';
|
|
||||||
import { createNewServer, initMarquee } from './gmService';
|
import { createNewServer, initMarquee } from './gmService';
|
||||||
import moment = require('moment');
|
import moment = require('moment');
|
||||||
import { CounterModel } from '../db/Counter';
|
import { CounterModel } from '../db/Counter';
|
||||||
@@ -38,6 +37,7 @@ import { ActivityGroupModel } from '../db/ActivityGroup';
|
|||||||
import { sendMessageToServer } from './pushService';
|
import { sendMessageToServer } from './pushService';
|
||||||
import { resResult } from '../pubUtils/util';
|
import { resResult } from '../pubUtils/util';
|
||||||
import { checkPopUpConditionWhenGuildActivityEnd } from './activity/popUpShopService';
|
import { checkPopUpConditionWhenGuildActivityEnd } from './activity/popUpShopService';
|
||||||
|
import { pushRefreshTime } from './connectorService';
|
||||||
|
|
||||||
const PER_SECOND = 1 * 1000;
|
const PER_SECOND = 1 * 1000;
|
||||||
const PER_DAY = 24 * 60 * 60;
|
const PER_DAY = 24 * 60 * 60;
|
||||||
@@ -97,6 +97,14 @@ export async function init() {
|
|||||||
await initTimeLimitRank();
|
await initTimeLimitRank();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 每日刷新
|
||||||
|
export async function everydayRefresh() {
|
||||||
|
pushRefreshTime();
|
||||||
|
setPreDayActiveData();
|
||||||
|
sendUngotDividendJob();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// —————————————— PVP 及赛季相关 —————————————— //
|
// —————————————— PVP 及赛季相关 —————————————— //
|
||||||
function getSeasonContinueDay(seasonNum: number) {
|
function getSeasonContinueDay(seasonNum: number) {
|
||||||
const pvpSeasonDuring = PVP.PVP_SEASON_DAYS.split('|').map(cur => {
|
const pvpSeasonDuring = PVP.PVP_SEASON_DAYS.split('|').map(cur => {
|
||||||
@@ -376,7 +384,6 @@ export async function raceActivitySeconds() {
|
|||||||
let startGuildAuctionJobId: Job;
|
let startGuildAuctionJobId: Job;
|
||||||
let startWorldAuctionJobId: Job;
|
let startWorldAuctionJobId: Job;
|
||||||
let stopAuctionJobId: Job;
|
let stopAuctionJobId: Job;
|
||||||
let sendUngotDividendJobId: Job;
|
|
||||||
|
|
||||||
export async function auctionSchedule() {
|
export async function auctionSchedule() {
|
||||||
clearAuctionSchedule();
|
clearAuctionSchedule();
|
||||||
@@ -390,7 +397,6 @@ export async function auctionSchedule() {
|
|||||||
startGuildAuctionJobId = scheduleJob('startGuildAuction', `${guildOpen.seconds} ${guildOpen.minute} ${guildOpen.hour} * * ?`, startGuildAuction);
|
startGuildAuctionJobId = scheduleJob('startGuildAuction', `${guildOpen.seconds} ${guildOpen.minute} ${guildOpen.hour} * * ?`, startGuildAuction);
|
||||||
startWorldAuctionJobId = scheduleJob('startWorldAuction', `${worldOpen.seconds} ${worldOpen.minute} ${worldOpen.hour} * * ?`, startWorldAuction);
|
startWorldAuctionJobId = scheduleJob('startWorldAuction', `${worldOpen.seconds} ${worldOpen.minute} ${worldOpen.hour} * * ?`, startWorldAuction);
|
||||||
stopAuctionJobId = scheduleJob('stopAuction', `${worldClose.seconds} ${worldClose.minute} ${worldClose.hour} * * ?`, stopAuction);
|
stopAuctionJobId = scheduleJob('stopAuction', `${worldClose.seconds} ${worldClose.minute} ${worldClose.hour} * * ?`, stopAuction);
|
||||||
sendUngotDividendJobId = scheduleJob('sendUngotDividendJob', '0 0 5 00 * ?', sendUngotDividendJob);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -407,10 +413,6 @@ function clearAuctionSchedule() {
|
|||||||
stopAuctionJobId.cancel();
|
stopAuctionJobId.cancel();
|
||||||
stopAuctionJobId = undefined;
|
stopAuctionJobId = undefined;
|
||||||
}
|
}
|
||||||
if (sendUngotDividendJobId) {
|
|
||||||
sendUngotDividendJobId.cancel();
|
|
||||||
sendUngotDividendJobId = undefined;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// —————————————— 拍卖行 end —————————————— //
|
// —————————————— 拍卖行 end —————————————— //
|
||||||
|
|||||||
@@ -56,6 +56,10 @@ export default class Dividend extends BaseModel {
|
|||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async findDividendByRoleAndBegin(roleId: string, begin: Date) {
|
||||||
|
const results = await DividendModel.find({ 'dividends.roleId': roleId, begin }).select('-_id -__v').lean();
|
||||||
|
return results;
|
||||||
|
}
|
||||||
public static async findDividendsByBegin(begin: Date) {
|
public static async findDividendsByBegin(begin: Date) {
|
||||||
const results = await DividendModel.find({ begin }).select('-_id -__v').lean();
|
const results = await DividendModel.find({ begin }).select('-_id -__v').lean();
|
||||||
return results;
|
return results;
|
||||||
|
|||||||
Reference in New Issue
Block a user