From 90b3367afb650789136595ae3f1fdc9bae53938b Mon Sep 17 00:00:00 2001 From: wong <106998207@qq.com> Date: Wed, 30 Jul 2025 16:07:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/GetAddResultedV1Controller.php | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/Server/application/cunkebao/controller/device/GetAddResultedV1Controller.php b/Server/application/cunkebao/controller/device/GetAddResultedV1Controller.php index c2cb8477..4a49b89e 100644 --- a/Server/application/cunkebao/controller/device/GetAddResultedV1Controller.php +++ b/Server/application/cunkebao/controller/device/GetAddResultedV1Controller.php @@ -8,6 +8,7 @@ use app\common\model\User as UserModel; use app\cunkebao\controller\BaseController; use library\ResponseHelper; use think\Db; +use think\facade\Cache; /** * 设备控制器 @@ -94,12 +95,14 @@ class GetAddResultedV1Controller extends BaseController */ protected function getCkbDeviceCount(): int { - return DeviceModel::where( - [ - 'companyId' => $this->getUserInfo('companyId') - ] - ) - ->count('*'); + $companyId = $this->getUserInfo('companyId'); + $cacheKey = 'deviceNum_'.$companyId; + $deviceNum = Cache::get($cacheKey); + if (empty($deviceNum)) { + $deviceNum = DeviceModel::where(['companyId' => $companyId])->count('*'); + Cache::set($cacheKey,$deviceNum,120); + } + return $deviceNum; } /** @@ -110,6 +113,7 @@ class GetAddResultedV1Controller extends BaseController */ protected function getAddResulted(int $accountId): bool { + $deviceNum = $this->getCkbDeviceCount(); $result = (new ApiDeviceController())->getlist( [ 'accountId' => $accountId, @@ -118,13 +122,22 @@ class GetAddResultedV1Controller extends BaseController ], true ); - $result = json_decode($result, true); $result = $result['data']['results'] ?? false; - return $result ? ( - count($result) > $this->getCkbDeviceCount() - ) : false; + if (empty($result)){ + return false; + }else{ + if (count($result) > $deviceNum){ + $companyId = $this->getUserInfo('companyId'); + $cacheKey = 'deviceNum_'.$companyId; + Cache::rm($cacheKey); + return true; + }else{ + return false; + } + } + } /**