From d39e88be7f9e872cffe7e4b41e87070630e1fcca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E6=B8=85=E7=88=BD?= Date: Tue, 20 May 2025 14:12:51 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=81=E5=9F=9F=E6=93=8D=E7=9B=98=E6=89=8B?= =?UTF-8?q?=20-=20=E8=B0=83=E6=95=B4=E6=89=AB=E7=A0=81=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=90=8E=E7=9A=84=E5=9B=9E=E8=B0=83=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/GetAddResultedV1Controller.php | 33 ++++++++++--- .../PostCreateAddFriendPlanV1Controller.php | 8 ++- .../GetAddResultedDevicesController.php | 49 +++++++++++++++---- 3 files changed, 72 insertions(+), 18 deletions(-) diff --git a/Server/application/cunkebao/controller/device/GetAddResultedV1Controller.php b/Server/application/cunkebao/controller/device/GetAddResultedV1Controller.php index 7b9f6e6d..c2cb8477 100644 --- a/Server/application/cunkebao/controller/device/GetAddResultedV1Controller.php +++ b/Server/application/cunkebao/controller/device/GetAddResultedV1Controller.php @@ -62,17 +62,36 @@ class GetAddResultedV1Controller extends BaseController { $ids = implode(',', $ids); - $sql = "insert into ck_device(`id`, `imei`, `model`, phone, operatingSystem,memo,alive,brand,rooted,xPosed,softwareVersion,extra,createTime,updateTime,deleteTime,companyId) - select - d.id,d.imei,d.model,d.phone,d.operatingSystem,d.memo,d.alive,d.brand,d.rooted,d.xPosed,d.softwareVersion,d.extra,d.createTime,d.lastUpdateTime,d.deleteTime,a.departmentId companyId - from s2_device d - join s2_company_account a on d.currentAccountId = a.id - where isDeleted = 0 and deletedAndStop = 0 and d.id not in ({$ids}) and a.departmentId = {$companyId} - "; + $sql = "INSERT INTO ck_device(`id`, `imei`, `model`, phone, operatingSystem, memo, alive, brand, rooted, xPosed, softwareVersion, extra, createTime, updateTime, deleteTime, companyId) + SELECT + d.id, d.imei, d.model, d.phone, d.operatingSystem, d.memo, d.alive, d.brand, d.rooted, d.xPosed, d.softwareVersion, d.extra, d.createTime, d.lastUpdateTime, d.deleteTime, a.departmentId AS companyId + FROM s2_device d + JOIN s2_company_account a ON d.currentAccountId = a.id + WHERE isDeleted = 0 AND deletedAndStop = 0 AND d.id NOT IN ({$ids}) AND a.departmentId = {$companyId} + ON DUPLICATE KEY UPDATE + imei = VALUES(imei), + model = VALUES(model), + phone = VALUES(phone), + operatingSystem = VALUES(operatingSystem), + memo = VALUES(memo), + alive = VALUES(alive), + brand = VALUES(brand), + rooted = VALUES(rooted), + xPosed = VALUES(xPosed), + softwareVersion = VALUES(softwareVersion), + extra = VALUES(extra), + updateTime = VALUES(updateTime), + deleteTime = VALUES(deleteTime), + companyId = VALUES(companyId)"; Db::query($sql); } + /** + * 获取当前设备数量 + * + * @return int + */ protected function getCkbDeviceCount(): int { return DeviceModel::where( diff --git a/Server/application/cunkebao/controller/plan/PostCreateAddFriendPlanV1Controller.php b/Server/application/cunkebao/controller/plan/PostCreateAddFriendPlanV1Controller.php index d9831dbf..3c677e53 100644 --- a/Server/application/cunkebao/controller/plan/PostCreateAddFriendPlanV1Controller.php +++ b/Server/application/cunkebao/controller/plan/PostCreateAddFriendPlanV1Controller.php @@ -30,7 +30,13 @@ class PostCreateAddFriendPlanV1Controller extends Controller $params = $this->request->only(['name', 'sceneId', 'status', 'reqConf', 'msgConf', 'tagConf']); - dd($params); + dd( + + json_decode($params['reqConf']), + json_decode($params['tagConf']), + json_decode($params['msgConf']) + + ); diff --git a/Server/application/superadmin/controller/devices/GetAddResultedDevicesController.php b/Server/application/superadmin/controller/devices/GetAddResultedDevicesController.php index f5083380..b877fe70 100644 --- a/Server/application/superadmin/controller/devices/GetAddResultedDevicesController.php +++ b/Server/application/superadmin/controller/devices/GetAddResultedDevicesController.php @@ -51,6 +51,22 @@ class GetAddResultedDevicesController extends Controller $this->getNewDeviceFromS2_device($deviceIds, $companyId); } + /** + * 获取当前设备数量 + * + * @param int $accountId + * @return int + */ + protected function getCkbDeviceCount(int $accountId): int + { + return DeviceModel::where( + [ + 'companyId' => $this->getCompanyIdByAccountId($accountId) + ] + ) + ->count('*'); + } + /** * 从 s2_device 导入数据。 * @@ -62,13 +78,27 @@ class GetAddResultedDevicesController extends Controller { $ids = implode(',', $ids); - $sql = "insert into ck_device(`id`, `imei`, `model`, phone, operatingSystem,memo,alive,brand,rooted,xPosed,softwareVersion,extra,createTime,updateTime,deleteTime,companyId) - select - d.id,d.imei,d.model,d.phone,d.operatingSystem,d.memo,d.alive,d.brand,d.rooted,d.xPosed,d.softwareVersion,d.extra,d.createTime,d.lastUpdateTime,d.deleteTime,a.departmentId companyId - from s2_device d - join s2_company_account a on d.currentAccountId = a.id - where isDeleted = 0 and deletedAndStop = 0 and d.id not in ({$ids}) and a.departmentId = {$companyId} - "; + $sql = "INSERT INTO ck_device(`id`, `imei`, `model`, phone, operatingSystem, memo, alive, brand, rooted, xPosed, softwareVersion, extra, createTime, updateTime, deleteTime, companyId) + SELECT + d.id, d.imei, d.model, d.phone, d.operatingSystem, d.memo, d.alive, d.brand, d.rooted, d.xPosed, d.softwareVersion, d.extra, d.createTime, d.lastUpdateTime, d.deleteTime, a.departmentId AS companyId + FROM s2_device d + JOIN s2_company_account a ON d.currentAccountId = a.id + WHERE isDeleted = 0 AND deletedAndStop = 0 AND d.id NOT IN ({$ids}) AND a.departmentId = {$companyId} + ON DUPLICATE KEY UPDATE + imei = VALUES(imei), + model = VALUES(model), + phone = VALUES(phone), + operatingSystem = VALUES(operatingSystem), + memo = VALUES(memo), + alive = VALUES(alive), + brand = VALUES(brand), + rooted = VALUES(rooted), + xPosed = VALUES(xPosed), + softwareVersion = VALUES(softwareVersion), + extra = VALUES(extra), + updateTime = VALUES(updateTime), + deleteTime = VALUES(deleteTime), + companyId = VALUES(companyId)"; Db::query($sql); } @@ -85,7 +115,7 @@ class GetAddResultedDevicesController extends Controller [ 'accountId' => $accountId, 'pageIndex' => 0, - 'pageSize' => 1 + 'pageSize' => 100 ], true ); @@ -94,8 +124,7 @@ class GetAddResultedDevicesController extends Controller $result = $result['data']['results'][0] ?? false; return $result ? ( - // 125是前端延迟5秒 + 轮询120次 1次/s - time() - strtotime($result['lastUpdateTime']) <= 65 + count($result) > $this->getCkbDeviceCount($accountId) ) : false; }