From e892a305985d41eaee6a87786596b9724baf9814 Mon Sep 17 00:00:00 2001 From: yinzuomei Date: Fri, 20 Dec 2019 10:56:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9updateWxInfo=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../elink/esua/epdc/feign/OssFeignClient.java | 13 ++++++++ .../fallback/OssFeignClientFallback.java | 6 ++++ .../epdc/service/impl/AppUserServiceImpl.java | 8 ++++- .../esua/epdc/controller/OssController.java | 12 +++++++ .../elink/esua/epdc/service/OssService.java | 9 ++++++ .../epdc/service/impl/OssServiceImpl.java | 31 +++++++++++++++++++ 6 files changed, 78 insertions(+), 1 deletion(-) diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java index 875445a57..b79ea6c38 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/OssFeignClient.java @@ -2,12 +2,15 @@ package com.elink.esua.epdc.feign; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.UploadDTO; import com.elink.esua.epdc.dto.UploadFormDTO; import com.elink.esua.epdc.dto.UploadToOssDTO; import com.elink.esua.epdc.feign.fallback.OssFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; /** * 文件对象模块 @@ -38,4 +41,14 @@ public interface OssFeignClient { */ @PostMapping(value = "oss/file/uploadFile", consumes = MediaType.APPLICATION_JSON_VALUE) Result uploadFile(UploadToOssDTO uploadToOssDto); + + /** + * @param avatarUrl + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 上传微信头像 + * @Date 2019/12/20 9:33 + **/ + @GetMapping(value="oss/file/saveWeChatFaceImg") + Result saveWeChatFaceImg(@RequestParam("avatarUrl")String avatarUrl); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java index 8925de8fb..4766822ff 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/OssFeignClientFallback.java @@ -3,6 +3,7 @@ package com.elink.esua.epdc.feign.fallback; import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.UploadDTO; import com.elink.esua.epdc.dto.UploadFormDTO; import com.elink.esua.epdc.dto.UploadToOssDTO; import com.elink.esua.epdc.feign.OssFeignClient; @@ -25,4 +26,9 @@ public class OssFeignClientFallback implements OssFeignClient { public Result uploadFile(UploadToOssDTO uploadToOssDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "uploadFile", uploadToOssDto); } + + @Override + public Result saveWeChatFaceImg(String avatarUrl) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_OSS_SERVER, "saveWeChatFaceImg", avatarUrl); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java index bf52bd99d..56fa636a6 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java @@ -955,7 +955,13 @@ public class AppUserServiceImpl implements AppUserService { UserDTO userDTO = new UserDTO(); userDTO.setId(userDetail.getUserId()); userDTO.setNickname(wxMaUserInfo.getNickName()); - userDTO.setFaceImg(wxMaUserInfo.getAvatarUrl()); + //上传微信头像 + Result uploadDTOResult = ossFeignClient.saveWeChatFaceImg(wxMaUserInfo.getAvatarUrl()); + if (uploadDTOResult.success()) { + userDTO.setFaceImg(uploadDTOResult.getData().getUrl()); + } else { + userDTO.setFaceImg(USER_FACE); + } //微信性别0未知 1:男 2:女 本系统:1男,0女 if (UserSexEnum.WX_MALE.sex().equals(wxMaUserInfo.getGender())) { userDTO.setSex(UserSexEnum.MALE.sex()); diff --git a/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java b/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java index 02912121c..31882f01e 100644 --- a/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java +++ b/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/controller/OssController.java @@ -171,4 +171,16 @@ public class OssController { return new Result().ok(url); } + /** + * @param avatarUrl + * @return java.lang.String + * @Author yinzuomei + * @Description 上传微信头像 + * @Date 2019/12/19 18:48 + **/ + @GetMapping("saveWeChatFaceImg") + public Result saveWeChatFaceImg(@RequestParam(value = "avatarUrl") String avatarUrl){ + return ossService.saveWeChatFaceImg(avatarUrl); + } + } diff --git a/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/service/OssService.java b/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/service/OssService.java index e7fe79341..9b383ea27 100644 --- a/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/service/OssService.java +++ b/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/service/OssService.java @@ -49,4 +49,13 @@ public interface OssService extends BaseService { * @date 2019/12/10 17:23 */ void download(String fileUrl, HttpServletResponse response); + + /** + * @param fileUrl + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 上传微信头像 + * @Date 2019/12/19 18:55 + **/ + Result saveWeChatFaceImg(String fileUrl); } diff --git a/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/service/impl/OssServiceImpl.java b/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/service/impl/OssServiceImpl.java index b1054b2ee..6334efc11 100644 --- a/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/service/impl/OssServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-oss/epdc-oss-server/src/main/java/com/elink/esua/epdc/service/impl/OssServiceImpl.java @@ -10,6 +10,7 @@ package com.elink.esua.epdc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.cloud.OssFactory; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; @@ -19,6 +20,7 @@ import com.elink.esua.epdc.dao.OssDao; import com.elink.esua.epdc.dto.UploadDTO; import com.elink.esua.epdc.entity.OssEntity; import com.elink.esua.epdc.service.OssService; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; @@ -97,4 +99,33 @@ public class OssServiceImpl extends BaseServiceImpl implement } + /** + * @param avatarUrl + * @return java.lang.String + * @Author yinzuomei + * @Description 上传微信头像 + * @Date 2019/12/19 18:49 + **/ + @Override + public Result saveWeChatFaceImg(String avatarUrl) { + if (StringUtils.isBlank(avatarUrl)) { + return new Result().error("avatarUrl不能为空"); + } + try { + //实例化url + URL url = new URL(avatarUrl); + //载入图片到输入流 + DataInputStream dataInputStream = new DataInputStream(url.openStream()); + int size = dataInputStream.available(); + //上传文件 + String fileUrl = OssFactory.build().uploadSuffix(dataInputStream, "jpg"); + return this.afterUpload(fileUrl, size); + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return new Result().error("上传微信头像异常"); + } + }