From a5bef8fcd772c59b2d50009db5111962d96c3de5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 7 May 2021 09:59:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=BF=90=E8=90=A5=E7=AB=AF?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=B0=8F=E7=A8=8B=E5=BA=8F=E4=BD=93=E9=AA=8C?= =?UTF-8?q?=E7=A0=81=E6=97=B6=E6=96=87=E4=BB=B6=E8=A1=A8=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=AE=A2=E6=88=B7Id=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/feign/OssFeignClient.java | 11 ++++++- .../fallback/OssFeignClientFallback.java | 5 +++ .../com/epmet/controller/OssController.java | 11 +++++++ .../java/com/epmet/service/OssService.java | 8 +++++ .../epmet/service/impl/OssServiceImpl.java | 32 +++++++++++++++++++ .../epmet/service/impl/CodeServiceImpl.java | 3 +- 6 files changed, 68 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java index 239ca51acc..3b1640078d 100644 --- a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java +++ b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java @@ -16,9 +16,9 @@ import feign.codec.Encoder; import feign.form.spring.SpringFormEncoder; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.multipart.MultipartFile; @@ -45,6 +45,15 @@ public interface OssFeignClient { @PostMapping(value ="oss/file/uploadqrcode", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) Result uploadQrCode(@RequestPart(value = "file") MultipartFile file); + /** + * 运营端生成小程序体验码,传递客户Id + * @param file 文件 + * @param file 文件 + * @author sun + */ + @PostMapping(value ="oss/file/uploadqrcodeV2", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + Result uploadQrCodeV2(@RequestPart(value = "file") MultipartFile file, @RequestParam("customerId") String customerId); + //@Configuration class MultipartSupportConfig { diff --git a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java index 0158f7f017..59529ff293 100644 --- a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java +++ b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/fallback/OssFeignClientFallback.java @@ -35,4 +35,9 @@ public class OssFeignClientFallback implements OssFeignClient { return ModuleUtils.feignConError(ServiceConstant.EPMET_OSS_SERVER, "uploadQrCode", file); } + @Override + public Result uploadQrCodeV2(MultipartFile file, String customerId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_OSS_SERVER, "uploadQrCodeV2", file, customerId); + } + } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index 04889584db..4914a71cfc 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -362,4 +362,15 @@ public class OssController { return new Result().ok(ossService.articleRemoveFile(formDTO)); } + /** + * 运营端生成小程序体验码,传递客户Id [开发、测试环境会直接访问生产third,没有token,需要业务中传递客户Id值] + * @param file 文件 + * @param file 文件 + * @author sun + */ + @PostMapping("uploadqrcodeV2") + public Result uploadQrCodeV2(@RequestPart(value = "file") MultipartFile file, @RequestParam("customerId") String customerId) { + return ossService.uploadImgV2(file, null, customerId); + } + } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java index 4f4171df0e..04c15973fe 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java @@ -45,4 +45,12 @@ public interface OssService extends BaseService { * @return boolean */ boolean articleRemoveFile(RemoveFileFormDTO formDTO); + + /** + * 运营端生成小程序体验码,传递客户Id [开发、测试环境会直接访问生产third,没有token,需要业务中传递客户Id值] + * @param file 文件 + * @param file 文件 + * @author sun + */ + Result uploadImgV2(MultipartFile file, String privacy, String customerId); } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java index 6e9e8e2d90..0805fd43c9 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java @@ -210,5 +210,37 @@ public class OssServiceImpl extends BaseServiceImpl implement return true; } + @Override + public Result uploadImgV2(MultipartFile file, String privacy, String customerId) { + if (file.isEmpty()) { + return new Result().error(ModuleErrorCode.UPLOAD_FILE_EMPTY); + } + //上传文件 + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + String url = null; + String ossDomain = null; + try { + + AbstractCloudStorageService storageService = OssFactory.build(); + url = storageService.uploadSuffix(file.getBytes(), extension, privacy); + ossDomain = storageService.getOssDomain(privacy); + } catch (IOException e) { + logger.error("图片上传异常", e); + throw new RenException("图片上传异常"); + + } + //保存文件信息 + OssEntity ossEntity = new OssEntity(); + ossEntity.setUrl(url); + ossEntity.setCustomerId(customerId); + + baseDao.insert(ossEntity); + //文件信息 + UploadImgResultDTO dto = new UploadImgResultDTO(); + dto.setUrl(url); + dto.setDomain(ossDomain); + return new Result().ok(dto); + } + } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java index adabeb3a69..dd50e78cd4 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CodeServiceImpl.java @@ -549,7 +549,8 @@ public class CodeServiceImpl implements CodeService { WxResult wxResult = wxMaCodeService.getQrCode(authInfo.getAuthorizerAccessToken(), formDTO.getPath()); MultipartFile file = null; file = new MockMultipartFile("file", "QRCode.jpg", "image/jpeg", wxResult.getData()); - Result uploadResult = ossFeignClient.uploadQrCode(file); + //2021.5.7 sun 开发、测试运营端生成小程序体验码都是直接访问生产third服务,没有token 需要业务层传递客户Id + Result uploadResult = ossFeignClient.uploadQrCodeV2(file, codeCustomerDTO.getCustomerId()); codeCustomerDTO.setQrCode(uploadResult.getData().getUrl()); codeCustomerService.update(codeCustomerDTO); result.setQrcode(uploadResult.getData().getUrl());