logService = app('WorkOrderLogService'); $this->detailService = app('WorkOrderDetailService'); $this->issueTypeService = app('OrderIssueTypeService'); $this->orderService = app('OrderService'); $this->workOrderService = app('WorkOrderService'); } /* * 快递异常处理流程 * 1:创建 * 2:承运商处理 * 3: 完成 * */ public function store($params) { $order = $this->orderService->first(['code' => $params['order_no']]); $issueType = $this->issueTypeService->firstOrCreate(['name' => '快递异常']); $workOrder = $this->workOrderService->createOrResetWorkOrder($order, $issueType, $params['remark'] ?? ''); $detail = $this->detailService->createWorkOrderDetail($workOrder, $params); $workOrder->changeStatus('承运商处理'); $detail->changeStatus('宝时处理'); $this->logService->createLog($detail, '创建', '创建工单'); } public function logisticHandle($detail,$params) { $this->detailService->updateDetail($detail,$params); $detail->changeStatus('宝时终审'); $detail->workOrder->clearWorkOrderStatus(); $detail->workOrder->changeStatus('宝时终审'); $this->logService->createLog($detail, '处理', '承运商处理'); } public function end($detail,$params) { $this->detailService->updateDetail($detail,$params); $this->logService->createLog($detail, '终审', '终审'); $this->logService->createLog($detail, '完结', '完结'); $detail->changeStatus('完成'); $detail->workOrder->changeStatus('完成'); $this->detailService->endDetail($detail); } }