orderRejectedBillRelationService = $orderRejectedBillRelationService; } public function storeApi(Request $request): array { if (Gate::denies('订单管理-工单处理-宝时编辑') && Gate::denies('订单管理-工单处理-承运商编辑') && Gate::denies('订单管理-工单处理-商家编辑')) { return ['success' => false, 'message' => '没有对应权限']; } else if (!$request->has('order_id', 'logistic_number_return')) { return ['success' => false, 'message' => '参数异常']; } $order = Order::query()->with('issue')->where('id', $request->input('order_id'))->first(); if (!$order) ['success' => false, 'message' => '参数异常']; $query = OrderIssueRejectedBill::query()->where('order_id', $request->input('order_id'))->where('logistic_number_return', $request->input('logistic_number_return')); $relation = $query->first(); if (!$relation) { OrderIssueRejectedBill::query()->create( ['order_id' => $order->id, 'order_issue_id' => $order->issue->id ?? null, 'logistic_number_return' => $request->input('logistic_number_return')] ); } else if ($order->issue ?? false) { $query->update(['order_issue_id' => $order->issue->id]); } $this->orderRejectedBillRelationService->orderSyncRejectedBill($order); $data = WorkOrder::query()->defaultWith()->where('order_id', $request->input('order_id'))->first(); return ['success' => true, 'data' => $data]; } public function destroyApi(Request $request): array { if (Gate::denies('订单管理-工单处理-宝时编辑') && Gate::denies('订单管理-工单处理-承运商编辑') && Gate::denies('订单管理-工单处理-商家编辑')) { return ['success' => false, 'message' => '没有对应权限']; } else if (!$request->has('order_id', 'logistic_number_return')) { return ['success' => false, 'message' => '参数异常']; } $order = Order::query()->with('issue')->where('id', $request->input('order_id'))->first(); if (!$order) ['success' => false, 'message' => '参数异常']; $query = OrderIssueRejectedBill::query()->where('order_id', $request->input('order_id'))->where('logistic_number_return', $request->input('logistic_number_return')); $relation = $query->first(); if (!$relation) { return ['success' => false, 'message' => '参数异常']; } $query->delete(); $this->orderRejectedBillRelationService->orderSyncRejectedBill($order); $data = WorkOrder::query()->defaultWith()->where('order_id', $request->input('order_id'))->first(); return ['success' => true, 'data' => $data]; } public function resetRelationApi(Request $request): array { if (Gate::denies('订单管理-工单处理-宝时编辑') && Gate::denies('订单管理-工单处理-承运商编辑') && Gate::denies('订单管理-工单处理-商家编辑')) { return ['success' => false, 'message' => '没有对应权限']; } else if ($request->has('order_id', 'logistic_number_return', 'update_logistic_number_return')) { return ['success' => false, 'message' => '参数异常']; } $order = Order::query()->with('issue')->where('id', $request->input('order_id'))->first(); if (!$order) ['success' => false, 'message' => '参数异常']; $query = OrderIssueRejectedBill::query()->where('order_id', $order->id)->where('logistic_number_return', $request->input('logistic_number_return')); $relation = $query->first(); if (!$relation) { return ['success' => false, 'message' => '参数异常,刷新页面重试']; } $query->update(['logistic_number_return' => $request->input('update_logistic_number_return')]); $this->orderRejectedBillRelationService->orderSyncRejectedBill($order); $data = WorkOrder::query()->defaultWith()->where('order_id', $request->input('order_id'))->first(); return ['success' => true, 'data' => $data]; } }