From c863db455fe6590c2901d51a1606c8518e84119e Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Mon, 20 May 2024 17:08:37 +0800
Subject: [PATCH] 全景图更新切图功能kl 5-20 17
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java | 70 ++++++++++++++++++++++++++++------
1 files changed, 57 insertions(+), 13 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java
index a80334a..8f94682 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/skPanorama/controller/SkPanoramaController.java
@@ -271,6 +271,36 @@
}
*/
+ /**
+ * 批量切图
+ * @param ids
+ * @return
+ * @throws IOException
+ * @throws InterruptedException
+ * @throws IM4JavaException
+ * @throws IllegalAccessException
+ */
+ @PostMapping("/cutPicBatch")
+ public R cutPicBatch(@RequestParam String ids) throws IOException, InterruptedException, IM4JavaException, IllegalAccessException {
+ List<Long> idlist = Func.toLongList(ids);
+ if (idlist!= null && idlist.size()>0) {
+ for (Long id : idlist ) {
+ SkPanoramaEntity entity = skPanoramaService.getById(id);
+ Integer status = entity.getStatus();
+ String resGuname = entity.getResGuname();
+ String name = entity.getName();
+ if (PanoramaUtilDict.panorama_status_3 == status) continue;
+ R r = cutPicture2(entity);
+ boolean success = r.isSuccess();
+ if (!success) {
+ return R.fail(resGuname+"-"+name+" 切图失败!");
+ }
+
+ }
+ }
+ return R.status(true);
+ }
+
private static final String linShiBaseUrl = "/data/panorama/qietu/";
@GetMapping("/cutPicture2")
@@ -332,8 +362,6 @@
/************************************切图结束********************************************/
// 上传切片全景图
- System.err.println("切图的路径数量"+qietuHashMap.size());
- System.err.println("水库编码"+resGuid);
QieTuEntity qieTuEntity = new QieTuEntity();
qieTuEntity.setQietuHashMap(qietuHashMap);
@@ -353,13 +381,11 @@
entity.setUrlhead(urlHead);
entity.setQierow(row);
entity.setQiecol(col);
- entity.setPicwidth(width);
- entity.setPicheight(height);
entity.setStatus(PanoramaUtilDict.panorama_status_3);
- skPanoramaService.updateById(entity);
+ boolean b = skPanoramaService.updateById(entity);
- return R.status(true);
+ return R.status(b);
}
private File getquanjingFile (String dirPath ,String linshiUrl , Long id) throws IOException {
@@ -373,7 +399,7 @@
File dir = new File(dirPath);
if (dir.isDirectory()) {
// 清除该目录下的文件及子目录文件而不删除该目录文件夹。该目录不存在会报错
- FileUtils.cleanDirectory(dir);
+// FileUtils.cleanDirectory(dir);
} else {
dir.mkdirs();
}
@@ -407,7 +433,7 @@
ArrayList<SkPanoramaEntity> panoramalist = new ArrayList<SkPanoramaEntity>();
// 已上传的全景图已符合比例,仅用改变数据状态
-// ArrayList<SkPanoramaEntity> justUpdateStatusList = new ArrayList<SkPanoramaEntity>();
+ ArrayList<SkPanoramaEntity> justUpdateStatusList = new ArrayList<SkPanoramaEntity>();
ArrayList<FormateTuEntity> list = new ArrayList<FormateTuEntity>();
@@ -418,6 +444,8 @@
SkPanoramaEntity entity = skPanoramaService.getById(id);
+ Integer status = entity.getStatus();
+ if (PanoramaUtilDict.panorama_status_2 == status) continue;
String picUrl = entity.getPicUrl();
String picName = entity.getPicName();
String resGuid = entity.getResGuid();
@@ -435,7 +463,8 @@
File lingshigeshibilidir = new File(lingshigeshibilipath);
if (lingshigeshibilidir.isDirectory()) {
// 清除该目录下的文件及子目录文件而不删除该目录文件夹。该目录不存在会报错
- FileUtils.cleanDirectory(lingshigeshibilidir);
+// FileUtils.cleanDirectory(lingshigeshibilidir);
+ // 批量操作不能清空文件夹下的全部文件
} else {
lingshigeshibilidir.mkdirs();
}
@@ -450,8 +479,9 @@
SkPanoramaEntity upEntity = new SkPanoramaEntity();
upEntity.setId(id);
upEntity.setStatus(PanoramaUtilDict.panorama_status_2);
- boolean b = skPanoramaService.updateById(upEntity);
- return R.status( b);
+ justUpdateStatusList.add(upEntity);
+// boolean b = skPanoramaService.updateById(upEntity);
+// return R.status( b);
} else {
Integer newWidth = height * 2;
// 图片格式化
@@ -504,9 +534,23 @@
}
}
- boolean b = skPanoramaService.updateBatchById(panoramalist);
+ boolean b = false;
+ if (panoramalist != null && panoramalist.size()>0) {
+ b = skPanoramaService.updateBatchById(panoramalist);
+ } else {
+ b = true;
+ }
- return R.status(b);
+ boolean formatB = false;
+ // 已上传的全景图已符合比例,仅用改变数据状态
+ if (panoramalist != null && panoramalist.size()>0) {
+ formatB = skPanoramaService.updateBatchById(justUpdateStatusList);
+ } else {
+ formatB = true;
+ }
+
+
+ return R.status((formatB && b));
}
--
Gitblit v1.9.3