From 39ffdf5754b4ebca682bd3c925f7a500e8a1bbda Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Thu, 08 Aug 2024 16:56:36 +0800
Subject: [PATCH] 国土调查云身份凭证token
---
src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java | 72 ++++++++++++++++++++++++++++++-----
1 files changed, 61 insertions(+), 11 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 8efa814..5b62e43 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));
@@ -98,6 +123,7 @@
.eq(WaylineFileEntity::getWaylineId, waylineId))));
}
+
@Override
public URL getObjectUrl(String workspaceId, String waylineId) throws SQLException {
Optional<WaylineFileDTO> waylineOpt = this.getWaylineByWaylineId(workspaceId, waylineId);
@@ -112,7 +138,6 @@
WaylineFileEntity file = this.dtoConvertToEntity(metadata);
file.setWaylineId(UUID.randomUUID().toString());
file.setWorkspaceId(workspaceId);
-
if (!StringUtils.hasText(file.getSign())) {
try (InputStream object = ossService.getObject(OssConfiguration.bucket, metadata.getObjectKey())) {
if (object.available() == 0) {
@@ -129,12 +154,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 +174,7 @@
int insertId = mapper.insert(file);
return insertId > 0 ? file.getId() : insertId;
}
+
@Override
public Boolean markFavorite(String workspaceId, List<String> waylineIds, Boolean isFavorite) {
@@ -192,23 +218,27 @@
}
@Override
- public void importKmzFile(MultipartFile file, String workspaceId, String creator, String patchesId) {
+ public String importKmzFile(MultipartFile file, String workspaceId, String creator, String patchesId,String isTemp) {
Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
if (waylineFileOpt.isEmpty()) {
throw new RuntimeException("文件格式错误");
}
-
+ String back = null;
try {
WaylineFileDTO waylineFile = waylineFileOpt.get();
waylineFile.setWaylineId(workspaceId);
waylineFile.setUsername(creator);
-
- ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
- this.saveWaylineFiles(workspaceId, waylineFile, patchesId);
+ waylineFile.setIsTemp(isTemp);
+ back = ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
+ 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) {
@@ -222,10 +252,27 @@
waylineFile = waylineFileOpt.get();
waylineFile.setWaylineId(workspaceId);
waylineFile.setUsername(creator);
-
ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
this.saveWaylineFile(workspaceId, waylineFile);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return waylineFile;
+ }
+ @Override
+ public WaylineFileDTO importPlaneKmzFile(MultipartFile file, String workspaceId, String creator,String newName,String id) {
+ WaylineFileDTO waylineFile = null;
+ Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
+ if (waylineFileOpt.isEmpty()) {
+ throw new RuntimeException("文件格式错误");
+ }
+
+ try {
+ waylineFile = waylineFileOpt.get();
+ waylineFile.setWaylineId(workspaceId);
+ waylineFile.setUsername(creator);
+ ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
} catch (IOException e) {
e.printStackTrace();
}
@@ -355,12 +402,15 @@
.favorited(file.getFavorited())
.sign(file.getSign())
.patchesId(file.getPatchesId())
+ .spotInFreckle(file.getSpotInFreckle())
.build();
}
return builder.build();
}
+
+
@Override
public int updateWayline(WaylineFileEntity entity) {
return mapper.update(entity, new LambdaQueryWrapper<WaylineFileEntity>()
--
Gitblit v1.9.3