$data['agent_user_id'], 'mall_id' => $data['mall_id'], 'status' => StatusEnum::ENABLED]); switch ($data['order_type']) { case 'buying': $order = CloudStockTwoBuyingOrder::findOne(['id'=>$data['order_id']]); $class = BuyDeductionLogic::class; break; case 'fill': $order = CloudStockTwoFillOrder::findOne(['id'=>$data['order_id']]); $class = FillDeductionLogic::class; break; default: } if (!empty($class) && !empty($order)) { $user = User::findOne(['id' => $data['user_id']]); $stock_log = CloudStockTwoGoodsStockLog::findOne(['id'=>$data['stock_log_id']]); $deduction_logic = new $class($user, $user_parent_agent, $stock_log, $order, $data['not_yet_num'],$data['reward_list'],$data['parent_agent_list'],$data['wait_deduct_equal_money'],$data['order_type'], $data['time_limit_fill_user_ids'], 1); $deduction_logic->order_type = $data['order_type']; $deduction_logic->deduct(); } } }