|
@@ -15,7 +15,6 @@ use App\Models\OrderRecord;
|
|
|
use App\Models\Project;
|
|
|
use App\Models\SysConfig;
|
|
|
use App\Models\User;
|
|
|
-use App\Models\Wallet;
|
|
|
use App\Models\WalletRefundRecord;
|
|
|
use Exception;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
@@ -190,6 +189,7 @@ class OrderService
|
|
|
$order->state = 'wait_receive';
|
|
|
$order->save();
|
|
|
|
|
|
+ // 创建订单支付记录
|
|
|
OrderRecord::create([
|
|
|
'order_id' => $order->id,
|
|
|
'object_id' => $userId,
|
|
@@ -198,6 +198,12 @@ class OrderService
|
|
|
'remark' => '余额支付',
|
|
|
]);
|
|
|
|
|
|
+ // 扣除用户钱包总余额
|
|
|
+ $user->wallet->decrement('total_balance', $order->balance_amount);
|
|
|
+ // 扣除用户钱包可用余额
|
|
|
+ $user->wallet->decrement('available_balance', $order->balance_amount);
|
|
|
+ $user->wallet->save();
|
|
|
+
|
|
|
// 创建技师排班
|
|
|
// CoachSchedule::create([
|
|
|
// 'coach_id' => $data['coach_id'],
|
|
@@ -587,12 +593,12 @@ class OrderService
|
|
|
$payAmount = $totalAmount;
|
|
|
|
|
|
if ($useBalance) {
|
|
|
- $wallet = Wallet::where('user_id', $userId)->first();
|
|
|
- if ($wallet && $wallet->balance >= $totalAmount) {
|
|
|
+ $wallet = $user->wallet;
|
|
|
+ if ($wallet && $wallet->available_balance >= $totalAmount) {
|
|
|
$balanceAmount = $totalAmount;
|
|
|
$payAmount = 0;
|
|
|
} elseif ($wallet) {
|
|
|
- $balanceAmount = $wallet->balance;
|
|
|
+ $balanceAmount = $wallet->available_balance;
|
|
|
$payAmount = $totalAmount - $balanceAmount;
|
|
|
}
|
|
|
}
|