|
@ -1,13 +1,17 @@ |
|
|
package org.dromara.sample.media.service.impl; |
|
|
package org.dromara.sample.media.service.impl; |
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
|
|
import org.dromara.common.core.constant.DeviceQrtzConstants; |
|
|
import org.dromara.common.sdk.cloudapi.media.*; |
|
|
import org.dromara.common.sdk.cloudapi.media.*; |
|
|
import org.dromara.common.sdk.cloudapi.media.api.AbstractMediaService; |
|
|
import org.dromara.common.sdk.cloudapi.media.api.AbstractMediaService; |
|
|
import org.dromara.common.sdk.mqtt.MqttReply; |
|
|
import org.dromara.common.sdk.mqtt.MqttReply; |
|
|
import org.dromara.common.sdk.mqtt.events.TopicEventsRequest; |
|
|
import org.dromara.common.sdk.mqtt.events.TopicEventsRequest; |
|
|
import org.dromara.common.sdk.mqtt.events.TopicEventsResponse; |
|
|
import org.dromara.common.sdk.mqtt.events.TopicEventsResponse; |
|
|
import org.dromara.common.websocket.dto.BizCodeEnum; |
|
|
import org.dromara.common.websocket.dto.BizCodeEnum; |
|
|
|
|
|
import org.dromara.sample.manage.mapper.IDeviceQrtzFileMapper; |
|
|
import org.dromara.sample.manage.model.dto.DeviceDTO; |
|
|
import org.dromara.sample.manage.model.dto.DeviceDTO; |
|
|
|
|
|
import org.dromara.sample.manage.model.entity.DeviceQrtzFileEntity; |
|
|
import org.dromara.sample.manage.model.enums.UserTypeEnum; |
|
|
import org.dromara.sample.manage.model.enums.UserTypeEnum; |
|
|
import org.dromara.sample.manage.service.IDeviceRedisService; |
|
|
import org.dromara.sample.manage.service.IDeviceRedisService; |
|
|
import org.dromara.sample.manage.service.IDeviceService; |
|
|
import org.dromara.sample.manage.service.IDeviceService; |
|
@ -16,6 +20,7 @@ import org.dromara.sample.media.model.MediaFileDTO; |
|
|
import org.dromara.sample.media.service.IFileService; |
|
|
import org.dromara.sample.media.service.IFileService; |
|
|
import org.dromara.sample.media.service.IMediaRedisService; |
|
|
import org.dromara.sample.media.service.IMediaRedisService; |
|
|
import org.dromara.sample.media.service.IMediaService; |
|
|
import org.dromara.sample.media.service.IMediaService; |
|
|
|
|
|
import org.dromara.sample.wayline.mapper.IWaylineFileMapper; |
|
|
import org.dromara.sample.wayline.model.entity.WaylineFileEntity; |
|
|
import org.dromara.sample.wayline.model.entity.WaylineFileEntity; |
|
|
import org.dromara.sample.wayline.service.IAiCompareQueueService; |
|
|
import org.dromara.sample.wayline.service.IAiCompareQueueService; |
|
|
import org.dromara.sample.wayline.service.IWaylineJobService; |
|
|
import org.dromara.sample.wayline.service.IWaylineJobService; |
|
@ -25,6 +30,7 @@ import org.dromara.sample.websocket.service.IWebSocketMessageService; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.messaging.MessageHeaders; |
|
|
import org.springframework.messaging.MessageHeaders; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
import org.springframework.util.StringUtils; |
|
|
import org.springframework.util.StringUtils; |
|
|
|
|
|
|
|
|
import java.util.List; |
|
|
import java.util.List; |
|
@ -64,6 +70,9 @@ public class MediaServiceImpl extends AbstractMediaService implements IMediaServ |
|
|
@Autowired |
|
|
@Autowired |
|
|
private IWebSocketMessageService webSocketMessageService; |
|
|
private IWebSocketMessageService webSocketMessageService; |
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
private IDeviceQrtzFileMapper deviceQrtzFileMapper; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Boolean fastUpload(String workspaceId, String fingerprint) { |
|
|
public Boolean fastUpload(String workspaceId, String fingerprint) { |
|
|
return fileService.checkExist(workspaceId, fingerprint); |
|
|
return fileService.checkExist(workspaceId, fingerprint); |
|
@ -105,11 +114,18 @@ public class MediaServiceImpl extends AbstractMediaService implements IMediaServ |
|
|
|
|
|
|
|
|
Optional<DeviceDTO> deviceOpt = deviceRedisService.getDeviceOnline(request.getGateway()); |
|
|
Optional<DeviceDTO> deviceOpt = deviceRedisService.getDeviceOnline(request.getGateway()); |
|
|
MediaFileCountDTO mediaFileCount = mediaRedisService.getMediaCount(request.getGateway(), jobId); |
|
|
MediaFileCountDTO mediaFileCount = mediaRedisService.getMediaCount(request.getGateway(), jobId); |
|
|
|
|
|
List<DeviceQrtzFileEntity> deviceQrtzFileEntities = deviceQrtzFileMapper.selectList(new LambdaQueryWrapper<DeviceQrtzFileEntity>().eq(DeviceQrtzFileEntity::getDeviceSn, request.getGateway()).eq(DeviceQrtzFileEntity::getStatus, DeviceQrtzConstants.QRTZ_FILE_STATUS_2).eq(DeviceQrtzFileEntity::getWaylineId, mediaFileCount.getFileId())); |
|
|
|
|
|
|
|
|
// duplicate data
|
|
|
// duplicate data
|
|
|
if (deviceOpt.isEmpty() |
|
|
if (deviceOpt.isEmpty() |
|
|
|| (Objects.nonNull(mediaFileCount) && request.getBid().equals(mediaFileCount.getBid()) |
|
|
|| (Objects.nonNull(mediaFileCount) && request.getBid().equals(mediaFileCount.getBid()) |
|
|
&& request.getTid().equals(mediaFileCount.getTid()))) { |
|
|
&& request.getTid().equals(mediaFileCount.getTid()))) { |
|
|
//WaylineFileEntity waylineFileEntity = waylineFileMapper.selectOne(new LambdaQueryWrapper<WaylineFileEntity>().eq(WaylineFileEntity::getWaylineId, deviceQrtzFileEntity.getWaylineId()));
|
|
|
if(CollectionUtils.isEmpty(deviceQrtzFileEntities)){ |
|
|
|
|
|
deviceQrtzFileEntities.stream().forEach(item->{ |
|
|
|
|
|
item.setStatus(DeviceQrtzConstants.QRTZ_FILE_STATUS_2); |
|
|
|
|
|
}); |
|
|
|
|
|
deviceQrtzFileMapper.updateById(deviceQrtzFileEntities,100); |
|
|
|
|
|
} |
|
|
return new TopicEventsResponse<MqttReply>().setData(MqttReply.success()); |
|
|
return new TopicEventsResponse<MqttReply>().setData(MqttReply.success()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|