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