field(['id','uid','mer_id','order_id','commission_merchants_money','commission_promoter_money']) ->with([ 'mer' => function($query){ $query->field('mer_id,spread_uid as mer_spread_uid')->bind(['mer_spread_uid']); }, 'user' => function($query){ $query->field('uid,spread_uid')->bind(['spread_uid']); }, ])->find(); if(!$recordInfo) return false; $recordInfo = $recordInfo->toArray(); $userBillRepository = app()->make(UserBillRepository::class); // 处理招商员佣金 if((int)$recordInfo['mer_spread_uid'] > 0){ // 获取冻结中佣金信息 $reduce = (float)sprintf("%.2f",$recordInfo['commission_merchants_money'] * $data['refund_rate'] / 100);// 减少数量 // 添加减少记录 $userBillRepository->decBill($recordInfo['mer_spread_uid'], 'brokerage', 'commission_merchants', [ 'link_id' => $recordInfo['order_id'], 'status' => 1, 'title' => '减少招商佣金', 'number' => $reduce, 'mark' => '订单退款,减少招商佣金' . floatval($reduce), 'balance' => 0 ]); } // 处理推广员佣金 if((int)$recordInfo['spread_uid'] > 0){ // 获取冻结中佣金信息 $reduce = (float)sprintf("%.2f",$recordInfo['commission_promoter_money'] * $data['refund_rate'] / 100);// 减少数量 // 添加减少记录 $userBillRepository->decBill($recordInfo['spread_uid'], 'brokerage', 'commission_promoter', [ 'link_id' => $recordInfo['order_id'], 'status' => 1, 'title' => '减少推广佣金', 'number' => $reduce, 'mark' => '订单退款,减少推广佣金' . floatval($reduce), 'balance' => 0 ]); } } catch(\Exception $e){ $data['error_msg'] = $e->getMessage(); Log::info('订单退款成功 - 招商员佣金&推广员佣金处理 - 失败: '.var_export($data,1)); } $job->delete(); } public function failed($data){ Log::info('订单退款成功 - 招商员佣金&推广员佣金处理 - 失败(failed): '.var_export($data,1)); } }