/* * 【机场1】从 dock2 原类 com.ard.sample.wayline.service.IWaylineFileService 复制/独立适配(DJI Dock 1 / M30)。 * 与 dock2 原类同服务共存;本文件内的适配差异以「// 机场1:」内联注释标出。 */ package com.ard.sample.dock1.wayline.service; import com.ard.sample.common.model.PaginationData; import com.ard.sample.wayline.model.dto.WaylineFileDTO; import com.ard.sample.wayline.model.param.WaylineQueryParam; import org.springframework.web.multipart.MultipartFile; import java.net.URL; import java.sql.SQLException; import java.util.List; import java.util.Optional; /** * @author sean * @version 0.3 * @date 2021/12/22 */ public interface IWaylineFileService { /** * Perform paging queries based on query parameters. * @param param * @return */ PaginationData getWaylinesByParam(WaylineQueryParam param); /** * Query the information of this wayline file according to the wayline file id. * @param waylineId * @return */ Optional getWaylineByWaylineId(String waylineId); /** * Get the download address of the file object. * @param waylineId * @return */ URL getObjectUrl(String waylineId) throws SQLException; /** * Save the basic information of the wayline file. * @param metadata * @return */ Integer saveWaylineFile(WaylineFileDTO metadata); /** * Updates whether the file is collected or not based on the passed parameters. * @param ids wayline id * @param isFavorite Whether the wayline file is favorited or not. * @return */ Boolean markFavorite(List ids, Boolean isFavorite); /** * Batch query for duplicate file names in workspace. * @param names * @return */ List getDuplicateNames(List names); /** * Delete the wayline file based on the wayline id. * @param waylineId */ Boolean deleteByWaylineId(String waylineId); /** * Import kmz wayline file. * @param file * @param creator * @return */ void importKmzFile(MultipartFile file, String creator); }