From 3d403653a526f3b0fc95066e8a5e4ab48135e842 Mon Sep 17 00:00:00 2001 From: Jing Li Date: Tue, 9 Apr 2024 21:30:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BC=E5=AE=B9=E7=95=8C=E5=B8=82=E5=9B=AD?= =?UTF-8?q?=E5=8C=BA=E5=9C=9F=E5=A3=A4=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/SoilMonitoringDailyLog.php | 1 + app/Models/SoilMonitoringLog.php | 1 + app/Services/LinkosDeviceLogService.php | 19 ++++++----- ...moisture_to_soil_monitoring_logs_table.php | 32 +++++++++++++++++++ ...re_to_soil_monitoring_daily_logs_table.php | 32 +++++++++++++++++++ 5 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 database/migrations/2024_04_09_212312_add_moisture_to_soil_monitoring_logs_table.php create mode 100644 database/migrations/2024_04_09_212517_add_moisture_to_soil_monitoring_daily_logs_table.php diff --git a/app/Models/SoilMonitoringDailyLog.php b/app/Models/SoilMonitoringDailyLog.php index 05b6e0a..d5f3409 100644 --- a/app/Models/SoilMonitoringDailyLog.php +++ b/app/Models/SoilMonitoringDailyLog.php @@ -22,6 +22,7 @@ class SoilMonitoringDailyLog extends Model 'n', 'p', 'k', + 'moisture', 'monitored_at', ]; } diff --git a/app/Models/SoilMonitoringLog.php b/app/Models/SoilMonitoringLog.php index d51622e..1845557 100644 --- a/app/Models/SoilMonitoringLog.php +++ b/app/Models/SoilMonitoringLog.php @@ -28,6 +28,7 @@ class SoilMonitoringLog extends Model 'p', 'k', 'monitored_at', + 'moisture', 'is_filled', ]; } diff --git a/app/Services/LinkosDeviceLogService.php b/app/Services/LinkosDeviceLogService.php index 5ac1c52..777a084 100644 --- a/app/Services/LinkosDeviceLogService.php +++ b/app/Services/LinkosDeviceLogService.php @@ -26,11 +26,14 @@ class LinkosDeviceLogService */ protected $soilMonitoringFields = [ 'conductivity' => 'conductivity', - 'humidity' => 'soil_humidity', - 'temperature' => 'soil_temperature', - 'n' => 'nitrogen_content', - 'p' => 'phosphorus_content', - 'k' => 'potassium_content', + 'soil_humidity' => 'humidity', + 'soil_temperature' => 'temperature', + 'nitrogen_content' => 'n', + 'phosphorus_content' => 'p', + 'potassium_content' => 'k', + 'electroconductibility' => 'conductivity', + 'temperature' => 'temperature', + 'moisture_content' => 'moisture', ]; /** @@ -134,7 +137,7 @@ class LinkosDeviceLogService */ public function handleSoilMonitoringLog(Device $device, array $data, Carbon $reportedAt): void { - if (! Arr::hasAny($data, $this->soilMonitoringFields)) { + if (! Arr::hasAny($data, array_keys($this->soilMonitoringFields))) { return; } @@ -145,7 +148,7 @@ class LinkosDeviceLogService 'agricultural_base_id' => $device->agricultural_base_id, ]); - foreach ($this->soilMonitoringFields as $attribute => $key) { + foreach ($this->soilMonitoringFields as $key => $attribute) { if (! array_key_exists($key, $data)) { continue; } @@ -181,7 +184,7 @@ class LinkosDeviceLogService $data = []; foreach ($logs as $log) { - foreach (['conductivity', 'humidity', 'temperature', 'n', 'p', 'k'] as $key) { + foreach (['conductivity', 'humidity', 'temperature', 'n', 'p', 'k', 'moisture'] as $key) { if (is_null($v = $log->{$key})) { continue; } diff --git a/database/migrations/2024_04_09_212312_add_moisture_to_soil_monitoring_logs_table.php b/database/migrations/2024_04_09_212312_add_moisture_to_soil_monitoring_logs_table.php new file mode 100644 index 0000000..6fc190d --- /dev/null +++ b/database/migrations/2024_04_09_212312_add_moisture_to_soil_monitoring_logs_table.php @@ -0,0 +1,32 @@ +decimal('moisture', 8, 2)->nullable()->comment('含水率(单位: %)'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('soil_monitoring_logs', function (Blueprint $table) { + $table->dropColumn(['moisture']); + }); + } +}; diff --git a/database/migrations/2024_04_09_212517_add_moisture_to_soil_monitoring_daily_logs_table.php b/database/migrations/2024_04_09_212517_add_moisture_to_soil_monitoring_daily_logs_table.php new file mode 100644 index 0000000..9fdafb3 --- /dev/null +++ b/database/migrations/2024_04_09_212517_add_moisture_to_soil_monitoring_daily_logs_table.php @@ -0,0 +1,32 @@ +decimal('moisture', 8, 2)->nullable()->comment('含水率(单位: %)'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('soil_monitoring_daily_logs', function (Blueprint $table) { + $table->dropColumn(['moisture']); + }); + } +};