|
|
@@ -39,6 +39,7 @@ import com.xunmei.host.websocket.dto.DeviceStatusInfo;
|
|
|
import com.xunmei.host.websocket.dto.WebsocketExecuteReq;
|
|
|
import com.xunmei.host.websocket.dto.WebsocketResult;
|
|
|
import com.xunmei.host.websocket.dto.alarmHost.AlarmHostIncrementVo;
|
|
|
+import com.xunmei.host.websocket.dto.alarmHost.NetDeviceIncrementVo;
|
|
|
import com.xunmei.host.websocket.dto.dvs.DevicePushResult;
|
|
|
import com.xunmei.host.websocket.dto.dvs.DvsBaseInfo;
|
|
|
import com.xunmei.host.websocket.dto.dvs.SubDeviceInfo;
|
|
|
@@ -94,6 +95,7 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
|
|
|
@Autowired
|
|
|
private WebsocketService websocketService;
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 根据设备类型和设备编码,获取设备信息
|
|
|
*
|
|
|
@@ -413,14 +415,78 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
|
|
|
case AlarmHost:
|
|
|
handleAlarmHostIncrement(data, serverInfo);
|
|
|
break;
|
|
|
+ case Host_Door:
|
|
|
+ case Host_Talk:
|
|
|
+ handleNetHostIncrement(data, serverInfo);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
+ private void handleNetHostIncrement(String data, IotServerInfo serverInfo) {
|
|
|
+
|
|
|
+ final NetDeviceIncrementVo incrementVo = JSON.parseObject(data, NetDeviceIncrementVo.class);
|
|
|
+ final BaseDeviceTypeEnum typeEnum = BaseDeviceTypeEnum.valueOf(incrementVo.getDeviceType());
|
|
|
+ IotDeviceInfo device = selectByTypeAndCode(serverInfo.getIotCode(), typeEnum.getCode(), incrementVo.getDeviceProduct(), incrementVo.getDeviceCode());
|
|
|
+ final SysMultiLayerDictionary brandModelType = baseMapper.selectDictionary(incrementVo.getProducer(), "BrandModelType");
|
|
|
+ if (device == null) {
|
|
|
+ device = new IotDeviceInfo();
|
|
|
+ device.setId(IdWorker.getId());
|
|
|
+ device.setDeviceProduct(incrementVo.getDeviceProduct());
|
|
|
+ device.setDeviceCode(incrementVo.getDeviceCode());
|
|
|
+ device.setDeviceName(incrementVo.getDeviceName());
|
|
|
+ device.setDeviceType(typeEnum.getCode());
|
|
|
+ device.setOrgId(serverInfo.getOrgId());
|
|
|
+ device.setOrgName(serverInfo.getOrgName());
|
|
|
+ device.setOrgPath(serverInfo.getOrgPath());
|
|
|
+ device.setIotToken(serverInfo.getIotCode());
|
|
|
+ device.setNetStatus(DeviceNetStatusEnum.UNKNOWN.getValue());
|
|
|
+ device.setDeleted(0);
|
|
|
+ device.setEnable(incrementVo.getEnable());
|
|
|
+ device.setSyncStatus(DeviceSyncStatus.SYNC_SUCCESS.getCode());
|
|
|
+ device.setCreateBy("system");
|
|
|
+ device.setUpdateBy("system");
|
|
|
+ device.setCreateTime(new Date());
|
|
|
+ device.setUpdateTime(new Date());
|
|
|
+ } else {
|
|
|
+ device.setDeviceProduct(incrementVo.getDeviceProduct());
|
|
|
+ device.setDeviceCode(incrementVo.getDeviceCode());
|
|
|
+ device.setDeviceName(incrementVo.getDeviceName());
|
|
|
+ device.setDeviceType(typeEnum.getCode());
|
|
|
+ device.setDeleted(0);
|
|
|
+ device.setEnable(incrementVo.getEnable());
|
|
|
+ device.setUpdateBy("system");
|
|
|
+ device.setUpdateTime(new Date());
|
|
|
+ }
|
|
|
+ IotDeviceInfoExtend extend = iIotDeviceInfoExtendService.selectByDeviceId(device.getId());
|
|
|
+ if (extend == null) {
|
|
|
+ extend = new IotDeviceInfoExtend();
|
|
|
+ extend.setId(IdWorker.getId());
|
|
|
+ extend.setDeviceId(device.getId());
|
|
|
+ extend.setIotToken(serverInfo.getIotCode());
|
|
|
+ extend.setNetAddress(incrementVo.getNetAddress());
|
|
|
+ extend.setDeleted(0);
|
|
|
+ extend.setCreateBy("system");
|
|
|
+ extend.setUpdateBy("system");
|
|
|
+ extend.setCreateTime(new Date());
|
|
|
+ extend.setUpdateTime(new Date());
|
|
|
+ } else {
|
|
|
+ extend.setNetAddress(incrementVo.getNetAddress());
|
|
|
+ extend.setUpdateBy("system");
|
|
|
+ extend.setUpdateTime(new Date());
|
|
|
+ extend.setDeleted(0);
|
|
|
+ }
|
|
|
+ if (brandModelType != null) {
|
|
|
+ device.setDeviceBrand(brandModelType.getId());
|
|
|
+ }
|
|
|
+ saveOrUpdate(device);
|
|
|
+ iIotDeviceInfoExtendService.saveOrUpdate(extend);
|
|
|
}
|
|
|
|
|
|
private void handleAlarmHostIncrement(String data, IotServerInfo serverInfo) {
|
|
|
AlarmHostIncrementVo baseDataInfo = JSON.parseObject(data, AlarmHostIncrementVo.class);
|
|
|
- IotDeviceInfo deviceInfo = selectByTokenProductAndDeviceCode(serverInfo.getIotCode(), baseDataInfo.getProduct(), baseDataInfo.getName());
|
|
|
+ IotDeviceInfo deviceInfo = selectByTypeAndCode(serverInfo.getIotCode(), BaseDeviceTypeEnum.AlarmHost.getCode(), baseDataInfo.getProduct(), baseDataInfo.getName());
|
|
|
if (ObjectUtil.isNull(deviceInfo)) {
|
|
|
deviceInfo = handleAlarmHostAddHost(baseDataInfo, serverInfo);
|
|
|
} else {
|
|
|
@@ -557,6 +623,8 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
|
|
|
alarmHost.setDeleted(0);
|
|
|
alarmHost.setEnable(baseInfo.getStatus());
|
|
|
alarmHost.setSyncStatus(DeviceSyncStatus.SYNC_SUCCESS.getCode());
|
|
|
+ alarmHost.setUpdateBy("system");
|
|
|
+ alarmHost.setUpdateTime(new Date());
|
|
|
updateById(alarmHost);
|
|
|
}
|
|
|
|
|
|
@@ -576,6 +644,10 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
|
|
|
alarmHost.setDeleted(0);
|
|
|
alarmHost.setEnable(baseInfo.getStatus());
|
|
|
alarmHost.setSyncStatus(DeviceSyncStatus.SYNC_SUCCESS.getCode());
|
|
|
+ alarmHost.setCreateBy("system");
|
|
|
+ alarmHost.setUpdateBy("system");
|
|
|
+ alarmHost.setCreateTime(new Date());
|
|
|
+ alarmHost.setUpdateTime(new Date());
|
|
|
save(alarmHost);
|
|
|
return alarmHost;
|
|
|
}
|
|
|
@@ -1304,9 +1376,15 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
|
|
|
|
|
|
private JSONObject getNetDeviceJson(IotDeviceInfo deviceInfo, BaseDeviceTypeEnum deviceTypeEnum) {
|
|
|
final IotDeviceInfoExtend extend = iIotDeviceInfoExtendService.selectByDeviceId(deviceInfo.getId());
|
|
|
- final JSONObject obj = JSONObject.parseObject(JSON.toJSONString(deviceInfo));
|
|
|
- obj.put("deviceType", deviceTypeEnum.name());
|
|
|
- obj.put("extend", extend);
|
|
|
- return obj;
|
|
|
+ final JSONObject object = new JSONObject();
|
|
|
+ object.put("deviceId", deviceInfo.getId());
|
|
|
+ object.put("name", deviceInfo.getDeviceName());
|
|
|
+ object.put("equipmentTypeId", deviceTypeEnum.getCode());
|
|
|
+ //object.put("producer", deviceInfo.getManufacturer());
|
|
|
+ object.put("netAddress", extend.getNetAddress());
|
|
|
+ object.put("deviceType", deviceTypeEnum.name());
|
|
|
+ object.put("enable", ObjectUtil.equal(0, deviceInfo.getEnable()));
|
|
|
+
|
|
|
+ return object;
|
|
|
}
|
|
|
}
|