return->success(); } public function add() { $this->checkData(); Db::transaction(function () { $model = new Site(); $model->name = $this->request->input('name'); $model->city_id = $this->cityId; $model->delivered_id = $this->driverId; $model->kitchen_id = $this->kitchenId; $model->address = $this->request->input('address'); $model->lng = $this->request->input('lng'); $model->lat = $this->request->input('lat'); $model->remark = $this->request->input('remark'); $model->status = $this->request->input('status'); $model->expected_delivery_time = $this->request->input('expected_delivery_time'); $model->expected_spend_time = $this->request->input('expected_spend_time'); $model->distance = 0; if (!$model->save()) throw new ErrException('添加失败'); }); return $this->return->success(); } private function checkData(): void { $this->cityId = (int)$this->request->input('city_id'); $this->driverId = (int)$this->request->input('driver_id'); $this->kitchenId = (int)$this->request->input('kitchen_id'); $this->imageId = (int)$this->request->input('image_id'); $this->cityInfo = $this->systemCityModel->getInfoByCityId($this->cityId); if ( empty($this->cityInfo) || $this->cityInfo->status == CityCode::STATUS_DISABLE ) throw new ErrException('该城市已被禁用'); $this->driverInfo = $this->adminUserModel->getAdminInfoById($this->driverId); if ( empty($this->driverInfo) || $this->driverInfo->status == UserCode::DISABLE || $this->driverInfo->role_id != RoleCode::DRIVER ) throw new ErrException('该司机已被禁用'); $this->kitchenInfo = $this->kitchenModel->getInfoById($this->kitchenId); if ( empty($this->kitchenInfo) || $this->kitchenInfo->status == SiteCode::KITCHEN_DISABLE ) throw new ErrException('该厨房已被禁用'); } public function edit() { return $this->return->success(); } public function del() { return $this->return->success(); } public function info() { return $this->return->success(); } /** * @return array */ public function driverList(): array { $limit = $this->request->input('limit', 10); $cityId = (int)$this->request->input('city_id',0); $name = $this->request->input('name'); // $where[] = [ // ['is_del', '=', UserCode::IS_NO_DEL], // ['status','=',UserCode::ENABLE], // ['role_id','=',RoleCode::DRIVER] // ]; $list = $this ->adminUserModel ->where('is_del',UserCode::IS_NO_DEL) ->where('status',UserCode::ENABLE) ->where('role_id',RoleCode::DRIVER) ->when($name, function ($query) use ($name) { $query->where('name', 'like', "$name%"); }) ->when($cityId > 0, function ($query) use ($cityId) { $query->whereIn('section_id', $this->adminSectionModel->getIdsByCityId($cityId)); }) ->paginate($limit,['chinese_name','id','mobile','status'])->toArray(); return $this->return->success('success',$list); } }