12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- /*
- * This file is part of the Jiannei/lumen-api-starter.
- *
- * (c) Jiannei <longjian.huang@foxmail.com>
- *
- * This source file is subject to the MIT license that is bundled
- * with this source code in the file LICENSE.
- */
- namespace App\Observers;
- use App\Repositories\Enums\Car\BillDisburseEnum;
- use App\Repositories\Enums\Car\OrderPayTypeEnum;
- use App\Repositories\Enums\Check\StatusEnum;
- use App\Repositories\Models\Car\Bill;
- use App\Repositories\Models\Car\Order;
- use Carbon\Carbon;
- use Illuminate\Support\Facades\DB;
- class BillObserver
- {
- public function saved(Bill $bill)
- {
- //分成
- if ($bill->disburse == BillDisburseEnum::IN && $bill->isDirty('check_status') && $bill['check_status'] == StatusEnum::SUCCESS) {
- $pay_money = Bill::query()->where('order_id', $bill->order_id)->where('disburse', BillDisburseEnum::IN)->where('check_status', StatusEnum::SUCCESS)->sum('money');
- $order = Order::query()->where('id', $bill->order_id)->select(['id', 'total_money', 'pay_type', 'salesman_admin_id'])->first();
- if ($order['pay_type'] == OrderPayTypeEnum::PAY_AGING && $order['salesman_admin_id'] && $pay_money >= $order['total_money']) {
- //激活冻结提成
- Bill::query()->where('order_id', $order->id)->where('check_status', StatusEnum::STAGE)->where('is_lock', 1)->update([
- // 'check_status' => StatusEnum::SUCCESS,
- 'check_status' => StatusEnum::WAIT,
- 'check_admin_id' => 0,
- 'is_lock' => 0,
- // 'check_time' => Carbon::now()->toDateTimeString(),
- 'is_give' => 0,
- ]);
- Order::query()->where('id', $bill->order_id)->update(['pay_type' => OrderPayTypeEnum::PAY_AGING_ALL]);
- }
- if ($pay_money >= $order['total_money']) {
- $order->is_money_complete = 1;
- $order->save();
- }
- }
- }
- }
|