diff --git a/app/listener/paySuccessMargin.php b/app/listener/paySuccessMargin.php index 701e794c..bc4c208f 100644 --- a/app/listener/paySuccessMargin.php +++ b/app/listener/paySuccessMargin.php @@ -21,10 +21,16 @@ class paySuccessMargin 'paid' => 1, 'pay_time' => date('Y-m-d H:i:s') ]); - Db::name('merchant')->where('mer_id', $marginInfo['mer_id'] ?? 0)->where('uid', $marginInfo['uid'] ?? 0)->inc('margin', (float)$marginInfo['total_price']); - Db::name('merchant')->where('mer_id', $marginInfo['mer_id'] ?? 0)->where('uid', $marginInfo['uid'] ?? 0)->dec('recharge_margin', (float)$marginInfo['total_price']); $merchantInfo = Db::name('merchant')->where('mer_id', $marginInfo['mer_id'] ?? 0)->where('uid', $marginInfo['uid'] ?? 0)->find(); - if ($merchantInfo['recharge_margin'] <= 0) { + $marginAmount = (float)$merchantInfo['margin'] + (float)$marginInfo['total_price']; + Db::name('merchant')->where('mer_id', $marginInfo['mer_id'] ?? 0)->where('uid', $marginInfo['uid'] ?? 0)->update([ + 'margin' => $marginAmount + ]); + $rechargeAmount = (float)$marginInfo['recharge_margin'] - (float)$merchantInfo['total_price']; + Db::name('merchant')->where('mer_id', $marginInfo['mer_id'] ?? 0)->where('uid', $marginInfo['uid'] ?? 0)->update([ + 'recharge_margin' => $rechargeAmount + ]); + if ($rechargeAmount <= 0) { Db::name('merchant')->where('mer_id', $marginInfo['mer_id'] ?? 0)->where('uid', $marginInfo['uid'] ?? 0)->update([ 'is_margin' => 10 ]);