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