From ecca9ab70a9a87bcb60977c92fbf81053b8fc1bb Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 04 九月 2024 09:17:55 +0800
Subject: [PATCH] 新增优化

---
 ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OssController.java |   68 ++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 15 deletions(-)

diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OssController.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OssController.java
index 9f45fc5..f1db1a7 100644
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OssController.java
+++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OssController.java
@@ -1,15 +1,17 @@
 package com.ruoyi.worker.controller;
 
-import com.ruoyi.common.core.constant.Constants;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.core.utils.GaoDeMapUtil;
-import com.ruoyi.order.api.entity.Order;
 import com.ruoyi.order.api.feignClient.OrderClient;
+import com.ruoyi.worker.utils.FileImageWatermarkUtils;
 import com.ruoyi.worker.utils.TencentCosUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -17,6 +19,17 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import javax.imageio.stream.ImageOutputStream;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+
 
 /**
  * @author HJL
@@ -26,12 +39,14 @@
 @RestController
 @RequestMapping("/oss")
 @Api(tags = "师傅端-文件上传")
+@Slf4j
 public class OssController {
 
     @Resource
     private OrderClient orderClient;
     @Resource
     private TencentCosUtil tencentCosUtil;
+
 
     @PostMapping("/upload")
     @ApiOperation(value = "文件上传", tags = "师傅端-文件上传")
@@ -52,20 +67,43 @@
     })
     public R<Boolean> uploadPhoto(@RequestParam("file") MultipartFile file, @RequestParam String orderId,
                                   @RequestParam String longitude, @RequestParam String latitude) {
-        // 校验经纬度
-        Order order = orderClient.detail(orderId).getData();
-        // 用户下单位置经纬度
-        String orderPosition = order.getLongitude() + "," + order.getLatitude();
-        // 师傅经纬度
-        String workerPosition = longitude + "," + latitude;
-        // 师傅当前位置离用户下单位置具体距离
-        Long distance = GaoDeMapUtil.getDistance(orderPosition, workerPosition).getDatas();
-        // 上传时判断是否在下单位置附件,距离大于某个值则 不允许上传
-        if (distance > Constants.THREE_THOUSAND) {
-//            throw new GlobalException("您当前手机定位超出当前订单预约地址范围 3km,无法提供回收服务!");
-            return R.fail(Boolean.FALSE, "您当前手机定位超出当前订单预约地址范围 3km,无法提供回收服务!");
-        }
         return R.ok(tencentCosUtil.upLoadFile(file));
     }
 
+    @PostMapping(value = "/pic", produces = "application/json;charset=UTF-8")
+    @ApiOperation(value = "文件上传加水印", tags = "师傅端-文件上传")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "文件", name = "file", dataType = "MultipartFile", required = true)
+    })
+    public R<String> pic(@RequestParam("file") MultipartFile file,@RequestParam String longitude,@RequestParam String address,
+                         @RequestParam String latitude) {
+//        Result<String> address = GaoDeMapUtil.getAddress(longitude, latitude);
+
+
+        // 获取当前时间
+
+        LocalDateTime date = LocalDateTime.now();
+
+        // 设置日期格式
+
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+        // 通过format调用转换的方法
+
+        String dateWatermark =  formatter.format(date);
+//        System.err.println("==========="+LocalDateTime.now());
+        log.error("==========="+LocalDateTime.now());
+
+        MultipartFile watermarkFile = FileImageWatermarkUtils.markWithContent(file,dateWatermark,address);
+//        System.err.println("==========="+LocalDateTime.now());
+        log.error("==========="+LocalDateTime.now());
+
+
+        String url = tencentCosUtil.upLoadFile(watermarkFile);
+        log.error("==========="+LocalDateTime.now());
+        return R.ok(url);
+
+    }
+
+
 }

--
Gitblit v1.7.1