From 53c17c5e1023ebcf6a885924d3863289fbf60a59 Mon Sep 17 00:00:00 2001 From: Terra Yang Date: Sun, 5 Feb 2017 17:56:20 +0800 Subject: [PATCH] Fixbug: Send config when config update. --- .../Opwifi/Device/ManagementController.php | 8 ++------ .../Opwifi/Station/ManagementController.php | 4 +--- .../app/Http/Helpers/Opwifi/DeviceConfigApply.php | 13 +++++++++---- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/opwifi/app/Http/Controllers/Opwifi/Device/ManagementController.php b/src/opwifi/app/Http/Controllers/Opwifi/Device/ManagementController.php index 32bf7a5..1240995 100644 --- a/src/opwifi/app/Http/Controllers/Opwifi/Device/ManagementController.php +++ b/src/opwifi/app/Http/Controllers/Opwifi/Device/ManagementController.php @@ -29,12 +29,8 @@ protected function newOwnModel() { } protected function createOwnModelRoot($cfg) { $dev = OwDevices::create($cfg); - if (!$dev->meta()->first()) { - $dev->meta()->create([]); - } - if (!$dev->webportal()->first()) { - $dev->webportal()->create([]); - } + $dev->meta()->firstOrCreate([]); + $dev->webportal()->firstOrCreate([]); } protected $indexOwnModelTag = 'dev_id'; protected function newOwnModelTagRelationships() { diff --git a/src/opwifi/app/Http/Controllers/Opwifi/Station/ManagementController.php b/src/opwifi/app/Http/Controllers/Opwifi/Station/ManagementController.php index 406866c..e16b1ca 100644 --- a/src/opwifi/app/Http/Controllers/Opwifi/Station/ManagementController.php +++ b/src/opwifi/app/Http/Controllers/Opwifi/Station/ManagementController.php @@ -29,9 +29,7 @@ protected function newOwnModel() { } protected function createOwnModelRoot($cfg) { $sta = OwStations::create($cfg); - if (!$sta->meta()->first()) { - $sta->meta()->create([]); - } + $sta->meta()->firstOrCreate([]); } protected $indexOwnModelTag = 'sta_id'; protected function newOwnModelTagRelationships() { diff --git a/src/opwifi/app/Http/Helpers/Opwifi/DeviceConfigApply.php b/src/opwifi/app/Http/Helpers/Opwifi/DeviceConfigApply.php index cf1a67d..a35f3e3 100644 --- a/src/opwifi/app/Http/Helpers/Opwifi/DeviceConfigApply.php +++ b/src/opwifi/app/Http/Helpers/Opwifi/DeviceConfigApply.php @@ -79,17 +79,22 @@ static public function devmeta($meta) { public function check($sha1) { $meta = $this->devMeta; - $cfg = $meta->config()->first(); - if ($cfg && $cfg->pdata) { + + if (!$cfg || + ($sha1 == $meta->op_configed_sha1 && + $meta->op_configed_last > $cfg->updated_at)) { + return null; + } + + if ($cfg->pdata) { $pdata = json_decode($cfg->pdata, true); if (isset($pdata['config'])) { $config = $pdata['config']; } } - if ($config && $meta && - $sha1 != $meta->op_configed_sha1) { + if ($config) { $setting = $this->getSetting('/', $config); if (count($setting) > 0) { return $setting;