commission = $commission; $this->partner_commission = $commission->partner_commission; } /** * Execute the job. * * @return void */ public function handle() { $partner_commission = $this->partner_commission; // 判断佣金是否已经解冻或未到时间 if ($partner_commission->status != 0 || $partner_commission->unfreeze_time > now()) { Log::info('order_commission'.$this->commission->id."的状态为".$partner_commission->status.",解冻时间为".$partner_commission->unfreeze_time.",当前时间为".date('Y-m-d H:i:s')); return; } try { DB::beginTransaction(); Log::info('order_commission'.$this->commission->id.'佣金解冻start'); // 更新佣金状态为已解冻 $partner_commission->status = 1; $partner_commission->save(); Log::info('order_commission'.$this->commission->id.'更新佣金状态为已解冻'); // 更新合伙人钱包余额 $wallet = PartnerWallet::where('user_id', $partner_commission->user_id)->first(); $wallet->balance = bcadd($wallet->balance,$partner_commission->amount,2); $wallet->frozen_amount = bcsub($wallet->frozen_amount,$partner_commission->amount,2); $wallet->save(); Log::info('order_commission'.$this->commission->id.'更新合伙人钱包余额'); DB::commit(); Log::info('order_commission'.$this->commission->id.'佣金解冻完成'); CommissionUnfreezeComplete::dispatch($this->commission); }catch (\Exception){ DB::rollBack(); Log::info('order_commission'.$this->commission->id.'佣金解冻失败'); } } }