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