request->isAjax) { if (\Yii::$app->request->isGet) { //商品列表筛选 $get = Yii::$app->request->get(); $order_status_list = OrderStatusEnum::getMap(); $payment_type_list = PayTypeEnum::getMap(); $shipping_type_list = ShippingTypeEnum::getMap(); $rules = [[['id'], 'required']]; $res = Yii::$app->services->validate->validate($get, $rules); $where = [['mall_id' => $this->mall_id]]; $where[] = ['=', 'id', $get['id']]; $where[] = ['=', 'marketing_type', DepositPresaleEnum::ADDONS_NAME]; $where[] = ['>=', 'status', StatusEnum::DISABLED]; $with = [ 'base_user', 'express', 'express_log', 'detail' ]; $params = compact('where', 'with'); $order = Order::getOne($where, true, $with); if ($order === false) return $this->error(Goods::getStaticError()); $express_log = []; if($order['express_log']){ foreach ($order['express_log'] as $item){ $item['status'] = OrderExpressLog::statusMap[$item['status']]; $express_log[$item['order_express_id']] = $item; } } if (!empty($order['express'])) { foreach ($order['express'] as &$key){ if(isset($express_log[$key['id']])){ $express_list = Json::decode($express_log[$key['id']]['list']); $key['now_state'] = $express_log[$key['id']]['status']; $key['express_log'] = is_null($express_list)?'':array_reverse($express_list['Traces']); } } } if (!empty($order['detail'])) { foreach ($order['detail'] as &$detail) { if (!empty($detail['attr_groups_format'])) { $attr_groups_format = json_decode($detail['attr_groups_format'], true); $attr_list = $attr_groups_format[$detail['sign_id']]; $attr_group_name_list = array_column($attr_list, 'attr_group_name'); $attr_name_list = array_column($attr_list, 'attr_name'); $detail['attr_list'] = []; foreach ($attr_group_name_list as $index => $attr_group_name) { $detail['attr_list'][] = $attr_group_name . ':' . $attr_name_list[$index]; } } } } $presale_order = DepositPresaleOrder::findOne(['order_id' => $order['id'], 'status' => 1]); $order['deposit_start_at'] = $presale_order->depositPresaleActive ? date('Y-m-d', $presale_order->depositPresaleActive->deposit_start_at) : ''; $order['deposit_end_at'] = $presale_order->depositPresaleActive ? date('Y-m-d', $presale_order->depositPresaleActive->deposit_end_at) : ''; $order['final_payment_start_at'] = $presale_order->depositPresaleActive ? date('Y-m-d', $presale_order->depositPresaleActive->final_payment_start_at) : ''; $order['final_payment_end_at'] =$presale_order->depositPresaleActive ? date('Y-m-d', $presale_order->depositPresaleActive->final_payment_end_at) : ''; $order['presale_order_status'] = $presale_order->order_status; $order['deposite_pay_time'] = $presale_order->pay_time; $order['final_payment_time'] = $presale_order->final_payment_time; $order['actual_deposit_paid'] = $presale_order->actual_deposit_paid; $all_need_pay = bcmul($presale_order->deposit_presale_price, $presale_order->num, 2) ; $order['final_payment'] = bcsub($all_need_pay, $order['actual_deposit_paid'] , 2); $step_arr = DepositPresaleEnum::setpArrMap(); $order_action = OrderAction::getOrderAction([['order_id' => $get['id']]]); $marketing_type_map = MarketingTypeEnum::getMap(); $order['new_order_status'] = DepositPresaleOrder::getOrderStatus($order, $presale_order); return $this->success('操作成功', compact('order', 'order_status_list', 'payment_type_list', 'shipping_type_list', 'step_arr', 'order_action','marketing_type_map')); } } return $this->render($this->action->id); } }