拍卖行:分红结算接口增加针对测试的处理
This commit is contained in:
@@ -270,7 +270,7 @@ export class AuctionHandler {
|
||||
if (magicWord !== DEBUG_MAGIC_WORD) {
|
||||
return resResult(STATUS.TOKEN_ERR);
|
||||
}
|
||||
const result = await sendUngotDividend();
|
||||
const result = await sendUngotDividend(true);
|
||||
if (result === true) {
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
@@ -202,14 +202,48 @@ export async function stopAuction() {
|
||||
}
|
||||
}
|
||||
|
||||
export async function sendUngotDividend() {
|
||||
async function debugDividends() {
|
||||
const begin = yestodayGuildBegin();
|
||||
const dividends = await DividendModel.findDividendsByBegin(begin);
|
||||
const todayBegin = todayGuildBegin();
|
||||
const todayDividends = await DividendModel.findDividendsByBegin(todayBegin);
|
||||
return [...dividends, ...todayDividends];
|
||||
}
|
||||
|
||||
async function officialDividends() {
|
||||
const begin = yestodayGuildBegin();
|
||||
const dividends = await DividendModel.findDividendsByBegin(begin);
|
||||
return dividends;
|
||||
}
|
||||
|
||||
async function updateDebugDividendsStatus(status: number) {
|
||||
const begin = yestodayGuildBegin();
|
||||
await DividendModel.updateDividendsStatus(begin, status);
|
||||
const todayBegin = todayGuildBegin();
|
||||
await DividendModel.updateDividendsStatus(todayBegin,status);
|
||||
}
|
||||
|
||||
async function updateOfficialDividendsStatus(status: number) {
|
||||
const begin = yestodayGuildBegin();
|
||||
await DividendModel.updateDividendsStatus(begin, status);
|
||||
}
|
||||
|
||||
export async function sendUngotDividendJob() {
|
||||
try {
|
||||
return await sendUngotDividend();
|
||||
} catch (e) {
|
||||
console.error('sendUngotDividend err: ', e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
export async function sendUngotDividend(debug = false) {
|
||||
try {
|
||||
console.log('schedule sendUngotDividend called:', new Date());
|
||||
const begin = yestodayGuildBegin();
|
||||
const dividends = await DividendModel.findDividendsByBegin(begin);
|
||||
const dividends = debug === true ? await debugDividends() : await officialDividends();
|
||||
const rewards = new Map<string, number>();
|
||||
for (let dividend of dividends) {
|
||||
if (!dividend.dividends) continue;
|
||||
if (!dividend.dividends || dividend.status === DIVIDEND_STATUS.SENT) continue;
|
||||
for (let dividendRec of dividend.dividends) {
|
||||
if (dividendRec.status === ROLE_RECEIVE_STATUS.YES) continue;
|
||||
const sum = rewards.get(dividendRec.roleId) || 0;
|
||||
@@ -227,7 +261,7 @@ export async function sendUngotDividend() {
|
||||
pushMessage.forEach(({route, data, uids })=>{
|
||||
pinus.app.channelService.pushMessageByUids(route, resResult(STATUS.SUCCESS, { mails: data }), uids);
|
||||
});
|
||||
await DividendModel.updateDividendsStatus(begin, DIVIDEND_STATUS.SENT);
|
||||
debug === true ? await updateDebugDividendsStatus(DIVIDEND_STATUS.SENT) : await updateOfficialDividendsStatus(DIVIDEND_STATUS.SENT);
|
||||
return true;
|
||||
} catch (e) {
|
||||
console.error('sendUngotDividend err: ', e);
|
||||
|
||||
@@ -21,7 +21,7 @@ import { getMailContent, sendMail } from './mailService';
|
||||
import { reportOnline } from '../pubUtils/httpUtil';
|
||||
import User, { UserModel } from '../db/User';
|
||||
import { getGuildActivityByDic, setMedianCe } from './guildActivityService';
|
||||
import { sendUngotDividend, startGuildAuction, startWorldAuction, stopAuction } from './auctionService';
|
||||
import { sendUngotDividendJob, startGuildAuction, startWorldAuction, stopAuction } from './auctionService';
|
||||
import { DicGuildActivity } from '../pubUtils/dictionary/DicGuildActivity';
|
||||
const PER_SECOND = 1 * 1000;
|
||||
const PER_DAY = 24 * 60 * 60;
|
||||
@@ -410,5 +410,5 @@ function auctionSchedule() {
|
||||
scheduleJob('startGuildAuction', '0 0 20 20 * ?', startGuildAuction);
|
||||
scheduleJob('startWorldAuction', '0 0 20 30 * ?', startWorldAuction);
|
||||
scheduleJob('stopAuction', '0 0 22 00 * ?', stopAuction);
|
||||
scheduleJob('sendUngotDividend', '0 0 5 00 * ?', sendUngotDividend);
|
||||
scheduleJob('sendUngotDividendJob', '0 0 5 00 * ?', sendUngotDividendJob);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user