From 2e21f2b0c99a2f2ab9aa22000472896e229db328 Mon Sep 17 00:00:00 2001 From: lisy <linlangsur163@163.com> Date: 星期三, 12 七月 2023 09:58:39 +0800 Subject: [PATCH] 使用福利:上传用户头像接口 --- cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java | 22 +++++++++++ cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IndexOfUserBenefirVo.java | 2 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 17 ++++++++ cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java | 4 ++ cloud-server-account/src/main/java/com/dsh/account/util/OssUploadUtil.java | 39 +++++++++++++++++++ 5 files changed, 83 insertions(+), 1 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java index daa800b..c5fa489 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/UseBenefitsController.java @@ -17,8 +17,10 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.List; @@ -98,6 +100,26 @@ } + @ResponseBody + @PostMapping("/api/useBenefit/uploadImage") + @ApiOperation(value = "上传用户头像", tags = {"APP-使用福利"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), + @ApiImplicitParam(name = "file",value = "图片字节",dataType = "MultipartFile") + }) + public ResultUtil uploadAppUserProfile(MultipartFile file, HttpServletRequest request){ + try { + Integer appUserId = tokenUtil.getUserIdFormRedis(); + if(null == appUserId){ + return ResultUtil.tokenErr(); + } + return ResultUtil.success(tauService.uploadAppUserHeadImg(appUserId,file,request)); + }catch (Exception e){ + return ResultUtil.runErr(); + } + } + + @ResponseBody @PostMapping("/api/useBenefit/cancellation") diff --git a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IndexOfUserBenefirVo.java b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IndexOfUserBenefirVo.java index a766f2f..c2abae4 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IndexOfUserBenefirVo.java +++ b/cloud-server-account/src/main/java/com/dsh/account/model/vo/userBenefitDetail/IndexOfUserBenefirVo.java @@ -16,7 +16,7 @@ @ApiModelProperty(value = "用户名称") private String userName; - @ApiModelProperty(value = "是否年度会员") + @ApiModelProperty(value = "是否年度会员(字符:年度会员 或者 普通用户)") private String isMember; @ApiModelProperty(value = "玩湃币") diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java index c746669..3669462 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/TAppUserService.java @@ -9,7 +9,9 @@ import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo; import com.dsh.account.model.vo.userBenefitDetail.*; import com.dsh.account.util.ResultUtil; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import java.util.List; /** @@ -120,4 +122,6 @@ PointMallDetailsResponse queryAppUserIntegral(MallRequest request, Integer userIdFormRedis); + ResultUtil uploadAppUserHeadImg(Integer appUserId, MultipartFile file, HttpServletRequest request); + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java index e0325fe..851bc50 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java @@ -45,8 +45,11 @@ import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -691,4 +694,18 @@ return detailsResponse; } + @Override + public ResultUtil uploadAppUserHeadImg(Integer appUserId, MultipartFile file, HttpServletRequest request) { + try { + String filePath = OssUploadUtil.ossUpload(request,file); + TAppUser tAppUser = this.baseMapper.selectById(appUserId); + tAppUser.setHeadImg(filePath); + this.baseMapper.updateById(tAppUser); + } catch (IOException e) { + ResultUtil.error("头像上传失败!"); + } + + return ResultUtil.success(); + } + } diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/OssUploadUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/OssUploadUtil.java new file mode 100644 index 0000000..5d7b3a7 --- /dev/null +++ b/cloud-server-account/src/main/java/com/dsh/account/util/OssUploadUtil.java @@ -0,0 +1,39 @@ +package com.dsh.account.util; + +import com.aliyun.oss.OSSClient; +import com.aliyun.oss.model.ObjectMetadata; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.IOException; +import java.io.InputStream; +import java.util.UUID; + +public class OssUploadUtil { + //OSS图片访问域名 + public static String oss_domain = "https://newok.oss-cn-shenzhen.aliyuncs.com/"; + public static String accessKeyId = "LTAI4G9Zez9H4B36vakPXGy4"; + public static String accessKeySecret = "BOVPUeZndKVbrPOq6Ef5j6oiydB3XZ"; + public static String bucketName="newok"; + public static String endpoint = "oss-cn-shenzhen.aliyuncs.com"; + + public static OSSClient ossClient = new OSSClient(endpoint, accessKeyId,accessKeySecret); + + public static String ossUpload(HttpServletRequest request, MultipartFile file) throws IOException{ + //CommonsMultipartFile file = (CommonsMultipartFile)multipartFile; + String fileName = ""; + if(file!=null && !"".equals(file.getOriginalFilename()) && file.getOriginalFilename()!=null){ + InputStream content = file.getInputStream();//获得指定文件的输入流 + ObjectMetadata meta = new ObjectMetadata();// 创建上传Object的Metadata + meta.setContentLength(file.getSize()); // 必须设置ContentLength + String originalFilename = file.getOriginalFilename(); + fileName = UUID.randomUUID().toString().replaceAll("-","") + originalFilename.subSequence(originalFilename.lastIndexOf("."), originalFilename.length()); + ossClient.putObject(bucketName,"img/"+fileName,content,meta);// 上传Object. + if(fileName != null && !"".equals(fileName)){ + System.out.println(fileName); + fileName = oss_domain+"img/"+fileName; + } + } + return fileName; + } +} -- Gitblit v1.7.1