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) { $orderIssueType = $this->issueTypeService->firstOrCreate(['name' => '快递丢件']); $order = $this->orderService->first(['code' => $params['order_no']]); $workOrder = $this->workOrderService->createAndNotification($order, $orderIssueType, $params['remark'] ?? ''); $detail = $this->detailService->createWorkOrderDetail($workOrder, $params); $workOrder->changeStatus('货主处理'); $detail->changeStatus('货主处理'); $this->logService->createLog($detail, '创建', '创建工单'); } // 商家填充商品信息 public function ownerFillDetail($detail,$params) { $this->detailService->fillLossDetail($detail, $params); $detail->changeStatus('宝时终审'); $detail->workOrder->changeStatus('宝时终审'); $detail->workOrder->clearWorkOrderStatus(); $this->logService->createLog($detail, '处理', '填充丢件信息'); } // 宝时审核 public function baoShiReviewLoss($detail,$params) { $this->logService->createLog($detail, '完结', '宝时完结'); $this->detailService->updateLossDetail($detail,$params); $detail->changeStatus('完成'); $detail->workOrder->changeStatus('完成'); $this->detailService->endDetail($detail); } }