diff --git a/app/Models/Transaction.php b/app/Models/Transaction.php index 1abed1c..aa0db0e 100644 --- a/app/Models/Transaction.php +++ b/app/Models/Transaction.php @@ -71,7 +71,7 @@ public function scopeThisUser($query) } - public function getDrops($user_id = null) + public function getDrops($user_id = null): float { // if (!$user_id) { @@ -146,7 +146,7 @@ public function addPayoutDrops($user_id, $amount, $description, $host_id, $modul 'income' => 0, 'income_drops' => 0, 'outcome' => 0, - 'outcome_drops' => (float) $amount, + 'outcome_drops' => (float)$amount, 'host_id' => $host_id, 'module_id' => $module_id, ]; @@ -171,7 +171,7 @@ public function addIncomeDrops($user_id, $amount, $description) 'payment' => 'balances', 'description' => $description, 'income' => 0, - 'income_drops' => (float) $amount, + 'income_drops' => (float)$amount, 'outcome' => 0, 'outcome_drops' => 0, ]; @@ -179,13 +179,13 @@ public function addIncomeDrops($user_id, $amount, $description) return $this->addLog($user_id, $data); } - public function addIncomeBalance($user_id, $payment, $amount, $description) + public function addIncomeBalances($user_id, $payment, $amount, $description) { $data = [ 'type' => 'income', 'payment' => $payment, 'description' => $description, - 'income' => (float) $amount, + 'income' => (float)$amount, 'income_drops' => 0, 'outcome' => 0, 'outcome_drops' => 0, @@ -194,7 +194,7 @@ public function addIncomeBalance($user_id, $payment, $amount, $description) return $this->addLog($user_id, $data); } - public function addPayoutBalance($user_id, $amount, $description, $module_id = null) + public function addPayoutBalances($user_id, $amount, $description, $module_id = null) { $data = [ 'type' => 'payout', @@ -202,7 +202,7 @@ public function addPayoutBalance($user_id, $amount, $description, $module_id = n 'description' => $description, 'income' => 0, 'income_drops' => 0, - 'outcome' => (float) $amount, + 'outcome' => (float)$amount, 'outcome_drops' => 0 ]; @@ -213,7 +213,7 @@ public function addPayoutBalance($user_id, $amount, $description, $module_id = n return $this->addLog($user_id, $data); } - public function addHostPayoutBalance($user_id, $host_id, $module_id, $amount, $description) + public function addHostPayoutBalances($user_id, $host_id, $module_id, $amount, $description) { $data = [ 'type' => 'payout', @@ -221,7 +221,7 @@ public function addHostPayoutBalance($user_id, $host_id, $module_id, $amount, $d 'description' => $description, 'income' => 0, 'income_drops' => 0, - 'outcome' => (float) $amount, + 'outcome' => (float)$amount, 'outcome_drops' => 0, 'host_id' => $host_id, 'module_id' => $module_id, @@ -231,23 +231,22 @@ public function addHostPayoutBalance($user_id, $host_id, $module_id, $amount, $d } - public function reduceAmount($user_id, $amount = 0, $description = '扣除费用请求。') { - $lock = Cache::lock("user_balance_lock_" . $user_id, 10); + $lock = Cache::lock("user_balances_lock_" . $user_id, 10); try { $lock->block(5); $user = User::findOrFail($user_id); - $user->balance -= $amount; + $user->balances -= $amount; $user->save(); - $this->addPayoutBalance($user_id, $amount, $description); + $this->addPayoutBalances($user_id, $amount, $description); - return $user->balance; + return $user->balances; } finally { optional($lock)->release(); } @@ -258,25 +257,25 @@ public function reduceAmount($user_id, $amount = 0, $description = '扣除费用 public function reduceAmountModuleFail($user_id, $module_id, $amount = 0, $description = '扣除费用请求。') { - $lock = Cache::lock("user_balance_lock_" . $user_id, 10); + $lock = Cache::lock("user_balances_lock_" . $user_id, 10); try { $lock->block(5); $user = User::findOrFail($user_id); - $user->balance -= $amount; + $user->balances -= $amount; // if balances < 0 - if ($user->balance < 0) { + if ($user->balances < 0) { throw new BalanceNotEnoughException('余额不足。'); } $user->save(); - $this->addPayoutBalance($user_id, $amount, $description, $module_id); + $this->addPayoutBalances($user_id, $amount, $description, $module_id); - return $user->balance; + return $user->balances; } finally { optional($lock)->release(); } @@ -288,19 +287,19 @@ public function reduceAmountModuleFail($user_id, $module_id, $amount = 0, $descr public function reduceHostAmount($user_id, $host_id, $module_id, $amount = 0, $description = '扣除费用请求。') { - $lock = Cache::lock("user_balance_lock_" . $user_id, 10); + $lock = Cache::lock("user_balances_lock_" . $user_id, 10); try { $lock->block(5); $user = User::findOrFail($user_id); - $user->balance -= $amount; + $user->balances -= $amount; $user->save(); - $this->addHostPayoutBalance($user_id, $host_id, $module_id, $amount, $description); + $this->addHostPayoutBalances($user_id, $host_id, $module_id, $amount, $description); - return $user->balance; + return $user->balances; } finally { optional($lock)->release(); } @@ -308,18 +307,21 @@ public function reduceHostAmount($user_id, $host_id, $module_id, $amount = 0, $d return false; } + /** + * @throws ChargeException + */ public function addAmount($user_id, $payment = 'console', $amount = 0, $description = null) { - $lock = Cache::lock("user_balance_lock_" . $user_id, 10); + $lock = Cache::lock("user_balances_lock_" . $user_id, 10); try { $lock->block(5); $user = User::findOrFail($user_id); - $left_balance = $user->balance + $amount; + $left_balances = $user->balances + $amount; - $user->increment('balance', $amount); + $user->increment('balances', $amount); if (!$description) { $description = '充值金额。'; @@ -327,9 +329,9 @@ public function addAmount($user_id, $payment = 'console', $amount = 0, $descript $description = '充值 ' . $amount . ' 元'; } - $this->addIncomeBalance($user_id, $payment, $amount, $description); + $this->addIncomeBalances($user_id, $payment, $amount, $description); - return $left_balance; + return $left_balances; } catch (LockTimeoutException $e) { Log::error($e); throw new ChargeException('充值失败,请稍后再试。'); @@ -346,7 +348,7 @@ private function addLog($user_id, $data) $user = User::find($user_id); $current = [ - 'balances' => $user->balance, + 'balances' => $user->balances, 'drops' => $this->getDrops($user_id), 'user_id' => intval($user_id), ];