From 40f1ac26483b71ff1ea5f042a795e9a3842a5827 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Thu, 18 Jul 2024 17:25:45 +0800
Subject: [PATCH] 修改航线文件存入、查看接口,新增根据任务ID查找航线接口。新增媒体文件根据任务ID去重、匹配图片。
---
src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++++--------
1 files changed, 38 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
index 52da471..29a93f8 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
@@ -9,7 +9,6 @@
import com.dji.sample.component.oss.model.OssConfiguration;
import com.dji.sample.component.oss.service.impl.OssServiceContext;
import com.dji.sample.manage.model.enums.DeviceDomainEnum;
-import com.dji.sample.summarize.model.entity.FlyInfo;
import com.dji.sample.wayline.dao.IWaylineFileMapper;
import com.dji.sample.wayline.model.dto.KmzFileProperties;
import com.dji.sample.wayline.model.dto.WaylineFileDTO;
@@ -52,7 +51,6 @@
@Autowired
private IWaylineFileMapper mapper;
-
@Autowired
private OssServiceContext ossService;
@@ -82,6 +80,33 @@
}
@Override
+ public PaginationData<WaylineFileDTO> getShowWaylinesByParam(String workspaceId, WaylineQueryParam param) {
+ // Paging Query
+ Page<WaylineFileEntity> page = mapper.selectPage(
+ new Page<WaylineFileEntity>(param.getPage(), param.getPageSize()),
+ new LambdaQueryWrapper<WaylineFileEntity>()
+ .eq(WaylineFileEntity::getWorkspaceId, workspaceId)
+ .eq(WaylineFileEntity::getIsTemp,1)
+ .eq(param.isFavorited(), WaylineFileEntity::getFavorited, param.isFavorited())
+ .and(param.getTemplateType() != null, wrapper -> {
+ for (Integer type : param.getTemplateType()) {
+ wrapper.like(WaylineFileEntity::getTemplateTypes, type).or();
+ }
+ })
+ // There is a risk of SQL injection
+ .last(StringUtils.hasText(param.getOrderBy()), " order by " + param.getOrderBy()));
+
+ // Wrap the results of a paging query into a custom paging object.
+ List<WaylineFileDTO> records = page.getRecords()
+ .stream()
+ .map(this::entityConvertToDTO)
+ .collect(Collectors.toList());
+
+ return new PaginationData<>(records, new Pagination(page));
+ }
+
+
+ @Override
public String getPatchesId(String waylineId) {
WaylineFileEntity entity = mapper.selectOne(new LambdaQueryWrapper<WaylineFileEntity>()
.eq(WaylineFileEntity::getWaylineId, waylineId));
@@ -97,6 +122,7 @@
.eq(WaylineFileEntity::getWorkspaceId, workspaceId)
.eq(WaylineFileEntity::getWaylineId, waylineId))));
}
+
@Override
public URL getObjectUrl(String workspaceId, String waylineId) throws SQLException {
@@ -129,12 +155,12 @@
}
@Override
- public Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata, String patchesId) {
+ public Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata, String patchesId, String isTemp) {
metadata.setPatchesId(patchesId);
WaylineFileEntity file = this.dtoConvertToEntity(metadata);
file.setWaylineId(UUID.randomUUID().toString());
file.setWorkspaceId(workspaceId);
-
+ file.setIsTemp(isTemp);
if (!StringUtils.hasText(file.getSign())) {
try (InputStream object = ossService.getObject(OssConfiguration.bucket, metadata.getObjectKey())) {
if (object.available() == 0) {
@@ -149,6 +175,7 @@
int insertId = mapper.insert(file);
return insertId > 0 ? file.getId() : insertId;
}
+
@Override
public Boolean markFavorite(String workspaceId, List<String> waylineIds, Boolean isFavorite) {
@@ -192,7 +219,7 @@
}
@Override
- public String importKmzFile(MultipartFile file, String workspaceId, String creator, String patchesId, String spotInFreckle) {
+ public String importKmzFile(MultipartFile file, String workspaceId, String creator, String patchesId, String isTemp) {
Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
if (waylineFileOpt.isEmpty()) {
throw new RuntimeException("文件格式错误");
@@ -202,16 +229,17 @@
WaylineFileDTO waylineFile = waylineFileOpt.get();
waylineFile.setWaylineId(workspaceId);
waylineFile.setUsername(creator);
- waylineFile.setSpotInFreckle(spotInFreckle);
+ waylineFile.setIsTemp(isTemp);
back = ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
- if (back==null) {
- this.saveWaylineFiles(workspaceId, waylineFile, patchesId);
+ if (back == null) {
+ this.saveWaylineFiles(workspaceId, waylineFile, patchesId, isTemp);
}
} catch (IOException e) {
e.printStackTrace();
}
return back;
}
+
@Override
public WaylineFileDTO importKmzFileBack(MultipartFile file, String workspaceId, String creator) {
@@ -364,6 +392,8 @@
return builder.build();
}
+
+
@Override
public int updateWayline(WaylineFileEntity entity) {
return mapper.update(entity, new LambdaQueryWrapper<WaylineFileEntity>()
--
Gitblit v1.9.3