|
@@ -45,6 +45,8 @@ public class RoomService {
|
|
|
@Resource
|
|
|
private MqttConnectorInstallPoolService mqttConnectorInstallPoolService;
|
|
|
@Resource
|
|
|
+ private MqttConnectorPoolService mqttConnectorPoolService;
|
|
|
+ @Resource
|
|
|
private RedisUtil redisUtil;
|
|
|
|
|
|
public Map<String,Boolean> getConfStatusInfo(String devCode) {
|
|
@@ -311,7 +313,7 @@ public class RoomService {
|
|
|
Long timeout = Long.parseLong(CommonConfUtil.getConf("mqtt.dev.jihuo.timeout"));
|
|
|
try {
|
|
|
Thread.sleep(timeout * 1000 + 100);
|
|
|
- getConfigureRoomInfoResult(devCode);
|
|
|
+ getConfigureRoomInfoResult(devCode,false);
|
|
|
} catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@@ -320,7 +322,7 @@ public class RoomService {
|
|
|
* 查询配置房间信息的Mqtt返回结果
|
|
|
* @return
|
|
|
*/
|
|
|
- public String getConfigureRoomInfoResult(String devCode) {
|
|
|
+ public String getConfigureRoomInfoResult(String devCode,boolean isRepeat) {
|
|
|
QueryWrapper<CareDevice> queryWrapper = new QueryWrapper<>();
|
|
|
queryWrapper.lambda().eq(CareDevice::getDevCode,devCode);
|
|
|
CareDevice careDevice = careDeviceService.getOne(queryWrapper);
|
|
@@ -397,34 +399,40 @@ public class RoomService {
|
|
|
}
|
|
|
|
|
|
if (careRoomResult == 2 || careRoomSensorResult == 2 || careRoomGateResult == 2 || careRoomRegionResult == 2) { //失败
|
|
|
-// //设备离线
|
|
|
-// careDevice.setStatus(DeviceStatusEnum.OFFLINE.getValue());
|
|
|
-// mqttConnectorPoolService.removeOne(careDevice);
|
|
|
-// //未激活
|
|
|
-// careDevice.setActiveStatus(DeviceActiveStatusEnum.NOACTIVE.getValue());
|
|
|
-// careDeviceService.updateById(careDevice);
|
|
|
-
|
|
|
- //去除publish的客户端监听
|
|
|
- mqttConnectorInstallPoolService.removeInstallOne(careDevice);
|
|
|
+ if(!isRepeat){
|
|
|
+ //设备离线
|
|
|
+ careDevice.setStatus(DeviceStatusEnum.OFFLINE.getValue());
|
|
|
+ mqttConnectorPoolService.removeOne(careDevice);
|
|
|
+ //未激活
|
|
|
+ careDevice.setActiveStatus(DeviceActiveStatusEnum.NOACTIVE.getValue());
|
|
|
+ careDeviceService.updateById(careDevice);
|
|
|
+
|
|
|
+ //去除publish的客户端监听
|
|
|
+ mqttConnectorInstallPoolService.removeInstallOne(careDevice);
|
|
|
+ }
|
|
|
+
|
|
|
return InstallDevStatusEnum.FAIL.getValue();
|
|
|
} else if (careRoomResult == 3 || careRoomSensorResult == 3 || careRoomGateResult == 3 || careRoomRegionResult == 3){ //超时
|
|
|
- //去除publish的客户端监听
|
|
|
- mqttConnectorInstallPoolService.removeInstallOne(careDevice);
|
|
|
+ if(!isRepeat) {
|
|
|
+ //去除publish的客户端监听
|
|
|
+ mqttConnectorInstallPoolService.removeInstallOne(careDevice);
|
|
|
+ }
|
|
|
return InstallDevStatusEnum.TIMEOUT.getValue();
|
|
|
} else if (careRoomResult == 0 || careRoomSensorResult == 0 || careRoomGateResult == 0 || careRoomRegionResult == 0){ //处理中
|
|
|
return InstallDevStatusEnum.DOING.getValue();
|
|
|
} else { //成功
|
|
|
- //激活
|
|
|
- careDevice.setActiveStatus(DeviceActiveStatusEnum.ACTIVE.getValue());
|
|
|
- //启动通道
|
|
|
- mqttConnectorInstallPoolService.addInsallOne(careDevice);
|
|
|
- //上线
|
|
|
- careDevice.setStatus(DeviceStatusEnum.ONLINE.getValue());
|
|
|
- careDeviceService.updateById(careDevice);
|
|
|
-
|
|
|
- //去除publish的客户端监听
|
|
|
- mqttConnectorInstallPoolService.removeInstallOne(careDevice);
|
|
|
-
|
|
|
+ if(!isRepeat) {
|
|
|
+ //激活
|
|
|
+ careDevice.setActiveStatus(DeviceActiveStatusEnum.ACTIVE.getValue());
|
|
|
+ //启动通道
|
|
|
+ mqttConnectorPoolService.addOne(careDevice);
|
|
|
+ //上线
|
|
|
+ careDevice.setStatus(DeviceStatusEnum.ONLINE.getValue());
|
|
|
+ careDeviceService.updateById(careDevice);
|
|
|
+
|
|
|
+ //去除publish的客户端监听
|
|
|
+ mqttConnectorInstallPoolService.removeInstallOne(careDevice);
|
|
|
+ }
|
|
|
return InstallDevStatusEnum.SUCCESS.getValue();
|
|
|
|
|
|
}
|