logInfo = $this->orderMealCateringLog ->where('sku_id', $this->request->input('sku_id')) ->where('cycle_id',$this->cycleId) ->where('status',CateringCode::CATERING_STATUS_UNDERWAY) ->where('quantity','>',0) ->first(); if (!empty($this->logInfo)) $this->tips(); // $todayLog = $this->orderMealCateringLog // ->where('cycle_id',$this->cycleId) // ->where('status',CateringCode::CATERING_STATUS_UNDERWAY) // ->where('quantity','>',0) // ->first(); // // if (!empty($todayLog)) return $this->closeSku(); // $orderIds = $this->orderModel // ->where('cycle_id', $this->cycleId) // ->where('type',OrderCode::ORDER_TYPE_MEAL) // ->where('status',OrderCode::PAYED) // ->pluck('id') // ->toArray(); // // if (empty($orderIds)) throw new ErrException('数据错误'); // $this->orderModel->whereIn('id', $orderIds)->update(['status' => OrderCode::PLAN]); // Db::transaction(function () use ($orderIds) { // foreach (array_chunk($orderIds, 100) as $chunk) { // if (!$this->orderModel->isCateringByOrderIds($chunk) || !$this->orderGoodModel->isCateringByOrderIds($chunk)) throw new Exception('修改订单数据状态失败'); // } // }); return $this->return->success(); } /** * @return array * @throws ContainerExceptionInterface * @throws NotFoundExceptionInterface */ private function closeSku(): array { $this->closeMealSku((int)$this->request->input('sku_id'), $this->cycleId); return $this->return->success(); } /** * @return void */ private function tips(): void { $siteInfo = $this->siteModel->find($this->logInfo->site_id); if (empty($siteInfo)) throw new ErrException('数据错误-地点无数据,site:'.$this->logInfo->site_id); $driverInfo = $this->driverSequenceModel->find($siteInfo->delivered_id); if (empty($driverInfo)) throw new ErrException('数据错误-司机无数据,driver:'.$siteInfo->delivered_id); throw new ErrException($driverInfo->driver_num.'-'.$siteInfo->sequence.'还未配餐完成,请刷新页面并完成配餐再执行'); } }