diff --git a/fastbee-iot-data/src/main/java/com/fastbee/iot/data/job/DeviceJobInvoke.java b/fastbee-iot-data/src/main/java/com/fastbee/iot/data/job/DeviceJobInvoke.java index eab87456..1bf34575 100644 --- a/fastbee-iot-data/src/main/java/com/fastbee/iot/data/job/DeviceJobInvoke.java +++ b/fastbee-iot-data/src/main/java/com/fastbee/iot/data/job/DeviceJobInvoke.java @@ -44,7 +44,7 @@ public class DeviceJobInvoke { */ public static void invokeMethod(DeviceJob deviceJob) throws Exception { if (deviceJob.getJobType() == 1) { - System.out.println("------------------------执行定时任务-----------------------------"); + log.info("------------------------1、执行设备定时任务-----------------------------"); List actions = JSON.parseArray(deviceJob.getActions(), Action.class); List propertys = new ArrayList<>(); List functions = new ArrayList<>(); @@ -69,20 +69,20 @@ public class DeviceJobInvoke { } } else if (deviceJob.getJobType() == 3) { - System.out.println("------------------[定时执行场景联动]---------------------"); + log.info("------------------3、[定时执行场景联动]---------------------"); Scene scene = sceneMapper.selectSceneBySceneId(deviceJob.getSceneId()); // 执行场景规则,异步非阻塞 SceneContext context = new SceneContext("", 0L, 0, null); String requestId = "scene/" + scene.getChainName(); flowExecutor.execute2FutureWithRid(scene.getChainName(), null, requestId, context); } else if (4 == deviceJob.getJobType()) { - System.out.println("------------------[定时执行场景运算型变量]---------------------"); + log.info("------------------4、[定时执行场景运算型变量]---------------------"); String s = dataHandler.calculateSceneModelTagValue(deviceJob.getDatasourceId()); if (StringUtils.isEmpty(s)) { - System.out.println("------------------[定时执行场景运算型变量失败:+" + s + "]---------------------"); + log.info("------------------[定时执行场景运算型变量失败:+{}]---------------------", s); } } else if (5 == deviceJob.getJobType()) { - log.info("----------------执行modbus轮训指令----------------------"); + log.info("----------------5、执行modbus轮训指令----------------------"); ModbusPollJob job = new ModbusPollJob(); job.setType(2); job.setDeviceJob(deviceJob); diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/ModbusJob.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/ModbusJob.java index 5d163e0d..dfb46754 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/ModbusJob.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/ModbusJob.java @@ -65,6 +65,11 @@ public class ModbusJob extends BaseEntity { @ApiModelProperty("状态") private String status; + /** + * 注释使用方式 + * {@link com.fastbee.iot.enums.DeviceType} + * @see com.fastbee.iot.enums.DeviceType + */ @ApiModelProperty("设备类型") private Integer deviceType; diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceServiceImpl.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceServiceImpl.java index 1098403b..f31e41ae 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceServiceImpl.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/DeviceServiceImpl.java @@ -1221,7 +1221,7 @@ public class DeviceServiceImpl implements IDeviceService { // 设备编号唯一检查 int count = deviceMapper.selectDeviceCountBySerialNumber(serialNumber); if (count != 0) { - log.error("设备编号:" + serialNumber + "已经存在了,新增设备失败"); + log.error("设备编号:{}已经存在了,新增设备失败", serialNumber); return 0; } Product product = productService.selectProductByProductId(productId); @@ -1273,7 +1273,7 @@ public class DeviceServiceImpl implements IDeviceService { List thingsModelValueItems = itslValueCache.getCacheDeviceStatus(device.getProductId(), device.getSerialNumber()); ThingsModelShadow shadow = new ThingsModelShadow(); // 查询出设置的影子值 - List shadowList = new ArrayList<>(); + //List shadowList = new ArrayList<>(); for (ValueItem item : thingsModelValueItems) { if (!item.getShadow().equals(item.getValue()) && !item.getShadow().isEmpty()) { //处理id @@ -1410,17 +1410,15 @@ public class DeviceServiceImpl implements IDeviceService { // 如果有上电触发任务,则在Redis中标记,等待第一个数据包 // 无论标记是否存在,都重新设置标记,确保恢复任务后能重新触发 + String serialNumber = device.getSerialNumber().toUpperCase(); + String cacheKey = RedisKeyBuilder.buildPowerOnTriggerPendingKey(serialNumber); if (hasPowerOnTrigger) { - String serialNumber = device.getSerialNumber().toUpperCase(); - String cacheKey = RedisKeyBuilder.buildPowerOnTriggerPendingKey(serialNumber); // 设置过期时间为10分钟,防止长时间未收到数据包导致标记一直存在 // 无论之前是否有标记,都重新设置,确保恢复任务后能重新触发 redisCache.setCacheObject(cacheKey, "1", 600, TimeUnit.SECONDS); log.info("标记设备需要触发上电任务,等待第一个数据包,设备编号:{}", serialNumber); } else { // 如果没有上电触发任务,清除可能存在的旧标记 - String serialNumber = device.getSerialNumber().toUpperCase(); - String cacheKey = RedisKeyBuilder.buildPowerOnTriggerPendingKey(serialNumber); if (redisCache.hasKey(cacheKey)) { redisCache.deleteObject(cacheKey); log.debug("清除设备上电触发任务标记,设备编号:{}", serialNumber); @@ -1437,8 +1435,6 @@ public class DeviceServiceImpl implements IDeviceService { */ public void triggerPowerOnTasks(Device device) { try { - // 延迟1秒执行,确保设备完全上线并准备好接收指令 - //Thread.sleep(1000); // 查询该设备的所有设备上电触发任务 DeviceJob queryJob = new DeviceJob(); diff --git a/vue/.env.production b/vue/.env.production index 0b930a19..6687461a 100644 --- a/vue/.env.production +++ b/vue/.env.production @@ -11,7 +11,7 @@ VUE_APP_BASE_API = '/prod-api' VUE_APP_MQTT_SERVER_URL = '' # 百度地图AK -VUE_APP_BAI_DU_AK = 'U6Bxj9AoI4tXY4qeelqWzAjYCFNMkkRT' +VUE_APP_BAI_DU_AK = 's9mUXN9a7bKgVu6U6Z3bXhKSxtz97YPI' # 心知天气key VUE_APP_XIN_ZHI_KEY = 'PK9uumV_HJhjnpxZy' diff --git a/vue/.env.staging b/vue/.env.staging index 81ba9127..cbaf76ee 100644 --- a/vue/.env.staging +++ b/vue/.env.staging @@ -13,7 +13,7 @@ VUE_APP_BASE_API = '/stage-api' VUE_APP_MQTT_SERVER_URL = 'ws://localhost:8083/mqtt' # 百度地图AK -VUE_APP_BAI_DU_AK = 'nAtaBg9FYzav6c8P9rF9qzsWZXXXXXX' +VUE_APP_BAI_DU_AK = 's9mUXN9a7bKgVu6U6Z3bXhKSxtz97YPI' # 心知天气key -VUE_APP_XIN_ZHI_KEY = 'SBh45_yy21FU5ErV_' \ No newline at end of file +VUE_APP_XIN_ZHI_KEY = 'SBh45_yy21FU5ErV_'