From 2cba01a6b6f67cfa97d0c4e0cc589302fab817ba Mon Sep 17 00:00:00 2001
From: aix <vip_xiaobin810@163.com>
Date: Wed, 24 Jul 2024 11:41:37 +0800
Subject: [PATCH] 查询有变形水库

---
 skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/feign/OssClient.java |  141 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 105 insertions(+), 36 deletions(-)

diff --git a/skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/feign/OssClient.java b/skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/feign/OssClient.java
index ee13fee..c0909c7 100644
--- a/skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/feign/OssClient.java
+++ b/skjcmanager/skjcmanager-ops/skjcmanager-resource/src/main/java/cn/gistack/resource/feign/OssClient.java
@@ -1,56 +1,125 @@
-/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 庄骞 (smallchill@163.com)
- */
 package cn.gistack.resource.feign;
 
 import cn.gistack.resource.builder.oss.OssBuilder;
-import cn.gistack.resource.builder.sms.SmsBuilder;
+import cn.gistack.resource.entity.FormateTuEntity;
+import cn.gistack.resource.entity.QieTuEntity;
+import cn.gistack.resource.panoramaUtils.QietuResult;
+import com.alibaba.fastjson.JSON;
 import lombok.AllArgsConstructor;
+import org.apache.commons.io.FileUtils;
 import org.springblade.core.oss.model.BladeFile;
-import org.springblade.core.sms.model.SmsCode;
-import org.springblade.core.sms.model.SmsData;
-import org.springblade.core.sms.model.SmsResponse;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.jackson.JsonUtil;
-import org.springblade.core.tool.utils.Func;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.InputStreamResource;
-import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.Map;
-
-import static cn.gistack.resource.utils.SmsUtil.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Set;
 
 /**
- * 短信远程调用服务
- *
- * @author Chill
+ * @author kelu
  */
 @NonDS
 @RestController
-public class OssClient implements IOssClient {
+@AllArgsConstructor
+public class OssClient implements IOssClient{
 
-	@Autowired
-	private  OssBuilder ossBuilder;
+	/**
+	 * 对象存储构建类
+	 */
+	private final OssBuilder ossBuilder;
+	@Override
+	@PostMapping(UPLOAD_QIETU)
+	public R uploadQietu(QieTuEntity qieTuEntity) throws IOException {
+		HashMap<String,String> qietuHashMap = qieTuEntity.getQietuHashMap();
+//		System.err.println("切图的路径:"+qietuHashMap);
+
+		String resGuid = qieTuEntity.getResGuid();
+
+		List<String> qieTuUrlList = new ArrayList<String>();
+		String urlHead = null;
+		Set<String> mapKey = qietuHashMap.keySet();
+		if(qietuHashMap != null && qietuHashMap.size()>0) {
+			for (String picQName : mapKey) {
+				String url = qietuHashMap.get(picQName);
+				Path qietuPath = Paths.get(url);
+				File qietufile = qietuPath.toFile();
+				FileInputStream fileInputStream = new FileInputStream(qietufile);
+				BladeFile bladeFile = ossBuilder.templateByPrefixPathPanorama("panorama", resGuid).putFile(picQName, fileInputStream);
+				fileInputStream.close(); // 关闭文件流
+
+				String link = bladeFile.getLink();
+				qieTuUrlList.add(link);// 上传后的图片路径
+				urlHead = link.replace(picQName,"");
+
+				// 切图上传完成后删除
+				if (qietufile.exists()) {
+					// 删除指定文件,不存在报异常
+					FileUtils.forceDelete(qietufile);
+				}
+			}
+		}
+
+
+		String jsonString = JSON.toJSONString(qieTuUrlList);
+
+
+		HashMap<String, String> stringStringHashMap = new HashMap<>();
+		stringStringHashMap.put("qturlList",jsonString);
+		stringStringHashMap.put("urlHead", urlHead);
+
+		QieTuEntity result = new QieTuEntity();
+		result.setQietuHashMap(stringStringHashMap);
+
+		return R.data(result);
+	}
+
+	@Override
+	@PostMapping(UPLOAD_FORMATETU)
+	public R uploadFormate(QieTuEntity qieTuEntity) throws IOException {
+
+		ArrayList<FormateTuEntity> list = qieTuEntity.getList();
+
+
+//		Set<String> mapKey = qietuHashMap.keySet();
+		if(list != null && list.size()>0) {
+			for (FormateTuEntity item : list) {
+
+				String picName = item.getPicName();
+				String url = item.getLinshiUrl();
+				Path qietuPath = Paths.get(url);
+				File qietufile = qietuPath.toFile();
+				FileInputStream fileInputStream = new FileInputStream(qietufile);
+				BladeFile bladeFile = ossBuilder.template().putFile(picName, fileInputStream);
+				fileInputStream.close(); // 关闭文件流
+
+				String link = bladeFile.getLink();
+
+				// 格式化后的临时图片上传完成后删除临时文件
+				if (qietufile.exists()) {
+					// 删除指定文件,不存在报异常
+					FileUtils.forceDelete(qietufile);
+				}
+
+
+				item.setLinshiUrl(link);
+
+			}
+		}
+		QieTuEntity result = new QieTuEntity();
+		result.setList(list);
+
+		return R.data(result);
+	}
 
 	@PostMapping(value = UPLOAD_FILE)
 	public String uploadFile(String fileName,  MultipartFile file) throws Exception{

--
Gitblit v1.9.3