|
|
@@ -19,6 +19,7 @@ import com.xunmei.common.core.utils.StringUtils;
|
|
|
import com.xunmei.common.core.web.page.TableDataInfo;
|
|
|
import com.xunmei.common.redis.utils.RedisUtils;
|
|
|
import com.xunmei.common.security.utils.SecurityUtils;
|
|
|
+import com.xunmei.iot.dto.deviceInfo.AlarmHostDeviceInfoVo;
|
|
|
import com.xunmei.iot.dto.deviceInfo.EditAlarmHostDeviceDto;
|
|
|
import com.xunmei.iot.dto.deviceInfo.EditDvrHostDeviceDto;
|
|
|
import com.xunmei.iot.dto.deviceInfo.IotDeviceInfoPageDto;
|
|
|
@@ -29,13 +30,16 @@ import com.xunmei.iot.mapper.IotServerProductMapper;
|
|
|
import com.xunmei.iot.service.IIotDeviceInfoService;
|
|
|
import com.xunmei.iot.service.IotDeviceInfoExtendService;
|
|
|
import com.xunmei.iot.vo.deviceInfo.DeviceDetailInfoVo;
|
|
|
+import com.xunmei.iot.vo.deviceInfo.DvrHostDeviceInfoVo;
|
|
|
import com.xunmei.iot.vo.deviceInfo.IotDeviceInfoPageVo;
|
|
|
import com.xunmei.system.api.RemoteOrgService;
|
|
|
import com.xunmei.system.api.domain.SysOrg;
|
|
|
import com.xunmei.system.api.domain.SysUser;
|
|
|
import com.xunmei.system.api.domain.iot.IotDeviceInfo;
|
|
|
+import com.xunmei.system.api.domain.iot.IotDeviceInfoExtend;
|
|
|
import org.redisson.api.RLock;
|
|
|
import org.redisson.api.RedissonClient;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
@@ -170,6 +174,25 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public DvrHostDeviceInfoVo dvrHostDeviceInfo(Long id) {
|
|
|
+ final IotDeviceInfo deviceInfo = getById(id);
|
|
|
+ if (deviceInfo == null) {
|
|
|
+ throw new RuntimeException("设备不存在");
|
|
|
+ }
|
|
|
+ DvrHostDeviceInfoVo resp = new DvrHostDeviceInfoVo();
|
|
|
+ BeanUtils.copyProperties(deviceInfo, resp);
|
|
|
+ resp.setIotCode(deviceInfo.getIotToken());
|
|
|
+ IotDeviceInfoExtend extend = extendService.findByDeviceId(id);
|
|
|
+ resp.setModels(deviceInfo.getDeviceModel());
|
|
|
+ resp.setUserName(extend.getUserName());
|
|
|
+ resp.setPassword(extend.getPassword());
|
|
|
+ resp.setServerIp(extend.getNetAddress());
|
|
|
+ resp.setServerPort(extend.getPort().toString());
|
|
|
+
|
|
|
+ return resp;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public Integer editDvrHostDevice(EditDvrHostDeviceDto req) {
|
|
|
Long deviceId = req.getId();
|
|
|
SysOrg sysOrg = orgService.selectOrgById(req.getOrgId(), SecurityConstants.INNER);
|
|
|
@@ -214,6 +237,62 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public AlarmHostDeviceInfoVo alarmHostDeviceInfo(Long id) {
|
|
|
+ final IotDeviceInfo deviceInfo = getById(id);
|
|
|
+ if (deviceInfo == null) {
|
|
|
+ throw new RuntimeException("设备不存在");
|
|
|
+ }
|
|
|
+ AlarmHostDeviceInfoVo resp = new AlarmHostDeviceInfoVo();
|
|
|
+ BeanUtils.copyProperties(deviceInfo, resp);
|
|
|
+ resp.setModels(deviceInfo.getDeviceModel());
|
|
|
+ resp.setIotCode(deviceInfo.getIotToken());
|
|
|
+ IotDeviceInfoExtend extend = extendService.findByDeviceId(id);
|
|
|
+ BeanUtils.copyProperties(extend, resp,"id");
|
|
|
+ resp.setUserName(extend.getUserName());
|
|
|
+ resp.setPassword(extend.getPassword());
|
|
|
+ resp.setServerIp(extend.getNetAddress());
|
|
|
+ resp.setServerPort(extend.getPort());
|
|
|
+
|
|
|
+ final LambdaQueryWrapper<IotAlarmSubsystem> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(IotAlarmSubsystem::getAlarmHostCode, deviceInfo.getDeviceCode());
|
|
|
+ wrapper.eq(IotAlarmSubsystem::getDeleted, 0);
|
|
|
+ wrapper.select(IotAlarmSubsystem::getEnable,IotAlarmSubsystem::getCode, IotAlarmSubsystem::getName);
|
|
|
+ final List<IotAlarmSubsystem> subSystems = subsystemMapper.selectList(wrapper);
|
|
|
+ if (CollUtil.isEmpty(subSystems)){
|
|
|
+ return resp;
|
|
|
+ }
|
|
|
+ resp.setSubSystemNums(subSystems.size());
|
|
|
+ resp.setSubSystemList(subSystems.stream().map(r->{
|
|
|
+ final AlarmHostDeviceInfoVo.SubSystemInfoVo vo = new AlarmHostDeviceInfoVo.SubSystemInfoVo();
|
|
|
+ vo.setSubSystemIndex(r.getCode());
|
|
|
+ vo.setSubSystemName(r.getName());
|
|
|
+ vo.setEnable(r.getEnable());
|
|
|
+ return vo;
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+
|
|
|
+ final LambdaQueryWrapper<IotAlarmDefenceArea> defenceWrapper = new LambdaQueryWrapper<>();
|
|
|
+ defenceWrapper.eq(IotAlarmDefenceArea::getAlarmHostCode, deviceInfo.getDeviceCode());
|
|
|
+ defenceWrapper.eq(IotAlarmDefenceArea::getDeleted, 0);
|
|
|
+ final List<IotAlarmDefenceArea> defenceAreaList = defenceAreaMapper.selectList(defenceWrapper);
|
|
|
+ if (CollUtil.isEmpty(defenceAreaList)){
|
|
|
+ return resp;
|
|
|
+ }
|
|
|
+ resp.setInputSensorNums(defenceAreaList.size());
|
|
|
+ resp.setInputSensorList(defenceAreaList.stream().map(r->{
|
|
|
+ final AlarmHostDeviceInfoVo.InputSensorInfoVo vo = new AlarmHostDeviceInfoVo.InputSensorInfoVo();
|
|
|
+ vo.setInputSensorIndex(r.getDefenceAreaIndex());
|
|
|
+ vo.setInputSensorName(r.getDefenceAreaName());
|
|
|
+ vo.setModuleAddress(r.getModuleAddress());
|
|
|
+ vo.setSubSystemIndex(r.getSubSystemCode());
|
|
|
+ vo.setSensorType(r.getSensorType());
|
|
|
+ vo.setEnable(r.getEnable());
|
|
|
+ return vo;
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+
|
|
|
+ return resp;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public Integer editAlarmHostDevice(EditAlarmHostDeviceDto req) {
|
|
|
Long deviceId = req.getId();
|
|
|
SysOrg sysOrg = orgService.selectOrgById(req.getOrgId(), SecurityConstants.INNER);
|
|
|
@@ -341,11 +420,11 @@ public class IotDeviceInfoServiceImpl extends ServiceImpl<IotDeviceInfoMapper, I
|
|
|
List<EditAlarmHostDeviceDto.SubSystemDto> subSystemList = req.getSubSystemList();
|
|
|
|
|
|
if (CollUtil.isNotEmpty(subSystemList)) {
|
|
|
- createSubsystems(deviceInfo, subSystemList, req.getInputSensorList(),sysOrg);
|
|
|
+ createSubsystems(deviceInfo, subSystemList, req.getInputSensorList(), sysOrg);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void createSubsystems(IotDeviceInfo deviceInfo, List<EditAlarmHostDeviceDto.SubSystemDto> subSystemList, List<EditAlarmHostDeviceDto.InputSensorDto> sensorList,SysOrg sysOrg) {
|
|
|
+ private void createSubsystems(IotDeviceInfo deviceInfo, List<EditAlarmHostDeviceDto.SubSystemDto> subSystemList, List<EditAlarmHostDeviceDto.InputSensorDto> sensorList, SysOrg sysOrg) {
|
|
|
SysUser sysUser = SecurityUtils.getLoginUser().getSysUser();
|
|
|
|
|
|
for (EditAlarmHostDeviceDto.SubSystemDto systemDto : subSystemList) {
|