diff --git a/yshop-shop/src/main/java/co/yixiang/modules/canvas/rest/StoreCanvasController.java b/yshop-shop/src/main/java/co/yixiang/modules/canvas/rest/StoreCanvasController.java index 31fb34ce..8788c323 100644 --- a/yshop-shop/src/main/java/co/yixiang/modules/canvas/rest/StoreCanvasController.java +++ b/yshop-shop/src/main/java/co/yixiang/modules/canvas/rest/StoreCanvasController.java @@ -9,15 +9,18 @@ package co.yixiang.modules.canvas.rest; import java.util.Arrays; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import co.yixiang.api.YshopException; import co.yixiang.constant.ShopConstants; import co.yixiang.constant.SystemConfigConstants; import co.yixiang.enums.ShopCommonEnum; -import co.yixiang.modules.tools.domain.QiniuContent; +import co.yixiang.modules.aop.ForbidSubmit; import co.yixiang.modules.tools.service.LocalStorageService; -import co.yixiang.modules.tools.service.QiNiuService; import co.yixiang.modules.tools.service.dto.LocalStorageDto; +import co.yixiang.oss.config.OssProperties; +import co.yixiang.oss.service.OssTemplate; import co.yixiang.utils.RedisUtils; import lombok.AllArgsConstructor; import co.yixiang.modules.logging.aop.log.Log; @@ -44,10 +47,11 @@ public class StoreCanvasController { private final StoreCanvasService storeCanvasService; private final LocalStorageService localStorageService; - private final QiNiuService qiNiuService; private final RedisUtils redisUtils; + private final OssProperties ossProperties; + private final OssTemplate ossTemplate; - + @ForbidSubmit @PostMapping("/saveCanvas") @Log("新增或修改画布") @ApiOperation("新增或修改画布") @@ -68,7 +72,8 @@ public class StoreCanvasController { } String mode = redisUtils.getY(SystemConfigConstants.FILE_STORE_MODE); StringBuilder url = new StringBuilder(); - if (ShopCommonEnum.STORE_MODE_1.getValue().toString().equals(mode)) { //存在走本地 + if (ShopCommonEnum.STORE_MODE_1.getValue().toString().equals(mode)) { + // 存在走本地 if(StrUtil.isBlank(localUrl)){ throw new YshopException("本地上传,请先登陆系统配置后台/移动端API地址"); } @@ -78,12 +83,20 @@ public class StoreCanvasController { } else { url = url.append(","+localUrl + "/file/" + localStorageDTO.getType() + "/" + localStorageDTO.getRealName()); } - } else {//走七牛云 - QiniuContent qiniuContent = qiNiuService.upload(file, qiNiuService.find()); + } else { + // 走oss存储 + String [] originalFilename = file.getOriginalFilename().split("\\."); + String fileName = ossProperties.getBucketName()+"/file/"+originalFilename[0] + "-" + IdUtil.simpleUUID() + StrUtil.DOT + FileUtil.extName(file.getOriginalFilename()); + try { + ossTemplate.putObject(ossProperties.getBucketName(), fileName, file.getInputStream()); + } catch (Exception e) { + e.printStackTrace(); + } + String fileUrl = String.format(ossProperties.getCustomDomain(), fileName); if ("".equals(url.toString())) { - url = url.append(qiniuContent.getUrl()); + url = url.append(fileUrl); }else{ - url = url.append(","+qiniuContent.getUrl()); + url = url.append(","+fileUrl); } }