validate()) { return [ 'code' => 1, 'msg' => $this->getErrorSummary(false)[0], ]; } $order_refund = OrderRefund::find()->alias('or') // ->leftJoin(['od' => OrderDetail::tableName()], 'or.order_detail_id=od.id') // ->leftJoin(['g' => Goods::tableName()], 'od.goods_id=g.id') ->where([ 'or.id' => $this->order_refund_id, 'or.is_delete' => 0, ]) // od.goods_id,od.goods_name as name,od.num,od.total_price,od.attr, od.pic ->select('or.is_user_cancel,or.order_detail_id,or.id order_refund_id,or.order_id,or.desc refund_desc,or.type refund_type,or.status refund_status,or.refuse_desc,or.pic_list refund_pic_list,or.refund_price,or.is_agree,or.is_user_send,or.user_send_express,or.user_send_express_no, or.address_id, or.refund_address') ->asArray()->one(); if (!$order_refund) { return [ 'code' => 1, 'msg' => '售后单不存在' ]; } $refundAddress = RefundAddress::findOne($order_refund['address_id']); if ($refundAddress) { $order_refund['re_name'] = $refundAddress->name; $order_refund['re_address'] = $refundAddress->address; $order_refund['re_mobile'] = $refundAddress->mobile; } if ($order_refund['refund_address']) { $refund_address = json_decode($order_refund['refund_address'], true); if (!empty($refund_address)) { $order_refund['re_name'] = $refund_address['name']; $order_refund['re_address'] = $refund_address['address']; $order_refund['re_mobile'] = $refund_address['mobile']; } } $order_refund['is_front_centralize'] = 0; // $order_refund['goods_pic'] = $order_refund['pic'] ?: Goods::getGoodsPicStatic($order_refund['goods_id']); // $order_refund['attr'] = json_decode($order_refund['attr']); $order_refund['goods_list'] = OrderDetail::find()->where(['order_id' => $order_refund['order_id']])->andWhere(['in', 'id', Json::decode($order_refund['order_detail_id'])]) ->select('goods_id,goods_name as name,num,total_price,attr,pic as goods_pic, goods_info')->asArray()->all(); foreach ($order_refund['goods_list'] as &$goods) { $goods['attr'] = Json::decode($goods['attr']); $goods_info = json_decode($goods['goods_info'], true); $order_refund['is_front_centralize'] = intval($goods_info['is_front_centralize']); } $order_refund['refund_pic_list'] = json_decode($order_refund['refund_pic_list']); $order_refund['express_list'] = Express::getExpressList(); $order_refund['order_refund_status_bg'] = \Yii::$app->request->hostInfo . \Yii::$app->request->baseUrl . '/statics/images/order-refund-status-bg.png'; // $rmSum = \app\models\OrderRefundMoney::find()->where(['is_delete' => 0, 'status' => 1, 'order_id' => $order_refund['order_id']])->sum('refund_price'); // $order_refund['refund_price'] += $rmSum; $orderTransit = \app\models\OrderTransit::findOne(['order_id' => $order_refund['order_id'], 'is_delete' => 0]); $order_refund['$orderTransit'] = $orderTransit; if($orderTransit){ $supplier = \app\models\Supplier::findOne(['cloud_supplier_id' => $orderTransit->cloud_supplier_id]); } if($orderTransit && $supplier['is_stbz']){ $form = new \app\modules\admin\models\SupplierForm(); $form->order_id = (string)$orderTransit['cloud_order_id']; $res = $form->supplierPurchaseOrderList($orderTransit['cloud_supplier_id']); $order_refund['$res'] = $res; if ($res['code'] == 0) { $stbz_refund_id = $res['data']['list'][0]['stbz_refund_id']; if($stbz_refund_id){ $logistic = \stbz_client()->getApiResponse('get', '/v2/logistic/firms'); $order_refund['$logistic'] = $logistic; // \debug_log($logistic); // $logistic = '{"id":"51OO7sen5LIgT4c7S9FX","code":1,"msg":"操作成功","data":{"list":null,"info":{"name":"皇家物流","no":"hj413132163413","remark":""}}}'; $returnData = \json_decode($logistic, true); if ($returnData['code'] == 1) { if($returnData['data']){ $order_refund['express_list'] = $returnData['data']; } $order_refund['express_list1'] = $returnData; } } } } return [ 'code' => 0, 'msg' => 'success', 'data' => $order_refund, ]; } }