logService = app('WorkOrderLogService'); $this->detailService = app('WorkOrderDetailService'); $this->issueTypeService = app('OrderIssueTypeService'); } /* * 拦截工单处理流程 * 1:创建 * 2:承运商处理 [已处理,已签收]; * 3:宝时终审 [拦截成功,拦截失败] */ public function store($params) { $issueType = $this->issueTypeService->firstOrCreate(['name' => '拦截']); $order = $this->syncOrder($params['orderNos']); $workOrder = $this->createAndNotification($order, $issueType, $params['remark'] ?? '拦截工单'); $workOrder->change('承运商处理','商家创建',''); $detail = $this->detailService->createWorkOrderDetail($workOrder, $params); $detail->change('承运商处理','商家创建',''); $this->logService->createLog($detail, '创建', '创建'); } public function logisticHandler(WorkOrderDetail $detail,$params) { $detail->change('宝时终审',$params['process_progress'],'承运商处理'); $detail->workOrder->change('宝时终审',$params['process_progress'],'承运商处理'); $detail->workOrder->clearWorkOrderStatus(); // 清除创建标记 $this->logService->createLog($detail, '处理', '承运商处理'); } public function baoShiReviewIntercept(WorkOrderDetail $detail,$params) { $this->logService->createLog($detail, '完结', '宝时完结'); $detail->change('完成',$params['process_progress'],'宝时终审'); $detail->workOrder->change('完成',$params['process_progress'],'宝时终审'); $detail->workOrder->clearWorkOrderStatus(); // 清除创建标记 $this->detailService->endDetail($detail); // 标记为处理过 } }