From 7b05ee530ef5bc52045d58efba6a5aff970920ad Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 13 二月 2025 17:07:27 +0800
Subject: [PATCH] 系统基本功能完善,用用来做SpringBoot系统的基本框架(集成mybatis/redis/腾讯云对象存储/阿里云一键登录)

---
 src/main/java/com/everyday/word/service/impl/user/UserServiceImpl.java |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/everyday/word/service/impl/user/UserServiceImpl.java b/src/main/java/com/everyday/word/service/impl/user/UserServiceImpl.java
index a540324..58a5dfe 100644
--- a/src/main/java/com/everyday/word/service/impl/user/UserServiceImpl.java
+++ b/src/main/java/com/everyday/word/service/impl/user/UserServiceImpl.java
@@ -1,5 +1,6 @@
 package com.everyday.word.service.impl.user;
 
+import com.everyday.word.config.CosFilePathEnum;
 import com.everyday.word.dao.user.UserAuthMapper;
 import com.everyday.word.dao.user.UserMapper;
 import com.everyday.word.dto.QQUserInfo;
@@ -8,14 +9,17 @@
 import com.everyday.word.entity.user.User;
 import com.everyday.word.entity.user.UserAuth;
 import com.everyday.word.exception.user.UserException;
-import com.everyday.word.factory.user.UserAuthFactory;
+import com.everyday.word.factory.user.UserFactory;
 import com.everyday.word.service.inter.user.UserService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 import org.yeshi.utils.StringUtil;
 import org.yeshi.utils.entity.wx.WeiXinUser;
+import org.yeshi.utils.tencentcloud.COSManager;
 
 import javax.annotation.Resource;
+import java.io.IOException;
 import java.util.Date;
 import java.util.List;
 
@@ -31,6 +35,8 @@
     private UserMapper userMapper;
     @Resource
     private UserAuthMapper userAuthMapper;
+    @Resource
+    private COSManager cosManager;
 
     @Override
     public User loginByWX(WeiXinUser user, SystemEnum system) {
@@ -73,6 +79,7 @@
         user.setNickName(authInfo.getNickName());
         user.setPortrait(authInfo.getPortrait());
         user.setCreateTime(new Date());
+        user.setSystem(authInfo.getSystem());
         userMapper.insertSelective(user);
         authInfo.setUserId(user.getId());
         authInfo.setCreateTime(new Date());
@@ -87,7 +94,7 @@
         daoQuery.system = system;
         daoQuery.count = 1;
         List<UserAuth> authList = userAuthMapper.list(daoQuery);
-        if (authList.size() < 1) {
+        if (authList.isEmpty()) {
             return null;
         }
         return authList.get(0);
@@ -100,7 +107,7 @@
         daoQuery.userId = uid;
         daoQuery.count = 1;
         List<UserAuth> authList = userAuthMapper.list(daoQuery);
-        if (authList.size() < 1) {
+        if (authList.isEmpty()) {
             return null;
         }
         return authList.get(0);
@@ -125,7 +132,7 @@
         if (user == null) {
             throw new UserException("鐢ㄦ埛涓嶅瓨鍦�");
         }
-        UserAuth userAuth = UserAuthFactory.create(weiXinUser);
+        UserAuth userAuth = UserFactory.createAuth(weiXinUser, user.getSystem());
         if (selectUserAuth(userAuth.getIdentityType(), userAuth.getIdentifier(), user.getSystem()) != null) {
             throw new UserException("寰俊宸茶缁戝畾");
         }
@@ -138,7 +145,7 @@
         if (user == null) {
             throw new UserException("鐢ㄦ埛涓嶅瓨鍦�");
         }
-        UserAuth userAuth = UserAuthFactory.create(qqUserInfo);
+        UserAuth userAuth = UserFactory.createAuth(qqUserInfo, user.getSystem());
         if (selectUserAuth(userAuth.getIdentityType(), userAuth.getIdentifier(), user.getSystem()) != null) {
             throw new UserException("QQ宸茶缁戝畾");
         }
@@ -151,13 +158,24 @@
         if (user == null) {
             throw new UserException("鐢ㄦ埛涓嶅瓨鍦�");
         }
-        UserAuth userAuth = UserAuthFactory.create(phone);
+        UserAuth userAuth = UserFactory.createAuth(phone, user.getSystem());
         if (selectUserAuth(userAuth.getIdentityType(), userAuth.getIdentifier(), user.getSystem()) != null) {
             throw new UserException("鎵嬫満鍙峰凡琚粦瀹�");
         }
         bind(userId, userAuth);
     }
 
+    @Override
+    public void uploadPortrait(MultipartFile file, Long uid) throws UserException, IOException {
+        String fileUrl = cosManager.uploadFile(file.getInputStream(), CosFilePathEnum.userPortrait.getWholePath(uid + ".jpg")).getUrl();
+        User user = User.builder()
+                .id(uid)
+                .portrait(fileUrl)
+                .updateTime(new Date())
+                .build();
+        userMapper.updateByPrimaryKeySelective(user);
+    }
+
     private void bind(Long userId, UserAuth userAuth) {
         // 鏌ヨ鏄惁涓烘洿鎹㈢粦瀹�
         UserAuth oldAuth = selectUserAuth(userId, userAuth.getIdentityType());

--
Gitblit v1.8.0