| | |
| | | package com.ard.sample.manage.service.impl; |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.ard.sample.component.websocket.handler.LiveStreamHandler; |
| | | import com.ard.system.authorize.service.AuthorizeService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | @Slf4j |
| | | @Transactional |
| | | public class DeviceServiceImpl implements IDeviceService { |
| | | |
| | | @Autowired |
| | | private LiveStreamHandler _liveStreamHandler; |
| | | |
| | | @Autowired |
| | | private IMessageSenderService messageSender; |
| | |
| | | DeviceQueryParam.builder() |
| | | .domains(List.of(DeviceDomainEnum.GATEWAY.getVal(), DeviceDomainEnum.DOCK.getVal())) |
| | | .build()); |
| | | // 在獲取设备列表时,顺便获取直播地址 |
| | | for(DeviceDTO devices : devicesList){ |
| | | _liveStreamHandler.StartLiveStreaming(devices.getDeviceSn()); |
| | | _liveStreamHandler.StartLiveStreaming(devices.getChildDeviceSn()); |
| | | } |
| | | |
| | | devicesList.stream() |
| | | .filter(gateway -> DeviceDomainEnum.DOCK.getVal() == gateway.getDomain() || |
| | |
| | | .firmwareVersion(entity.getFirmwareVersion()) |
| | | .deptId(entity.getDeptId()) |
| | | .workType(entity.getWorkType()) |
| | | .webrtcUrl(entity.getWebrtcUrl()) |
| | | .workspaceName(entity.getDeptId() != null |
| | | ? Optional.ofNullable(sysDeptService.selectDeptById(entity.getDeptId())) |
| | | .map(SysDept::getDeptName) |
| | |
| | | // 只更新workType字段 |
| | | .set(DeviceEntity::getWorkType, workType); |
| | | // 执行更新(第一个参数传null,因为更新字段已通过wrapper的set指定) |
| | | int update = mapper.update(null, lambdaUpdateWrapper); |
| | | return update > 0; |
| | | } |
| | | |
| | | @Override |
| | | public Boolean updateWebrtcUrl(String sn, String webrtcUrl){ |
| | | LambdaUpdateWrapper<DeviceEntity> lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); |
| | | lambdaUpdateWrapper.eq(DeviceEntity::getDeviceSn, sn) |
| | | .set(DeviceEntity::getWebrtcUrl, webrtcUrl); |
| | | int update = mapper.update(null, lambdaUpdateWrapper); |
| | | return update > 0; |
| | | } |
| | |
| | | .domain(dto.getDomain()) |
| | | .firmwareVersion(dto.getFirmwareVersion()) |
| | | .workType(dto.getWorkType()) |
| | | .webrtcUrl(dto.getWebrtcUrl()) |
| | | .compatibleStatus(dto.getFirmwareStatus() == null ? null : |
| | | DeviceFirmwareStatusEnum.CONSISTENT_UPGRADE != DeviceFirmwareStatusEnum.find(dto.getFirmwareStatus())) |
| | | .build(); |