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