sean.zhou
2023-05-18 642dac3e705380eea241648f875836e64dbc809e
src/main/java/com/dji/sample/manage/service/impl/LiveStreamServiceImpl.java
@@ -4,7 +4,6 @@
import com.dji.sample.common.model.ResponseResult;
import com.dji.sample.component.mqtt.model.CommonTopicResponse;
import com.dji.sample.component.mqtt.model.ServiceReply;
import com.dji.sample.component.mqtt.model.StateDataEnum;
import com.dji.sample.component.mqtt.service.IMessageSenderService;
import com.dji.sample.component.redis.RedisConst;
import com.dji.sample.component.redis.RedisOpsUtils;
@@ -16,10 +15,7 @@
import com.dji.sample.manage.model.param.DeviceQueryParam;
import com.dji.sample.manage.model.receiver.CapacityDeviceReceiver;
import com.dji.sample.manage.model.receiver.LiveCapacityReceiver;
import com.dji.sample.manage.service.ICapacityCameraService;
import com.dji.sample.manage.service.IDeviceService;
import com.dji.sample.manage.service.ILiveStreamService;
import com.dji.sample.manage.service.IWorkspaceService;
import com.dji.sample.manage.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -53,6 +49,9 @@
    @Autowired
    private IMessageSenderService messageSender;
    @Autowired
    private IDeviceRedisService deviceRedisService;
    @Override
    public List<CapacityDeviceDTO> getLiveCapacity(String workspaceId) {
@@ -65,7 +64,7 @@
        // Query the live capability of each drone.
        return devicesList.stream()
                .filter(device -> RedisOpsUtils.checkExist(RedisConst.DEVICE_ONLINE_PREFIX + device.getDeviceSn()))
                .filter(device -> deviceRedisService.checkDeviceOnline(device.getDeviceSn()))
                .map(device -> CapacityDeviceDTO.builder()
                        .name(Objects.requireNonNullElse(device.getNickname(), device.getDeviceName()))
                        .sn(device.getDeviceSn())
@@ -79,7 +78,7 @@
        // Solve timing problems
        for (CapacityDeviceReceiver capacityDeviceReceiver : liveCapacityReceiver.getDeviceList()) {
            long last = (long) Objects.requireNonNullElse(
                    RedisOpsUtils.get(StateDataEnum.LIVE_CAPACITY + RedisConst.DELIMITER + capacityDeviceReceiver.getSn()), 0L);
                    RedisOpsUtils.get(RedisConst.LIVE_CAPACITY + capacityDeviceReceiver.getSn()), 0L);
            if (last > timestamp) {
                return;
            }
@@ -126,7 +125,7 @@
                        .toString());
                break;
            case RTSP:
                String url = receiveReply.getInfo().toString();
                String url = receiveReply.getOutput().toString();
                this.resolveUrlUser(url, live);
                break;
            case UNKNOWN:
@@ -186,7 +185,7 @@
        if (ResponseResult.CODE_SUCCESS != responseResult.getCode()) {
            return responseResult;
        }
        if (DeviceDomainEnum.GATEWAY.getDesc().equals(responseResult.getData().getDomain())) {
        if (DeviceDomainEnum.GATEWAY.getVal() == responseResult.getData().getDomain()) {
            return ResponseResult.error(LiveErrorEnum.FUNCTION_NOT_SUPPORT);
        }
@@ -208,7 +207,7 @@
        response.setMethod(LiveStreamMethodEnum.LIVE_LENS_CHANGE.getMethod());
        response.setData(liveParam);
        return messageSender.publishWithReply(respTopic, response);
        return messageSender.publishWithReply(ServiceReply.class, respTopic, response);
    }
    /**
@@ -232,7 +231,7 @@
            return ResponseResult.error(LiveErrorEnum.NO_AIRCRAFT);
        }
        if (deviceOpt.get().getDomain().equals(DeviceDomainEnum.DOCK.getDesc())) {
        if (DeviceDomainEnum.DOCK.getVal() == deviceOpt.get().getDomain()) {
            return ResponseResult.success(deviceOpt.get());
        }
        List<DeviceDTO> gatewayList = deviceService.getDevicesByParams(
@@ -305,7 +304,7 @@
        response.setData(liveParam);
        response.setMethod(LiveStreamMethodEnum.LIVE_START_PUSH.getMethod());
        return messageSender.publishWithReply(topic, response);
        return messageSender.publishWithReply(ServiceReply.class, topic, response);
    }
    /**
@@ -324,7 +323,7 @@
        response.setMethod(LiveStreamMethodEnum.LIVE_SET_QUALITY.getMethod());
        response.setData(data);
        return messageSender.publishWithReply(respTopic, response);
        return messageSender.publishWithReply(ServiceReply.class, respTopic, response);
    }
    /**
@@ -341,7 +340,7 @@
        response.setData(data);
        response.setMethod(LiveStreamMethodEnum.LIVE_STOP_PUSH.getMethod());
        return messageSender.publishWithReply(topic, response);
        return messageSender.publishWithReply(ServiceReply.class, topic, response);
    }
}