|
@@ -97,34 +97,48 @@ public class DeviceRegisterServiceImpl extends ServiceImpl<DeviceRegisterMapper,
|
|
|
.setBindState(true)
|
|
|
.setBindTime(deviceRegister.getCreateTime())
|
|
|
);
|
|
|
- //新增设备-注册登记
|
|
|
- save(deviceRegister);
|
|
|
- //新增设备信息
|
|
|
- deviceInfoMapper.insert(new DeviceInfo()
|
|
|
+ DeviceInfo deviceInfo = new DeviceInfo()
|
|
|
.setDeviceId(deviceRegister.getDeviceId())
|
|
|
.setDeviceType(deviceRegister.getDeviceType())
|
|
|
.setMercDeviceCode(deviceRegister.getAssetNo())
|
|
|
- .setCreateTime(deviceRegister.getCreateTime())
|
|
|
- );
|
|
|
- //新增设备-系统信息
|
|
|
- deviceSysinfoMapper.insert(new DeviceSysinfo()
|
|
|
+ .setCreateTime(deviceRegister.getCreateTime());
|
|
|
+ DeviceSysinfo deviceSysinfo = new DeviceSysinfo()
|
|
|
.setDeviceId(deviceRegister.getDeviceId())
|
|
|
.setDeviceSn(deviceRegister.getDeviceSn())
|
|
|
- .setCreateTime(deviceRegister.getCreateTime())
|
|
|
- );
|
|
|
- //新增设备-状态
|
|
|
- deviceStatusMapper.insert(new DeviceStatus().setDeviceId(deviceRegister.getDeviceId()));
|
|
|
- //新增mqtt认证信息
|
|
|
- String deviceId = deviceRegister.getDeviceId().toString();
|
|
|
- MqttUserDto.Save mqttUserInfo = new MqttUserDto.Save();
|
|
|
- mqttUserInfo.setUsername(deviceId);
|
|
|
- mqttUserInfo.setPasswordHash(deviceId);
|
|
|
- mqttUserInfo.setCreated(LocalDateTime.now());
|
|
|
- mqttUserInfo.setTopic(CommConsts.DEVICE_MQTT_TOPIC_SUFFIX);
|
|
|
- mqttUserInfo.setSn(deviceRegister.getDeviceSn());
|
|
|
- mqttUserInfo.setDeviceId(deviceRegister.getDeviceId());
|
|
|
- mqttUserInfo.setIpAddress(mqttConfig.getUrl());
|
|
|
- mqttUserService.save(mqttUserInfo);
|
|
|
+ .setCreateTime(deviceRegister.getCreateTime());
|
|
|
+ DeviceStatus deviceStatus = new DeviceStatus().setDeviceId(deviceRegister.getDeviceId());
|
|
|
+ DeviceRegister deviceRegisterById = getById(deviceRegister.getDeviceId());
|
|
|
+ //新增
|
|
|
+ if (deviceRegisterById == null) {
|
|
|
+ //设备-注册登记
|
|
|
+ save(deviceRegister);
|
|
|
+ //设备信息
|
|
|
+ deviceInfoMapper.insert(deviceInfo);
|
|
|
+ //设备-系统信息
|
|
|
+ deviceSysinfoMapper.insert(deviceSysinfo);
|
|
|
+ //设备-状态
|
|
|
+ deviceStatusMapper.insert(deviceStatus);
|
|
|
+ //mqtt认证信息
|
|
|
+ String deviceId = deviceRegister.getDeviceId().toString();
|
|
|
+ MqttUserDto.Save mqttUserInfo = new MqttUserDto.Save();
|
|
|
+ mqttUserInfo.setUsername(deviceId);
|
|
|
+ mqttUserInfo.setPasswordHash(deviceId);
|
|
|
+ mqttUserInfo.setCreated(LocalDateTime.now());
|
|
|
+ mqttUserInfo.setTopic(CommConsts.DEVICE_MQTT_TOPIC_SUFFIX);
|
|
|
+ mqttUserInfo.setSn(deviceRegister.getDeviceSn());
|
|
|
+ mqttUserInfo.setDeviceId(deviceRegister.getDeviceId());
|
|
|
+ mqttUserInfo.setIpAddress(mqttConfig.getUrl());
|
|
|
+ mqttUserService.save(mqttUserInfo);
|
|
|
+ } else {
|
|
|
+ updateById(deviceRegister);
|
|
|
+ deviceInfoMapper.updateById(deviceInfo);
|
|
|
+ deviceSysinfoMapper.updateById(deviceSysinfo);
|
|
|
+ deviceStatusMapper.updateById(deviceStatus);
|
|
|
+ mqttUserService.update(new LambdaUpdateWrapper<MqttUser>()
|
|
|
+ .set(MqttUser::getSn, deviceRegister.getDeviceSn())
|
|
|
+ .eq(MqttUser::getDeviceId, deviceRegister.getDeviceId())
|
|
|
+ );
|
|
|
+ }
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
@@ -137,7 +151,8 @@ public class DeviceRegisterServiceImpl extends ServiceImpl<DeviceRegisterMapper,
|
|
|
.le(DeviceRegister::getCreateTime, page.getEndCreateTime())
|
|
|
.likeRight(DeviceRegister::getDeviceSn)
|
|
|
.build()
|
|
|
- .and(page.getIsBind() != null && !page.getIsBind(), deviceRegisterLambdaQueryWrapper -> deviceRegisterLambdaQueryWrapper
|
|
|
+ .isNotNull(page.getIsBind(), DeviceRegister::getDeviceSn)
|
|
|
+ .and(!page.getIsBind(), deviceRegisterLambdaQueryWrapper -> deviceRegisterLambdaQueryWrapper
|
|
|
.isNull(DeviceRegister::getDeviceSn)
|
|
|
.or()
|
|
|
.eq(DeviceRegister::getDeviceSn, "")
|