拍卖行:分红结算接口增加针对测试的处理

This commit is contained in:
liangtongchuan
2021-03-23 17:08:04 +08:00
parent 470be1a72f
commit 95f2e2495f
3 changed files with 42 additions and 8 deletions
+39 -5
View File
@@ -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);