From ec56230a2904cab5660200ce1cdd956f660f7c45 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 20 七月 2023 17:15:12 +0800
Subject: [PATCH] 上传车辆图片提交
---
ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java | 21 ++++++++++
ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java | 6 +++
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 59 ++++++++++++++++++++++++++---
3 files changed, 79 insertions(+), 7 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
index d114218..6677a8f 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -7,6 +7,7 @@
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.utils.httpclient.SYCarClient;
@@ -26,6 +27,7 @@
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
+import org.springframework.web.multipart.MultipartFile;
/**
* 涓変竴杞﹁締Controller
@@ -85,8 +87,11 @@
@PreAuthorize("@ss.hasPermi('sy:syCar:add')")
@Log(title = "涓変竴杞﹁締", businessType = BusinessType.INSERT)
@PostMapping
+ @ApiOperation("鏂板涓変竴杞﹁締")
public AjaxResult add(@RequestBody ArdSyCar ardSyCar)
{
+ String id = IdUtils.simpleUUID();
+ ardSyCar.setId(id);
return toAjax(ardSyCarService.insertArdSyCar(ardSyCar));
}
@@ -96,6 +101,7 @@
@PreAuthorize("@ss.hasPermi('sy:syCar:edit')")
@Log(title = "涓変竴杞﹁締", businessType = BusinessType.UPDATE)
@PutMapping
+ @ApiOperation("淇敼涓変竴杞﹁締")
public AjaxResult edit(@RequestBody ArdSyCar ardSyCar)
{
return toAjax(ardSyCarService.updateArdSyCar(ardSyCar));
@@ -168,4 +174,19 @@
}
}
+ /**
+ * 涓婁紶杞﹁締鍥剧墖
+ */
+ @PreAuthorize("@ss.hasPermi('sy:syCar:uploadCarPicture')")
+ @PostMapping("/uploadCarPicture")
+ @ApiOperation("涓婁紶杞﹁締鍥剧墖")
+ public Map<String,Object> uploadCarPicture(@RequestParam("id") String id,@RequestParam("carPicture") MultipartFile carPicture){
+ try{
+ String result = ardSyCarService.uploadCarPicture(id,carPicture);
+ return success(result);
+ } catch(Exception e){
+ return error("");
+ }
+ }
+
}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
index 92c857b..195443f 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarService.java
@@ -4,6 +4,7 @@
import java.util.Map;
import com.ruoyi.sy.domain.ArdSyCar;
+import org.springframework.web.multipart.MultipartFile;
/**
* 涓変竴杞﹁締Service鎺ュ彛
@@ -70,4 +71,9 @@
* 鑾峰彇鍏ㄩ儴杞﹁締妯″瀷
*/
public List<Map<String,String>> getAllCarModel();
+
+ /**
+ * 涓婁紶杞﹁締鍥剧墖
+ */
+ public String uploadCarPicture(String id, MultipartFile carPicture);
}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
index 0ba25e0..67951c7 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.sy.service.impl;
+import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -7,6 +8,7 @@
import java.util.function.Predicate;
import java.util.stream.Collectors;
+import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
import com.ruoyi.device.hiksdk.util.minio.MinioUtils;
import com.ruoyi.sy.domain.ArdSyUser;
@@ -16,14 +18,18 @@
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.utils.httpclient.SYCarClient;
+import io.minio.GetPresignedObjectUrlArgs;
import io.minio.ListObjectsArgs;
+import io.minio.PutObjectArgs;
import io.minio.Result;
+import io.minio.http.Method;
import io.minio.messages.Item;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.sy.mapper.ArdSyCarMapper;
import com.ruoyi.sy.domain.ArdSyCar;
import com.ruoyi.sy.service.IArdSyCarService;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
@@ -167,7 +173,6 @@
@Override
public List<Map<String,String>> getAllCarModel() {
- //List<String> result = MinioUtils.getBucketObjectName("sycar");
boolean exsit = MinioUtils.exitsBucket("sycar");
if (exsit) {
List<Map<String,String>> listObjetcName = new ArrayList<>();
@@ -197,16 +202,56 @@
listObjetcName.add(map);
}
return listObjetcName;
- /*List<String> result = new ArrayList();
- for(String file : listObjetcName){
- String path = MinioUtils.getBucketObjectUrl("sycar", "carpicture/" + file);
- result.add(path);
- }
- return result;*/
} catch (Exception ex) {
//log.error("minio鑾峰彇妗朵笅瀵硅薄寮傚父锛�" + ex.getMessage());
}
}
return null;
}
+
+ @Override
+ public String uploadCarPicture(String id, MultipartFile carPicture) {
+ //String url = MinioUtils.putObjectAndGetUrl("sycar",carPicture);
+ //鍒ゆ柇鏂囦欢鏄惁涓虹┖
+ if (null == carPicture || 0 == carPicture.getSize()) {
+ return "";
+ }
+ boolean exsit = MinioUtils.exitsBucket("sycar");
+ if (!exsit) {
+ boolean bucket = MinioUtils.createBucket("sycar");
+ }
+ //鏂囦欢鍚�
+ String originalFilename = carPicture.getOriginalFilename();
+ //鏂扮殑鏂囦欢鍚�
+ String fileName = "carpicture/" + IdUtils.fastSimpleUUID()+"_"+ originalFilename;
+ try {
+ InputStream inputStream = carPicture.getInputStream();
+ /*涓婁紶瀵硅薄*/
+ PutObjectArgs putObjectArgs = PutObjectArgs
+ .builder()
+ .bucket("sycar")
+ .object(fileName)
+ .stream(inputStream, carPicture.getSize(), -1)
+ .contentType(carPicture.getContentType())
+ .build();
+ MinioClientSingleton.getMinioClient().putObject(putObjectArgs);
+ inputStream.close();
+ /*鑾峰彇url*/
+ GetPresignedObjectUrlArgs getPresignedObjectUrlArgs = GetPresignedObjectUrlArgs
+ .builder()
+ .bucket("sycar")
+ .object(fileName)
+ .method(Method.GET)
+ .build();
+ String presignedObjectUrl = MinioClientSingleton.getMinioClient().getPresignedObjectUrl(getPresignedObjectUrlArgs);
+ String ObjectUrl = presignedObjectUrl.substring(0, presignedObjectUrl.indexOf("?"));
+ ArdSyCar ardSyCar = new ArdSyCar();
+ ardSyCar.setId(id);
+ ardSyCar.setCarPicture(ObjectUrl);
+ ardSyCarMapper.updateArdSyCar(ardSyCar);
+ return ObjectUrl;
+ } catch (Exception ex) {
+ return "";
+ }
+ }
}
--
Gitblit v1.9.3