From d101852f77e3136f3f5319224be857e30a88c2f3 Mon Sep 17 00:00:00 2001 From: chaosBreaking Date: Sun, 27 Oct 2019 16:19:41 +0800 Subject: [PATCH] fix: profit --- src/jobs/mine.js | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/jobs/mine.js b/src/jobs/mine.js index 83d4d82..0d17f0f 100644 --- a/src/jobs/mine.js +++ b/src/jobs/mine.js @@ -71,7 +71,6 @@ const doReward = async (user, fund) => { if (!user || !fund) return 0; const rewardMine = awardMine(fund); if (rewardMine === 0) return 0; - const rewardInviter = +user.vicFundSum > 10000 ? rewardMine * 0.1 : 0; mylog.info('挖矿奖励: ', rewardMine); rewardMine && await Fund.findByIdAndUpdate(fund.id, { $inc: { @@ -80,27 +79,32 @@ const doReward = async (user, fund) => { $set: { lastMine: new Date().toISOString() } - }).then(() => { + }).then(async () => { rewardMine > 0 && createAction(1, { userId: user.id, tokenType: 'vic2vic', // 新模式标记 amount: rewardMine, remain: fund.asset }).save(); - if (rewardInviter > 0) { - User.findByIdAndUpdate(user.inviter, { - $inc: { - vicFundSum: rewardInviter - } - }).then(() => { - createAction(4, { - userId: user.inviter, - tokenType: 'vic2vic', // 新模式标记 - amount: rewardInviter, - remain: fund.asset, - detail: { level: 1, info: '1级奖励' } - }).save(); - }).catch(() => null); + if (user.inviter) { + const inviter = await Fund.findOne({ userId: user.inviter }); + if (inviter && +inviter.vicFundSum >= 10000) { + const rewardInviter = rewardMine * 0.1; + Promise.all([ + Fund.findOneAndUpdate({ userId: user.inviter }, { + $inc: { + vicFundSum: rewardInviter + } + }), + createAction(4, { + userId: user.inviter, + tokenType: 'vic2vic', // 新模式标记 + amount: rewardInviter, + remain: fund.asset, + detail: { level: 1, info: '1级奖励' } + }).save() + ]).catch((err) => mylog.error(err.errmsg)); + } } }); };