拍卖行:修复分红补发定时任务
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 { reportOneOnline, savePlayTime } from '../../../services/authenticateService';
|
||||
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 Counter from '../../../db/Counter';
|
||||
import { getExpByLv } from '../../../pubUtils/data';
|
||||
|
||||
@@ -153,9 +153,15 @@ export class AuctionHandler {
|
||||
async checkDividend(msg: {}, session: BackendSession) {
|
||||
const begin = await todayGuildBegin();
|
||||
const guildCode = session.get('guildCode');
|
||||
if (!guildCode) return resResult(STATUS.GUILD_NOT_FOUND);
|
||||
const dividends = await DividendModel.findGuildDividendsByBegin(guildCode, begin);
|
||||
return resResult(STATUS.SUCCESS, { dividends: processDividendFormat(dividends) });
|
||||
if(guildCode) {
|
||||
const dividends = await DividendModel.findGuildDividendsByBegin(guildCode, begin);
|
||||
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) {
|
||||
|
||||
@@ -30,7 +30,7 @@ import { getEvent } from './eventSercive';
|
||||
import { getBattleListOfMain, getMainChapter } from './normalBattleService';
|
||||
import { GuildModel, GuildType } from '../db/Guild';
|
||||
import UserGuild, { UserGuildType } from '../db/UserGuild';
|
||||
import { setPreDayActiveData, getAllGuildActivityStatus } from './guildActivity/guildActivityService';
|
||||
import { getAllGuildActivityStatus } from './guildActivity/guildActivityService';
|
||||
import { getAllOnlineRoles, getAllServers } from './redisService';
|
||||
import Item, { ItemModel } from '../db/Item';
|
||||
import { PvpDefenseModel } from '../db/PvpDefense';
|
||||
@@ -284,12 +284,7 @@ async function getGuildEntryData(role: RoleType, sid: string, session: FrontendO
|
||||
return { hasGuild: false }
|
||||
}
|
||||
|
||||
export async function everydayRefresh() {
|
||||
pushRefreshTime();
|
||||
setPreDayActiveData();
|
||||
}
|
||||
|
||||
async function pushRefreshTime() {
|
||||
export async function pushRefreshTime() {
|
||||
let todayZeroPoint = getZeroPoint();
|
||||
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 { settleGuildWeekly } from './guildService';
|
||||
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 { DicGuildActivity } from '../pubUtils/dictionary/DicGuildActivity';
|
||||
import { dispatch } from '../pubUtils/dispatcher';
|
||||
import { everydayRefresh } from './connectorService';
|
||||
import { createNewServer, initMarquee } from './gmService';
|
||||
import moment = require('moment');
|
||||
import { CounterModel } from '../db/Counter';
|
||||
@@ -38,6 +37,7 @@ import { ActivityGroupModel } from '../db/ActivityGroup';
|
||||
import { sendMessageToServer } from './pushService';
|
||||
import { resResult } from '../pubUtils/util';
|
||||
import { checkPopUpConditionWhenGuildActivityEnd } from './activity/popUpShopService';
|
||||
import { pushRefreshTime } from './connectorService';
|
||||
|
||||
const PER_SECOND = 1 * 1000;
|
||||
const PER_DAY = 24 * 60 * 60;
|
||||
@@ -97,6 +97,14 @@ export async function init() {
|
||||
await initTimeLimitRank();
|
||||
}
|
||||
|
||||
// 每日刷新
|
||||
export async function everydayRefresh() {
|
||||
pushRefreshTime();
|
||||
setPreDayActiveData();
|
||||
sendUngotDividendJob();
|
||||
}
|
||||
|
||||
|
||||
// —————————————— PVP 及赛季相关 —————————————— //
|
||||
function getSeasonContinueDay(seasonNum: number) {
|
||||
const pvpSeasonDuring = PVP.PVP_SEASON_DAYS.split('|').map(cur => {
|
||||
@@ -376,7 +384,6 @@ export async function raceActivitySeconds() {
|
||||
let startGuildAuctionJobId: Job;
|
||||
let startWorldAuctionJobId: Job;
|
||||
let stopAuctionJobId: Job;
|
||||
let sendUngotDividendJobId: Job;
|
||||
|
||||
export async function auctionSchedule() {
|
||||
clearAuctionSchedule();
|
||||
@@ -390,7 +397,6 @@ export async function auctionSchedule() {
|
||||
startGuildAuctionJobId = scheduleJob('startGuildAuction', `${guildOpen.seconds} ${guildOpen.minute} ${guildOpen.hour} * * ?`, startGuildAuction);
|
||||
startWorldAuctionJobId = scheduleJob('startWorldAuction', `${worldOpen.seconds} ${worldOpen.minute} ${worldOpen.hour} * * ?`, startWorldAuction);
|
||||
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 = undefined;
|
||||
}
|
||||
if (sendUngotDividendJobId) {
|
||||
sendUngotDividendJobId.cancel();
|
||||
sendUngotDividendJobId = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
// —————————————— 拍卖行 end —————————————— //
|
||||
|
||||
@@ -56,6 +56,10 @@ export default class Dividend extends BaseModel {
|
||||
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) {
|
||||
const results = await DividendModel.find({ begin }).select('-_id -__v').lean();
|
||||
return results;
|
||||
|
||||
Reference in New Issue
Block a user