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