src/main/java/com/dji/sample/media/service/impl/MediaServiceImpl.java
@@ -1,5 +1,9 @@
package com.dji.sample.media.service.impl;
import com.aliyuncs.utils.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dji.sample.common.model.Pagination;
import com.dji.sample.common.model.PaginationData;
import com.dji.sample.common.model.ResponseResult;
import com.dji.sample.component.mqtt.model.ChannelName;
import com.dji.sample.component.mqtt.model.CommonTopicReceiver;
@@ -13,10 +17,9 @@
import com.dji.sample.manage.model.enums.UserTypeEnum;
import com.dji.sample.manage.service.IDeviceRedisService;
import com.dji.sample.manage.service.IDeviceService;
import com.dji.sample.media.model.FileUploadCallback;
import com.dji.sample.media.model.FileUploadDTO;
import com.dji.sample.media.model.MediaFileCountDTO;
import com.dji.sample.media.model.MediaFileDTO;
import com.dji.sample.media.dao.IFileMapper;
import com.dji.sample.media.model.*;
import com.dji.sample.media.model.param.SearchMediaParam;
import com.dji.sample.media.service.IFileService;
import com.dji.sample.media.service.IMediaService;
import com.dji.sample.wayline.model.dto.WaylineJobDTO;
@@ -24,9 +27,11 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.integration.annotation.ServiceActivator;
import org.springframework.messaging.MessageHeaders;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
@@ -64,6 +69,13 @@
    @Autowired
    private IDeviceRedisService deviceRedisService;
    @Autowired
    private IFileMapper mapper;
    @Value("${oss.out-net-file-address}")
    private String fileAddress;
    @Value("${oss.bucket}")
    private String bucket;
    @Override
    public Boolean fastUpload(String workspaceId, String fingerprint) {
        return fileService.checkExist(workspaceId, fingerprint);
@@ -90,6 +102,19 @@
                .filter(tinyFingerprintList::contains)
                .collect(Collectors.toList());
    }
    @Override
    public PaginationData<MediaJobDTO> mediaPage(String workspaceId, SearchMediaParam param) {
        param.setFileAddress(fileAddress+"/"+bucket);
        Page<MediaJobDTO> waylineJobDTOPage = mapper.mediaPage(new Page<MediaJobDTO>(param.getPage(), param.getPageSize()), workspaceId, param);
        return new PaginationData<MediaJobDTO>(waylineJobDTOPage.getRecords(), new Pagination(waylineJobDTOPage));
    }
    @Override
    public PaginationData<MediaJobDTO> mediaDetail( String jobId,Long page, Long pageSize) {
        Page<MediaJobDTO> waylineJobDTOPage = mapper.mediaDetail(new Page<MediaJobDTO>(page, pageSize), jobId,fileAddress+"/"+bucket);
        return new PaginationData<MediaJobDTO>(waylineJobDTOPage.getRecords(), new Pagination(waylineJobDTOPage));
    }
    /**
@@ -127,6 +152,15 @@
                log.error("保存文件到数据库失败,请手动检查数据;Failed to save the file to the database, please check the data manually.");
                return null;
            }
        } else if (!StringUtils.isEmpty(jobId)) { //一键起飞操作需要
            WaylineJobDTO waylineJobDTO = new WaylineJobDTO();
            waylineJobDTO.setWorkspaceId(device.getWorkspaceId());
            waylineJobDTO.setDockSn(device.getDeviceSn());
            boolean isSave = parseMediaFile(callback, waylineJobDTO);
            if (!isSave) {
                log.error("保存文件到数据库失败,请手动检查数据;Failed to save the file to the database, please check the data manually.");
                return null;
            }
        }
        notifyUploadedCount(mediaFileCount, receiver, jobId, device);