diff --git a/cc-admin-master/yudao-module-hand-mqtt/src/main/java/cn/iocoder/yudao/module/mqtt/processor/DeviceMessageProcessor.java b/cc-admin-master/yudao-module-hand-mqtt/src/main/java/cn/iocoder/yudao/module/mqtt/processor/DeviceMessageProcessor.java index d14d2e5..dd7ea4b 100644 --- a/cc-admin-master/yudao-module-hand-mqtt/src/main/java/cn/iocoder/yudao/module/mqtt/processor/DeviceMessageProcessor.java +++ b/cc-admin-master/yudao-module-hand-mqtt/src/main/java/cn/iocoder/yudao/module/mqtt/processor/DeviceMessageProcessor.java @@ -577,18 +577,28 @@ public class DeviceMessageProcessor { detector.setOnlineStatus(OnlineStatusType.ONLINE.getType()); String[] split = numbersString.split(","); - if (split.length != 3) { - log.error("数据格式错误:{}", payload); + if (split.length < 3) { + log.error("数据格式错误:输入字符串格式不正确:{}", payload); return detector; } + + int finalGpsType = 0; // 默认值设为 0 (GPS) + + if (split.length >= 4) { + finalGpsType = Integer.parseInt(split[3].trim()); + + } else { + int oldTypeValue = Integer.parseInt(split[2].trim()); + finalGpsType = (oldTypeValue == 0) ? 0 : 2; + } + Map wgs84ToGcj02 = CoordinateTransferUtils.wgs84ToGcj02(Double.parseDouble(split[0]), Double.parseDouble(split[1])); Double lon = wgs84ToGcj02.get("lon"); Double lat = wgs84ToGcj02.get("lat"); detector.setLongitude(lon); detector.setLatitude(lat); - String type = split[2]; - detector.setGpsType(Integer.parseInt(type)); + detector.setGpsType(finalGpsType); return detector; diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java index 9095cd3..7b59178 100644 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java @@ -307,8 +307,6 @@ public class HandDetectorServiceImpl implements HandDetectorService { // 批量更新数据库 handDetectorMapper.updateBatch(devicesToMigrate); - // 4. --- Redis缓存处理 --- - // 4.1. 清理旧租户的设备信息缓存 String oldTenantDeviceKey = RedisKeyUtil.getTenantDeviceHashKey(Long.valueOf(oldTenantId)); // 从旧租户的Hash中批量删除这些设备 @@ -344,7 +342,6 @@ public class HandDetectorServiceImpl implements HandDetectorService { } queryWrapper.eq("tenant_id", tenantId); - // 【核心优化2】使用 selectObjs // selectObjs 直接返回第一列的值(List),性能最高 List result = handDetectorMapper.selectObjs(queryWrapper); diff --git a/cc-admin-master/yudao-module-hand/src/main/resources/mapper/TdengineMapper.xml b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/TdengineMapper.xml index f4ed2cb..8233cb5 100644 --- a/cc-admin-master/yudao-module-hand/src/main/resources/mapper/TdengineMapper.xml +++ b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/TdengineMapper.xml @@ -177,8 +177,7 @@ AND dept_id = #{vo.deptId} - - AND holder_name LIKE #{vo.holderNamePattern} + AND holder_name = #{vo.holderName} diff --git a/cc-admin-master/yudao-server/src/main/resources/application.yaml b/cc-admin-master/yudao-server/src/main/resources/application.yaml index 5acf809..be33b8a 100644 --- a/cc-admin-master/yudao-server/src/main/resources/application.yaml +++ b/cc-admin-master/yudao-server/src/main/resources/application.yaml @@ -2,7 +2,7 @@ spring: application: name: gas_mobile profiles: - active: dev + active: prod main: allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。