From 27e090db1470d34333d049f68f836fc2441ef03b Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Wed, 9 Nov 2022 14:34:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=91=E6=8E=A7=E7=82=B9?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/AgriculturalBaseController.php | 14 ++++++++++++++ ...0_11_025843_create_agricultural_bases_table.php | 2 +- routes/api.php | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/AgriculturalBaseController.php b/app/Http/Controllers/AgriculturalBaseController.php index 817f8e7..5ebdc88 100644 --- a/app/Http/Controllers/AgriculturalBaseController.php +++ b/app/Http/Controllers/AgriculturalBaseController.php @@ -9,6 +9,7 @@ use App\Helpers\Paginator; use App\Http\Requestes\AgriculturalBaseRequest; use App\Http\Resources\AgriculturalBaseResource; use App\Models\AgriculturalBase; +use App\Models\Device; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -114,4 +115,17 @@ class AgriculturalBaseController extends Controller return $this->json(AgriculturalBaseResource::collection($list)); } + + /** + * 获取指定基地指定设备类型下所有监控点名称选项 + * device_type + */ + public function basePointList(AgriculturalBase $agriculturalBasic, Request $request){ + $deviceType = $request->input('device_type', DeviceType::Meteorological); + $list = Device::where([ + 'agricultural_base_id' => $agriculturalBasic->id, + 'type'=>$deviceType + ])->get()->pluck('monitoring_point', 'id')->toArray(); + return $this->json($list); + } } diff --git a/database/migrations/2022_10_11_025843_create_agricultural_bases_table.php b/database/migrations/2022_10_11_025843_create_agricultural_bases_table.php index bdd239a..1fe989f 100644 --- a/database/migrations/2022_10_11_025843_create_agricultural_bases_table.php +++ b/database/migrations/2022_10_11_025843_create_agricultural_bases_table.php @@ -17,7 +17,7 @@ return new class extends Migration $table->id(); $table->string('name')->comment('名称'); $table->unsignedTinyInteger('type')->default(1)->comment('类别:1基地,2城镇'); - $table->unsignedBigInteger('parent_id')->nullable()->default('父级'); + $table->unsignedBigInteger('parent_id')->nullable()->comment('父级'); $table->string('person')->nullable()->comment('负责人'); $table->string('address')->nullable()->comment('地址'); $table->string('address_lat')->nullable()->comment('地址维度'); diff --git a/routes/api.php b/routes/api.php index 3ef8f6a..63ca145 100644 --- a/routes/api.php +++ b/routes/api.php @@ -30,6 +30,8 @@ Route::group(['middleware' => 'auth:sanctum'], function () { Route::apiResource('agricultural-basic', AgriculturalBaseController::class)->names('agricultural_basic');//基地 Route::apiResource('town-street', AgriculturalBaseController::class)->names('town_street');//镇街 Route::get('agricultural-device-basic', [AgriculturalBaseController::class, 'deviceBase'])->name('agricultural_basic.device_bases'); //通过设备类型查询基地 + Route::get('agricultural-device-point/{agricultural_basic}', [AgriculturalBaseController::class, 'basePointList']);//获取基地对应监控点 + //农作物 Route::apiResource('crops', CropController::class)->names('crops');//基地农作物 Route::apiResource('town-crops', CropController::class)->names('town_crops');//城镇农作物