From 2189575659efc9f84f28acca38b19846170538f8 Mon Sep 17 00:00:00 2001 From: KilLze Date: Sun, 11 Jan 2026 00:25:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AEbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bao/dating/controller/UserController.java | 2 - .../dating/pojo/dto/UserInfoUpdateDTO.java | 25 ---- .../com/bao/dating/service/UserService.java | 2 - .../dating/service/impl/UserServiceImpl.java | 115 +++--------------- 4 files changed, 14 insertions(+), 130 deletions(-) delete mode 100644 src/main/java/com/bao/dating/pojo/dto/UserInfoUpdateDTO.java diff --git a/src/main/java/com/bao/dating/controller/UserController.java b/src/main/java/com/bao/dating/controller/UserController.java index 01020f9..020ba63 100644 --- a/src/main/java/com/bao/dating/controller/UserController.java +++ b/src/main/java/com/bao/dating/controller/UserController.java @@ -4,9 +4,7 @@ import com.bao.dating.anno.Log; import com.bao.dating.common.Result; import com.bao.dating.common.ResultCode; import com.bao.dating.context.UserContext; -import com.bao.dating.pojo.dto.UserInfoUpdateDTO; import com.bao.dating.pojo.dto.UserLoginDTO; -import com.bao.dating.pojo.dto.UserInfoDTO; import com.bao.dating.pojo.vo.UserInfoVO; import com.bao.dating.pojo.vo.UserLoginVO; import com.bao.dating.service.UserService; diff --git a/src/main/java/com/bao/dating/pojo/dto/UserInfoUpdateDTO.java b/src/main/java/com/bao/dating/pojo/dto/UserInfoUpdateDTO.java deleted file mode 100644 index 97dd6e9..0000000 --- a/src/main/java/com/bao/dating/pojo/dto/UserInfoUpdateDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.bao.dating.pojo.dto; - -import lombok.Data; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; - -/** - * 用户信息更新数据传输对象 - * @author KilLze - */ -@Data -public class UserInfoUpdateDTO { - private Long userId; - private String userName; - private String nickname; - private String avatarUrl; - private String backgroundUrl; - private Integer gender; - private LocalDate birthday; - private List hobbies; - private String signature; - private LocalDateTime updatedAt; -} diff --git a/src/main/java/com/bao/dating/service/UserService.java b/src/main/java/com/bao/dating/service/UserService.java index 8e29b05..c3120f9 100644 --- a/src/main/java/com/bao/dating/service/UserService.java +++ b/src/main/java/com/bao/dating/service/UserService.java @@ -1,9 +1,7 @@ package com.bao.dating.service; import com.bao.dating.pojo.dto.UserInfoDTO; -import com.bao.dating.pojo.dto.UserInfoUpdateDTO; import com.bao.dating.pojo.dto.UserLoginDTO; -import com.bao.dating.pojo.entity.User; import com.bao.dating.pojo.vo.UserInfoVO; import com.bao.dating.pojo.vo.UserLoginVO; import org.springframework.web.multipart.MultipartFile; diff --git a/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java b/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java index 5437ad3..f62c835 100644 --- a/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java +++ b/src/main/java/com/bao/dating/service/impl/UserServiceImpl.java @@ -1,18 +1,14 @@ package com.bao.dating.service.impl; -import com.bao.dating.common.Result; -import com.bao.dating.common.ResultCode; import com.bao.dating.common.aliyun.AliOssUtil; import com.bao.dating.common.aliyun.GreenImageScan; import com.bao.dating.common.aliyun.GreenTextScan; import com.bao.dating.common.aliyun.SmsUtil; import com.bao.dating.common.result.AliOssResult; import com.bao.dating.common.result.GreenAuditResult; -import com.bao.dating.config.RedisConfig; import com.bao.dating.context.UserContext; import com.bao.dating.mapper.UserMapper; import com.bao.dating.pojo.dto.UserInfoDTO; -import com.bao.dating.pojo.dto.UserInfoUpdateDTO; import com.bao.dating.pojo.dto.UserLoginDTO; import com.bao.dating.pojo.entity.User; import com.bao.dating.pojo.vo.UserInfoVO; @@ -28,6 +24,7 @@ import io.jsonwebtoken.Claims; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -245,12 +242,12 @@ public class UserServiceImpl implements UserService { /** * 更新用户信息 - * @param userInfoUpdateDTO + * @param userInfoDTO * @return */ @Override - public UserInfoVO updateUserInfo(UserInfoUpdateDTO userInfoUpdateDTO) { - Long userId = userInfoUpdateDTO.getUserId(); + public UserInfoVO updateUserInfo(UserInfoDTO userInfoDTO) { + Long userId = userInfoDTO.getUserId(); User user = userMapper.selectByUserId(userId); if (user == null) { throw new RuntimeException("用户不存在"); @@ -259,16 +256,16 @@ public class UserServiceImpl implements UserService { // 将需要审核的内容合并成一个文本,用于减少调用次数 StringBuilder textBuilder = new StringBuilder(); - if (userInfoUpdateDTO.getNickname() != null && !userInfoUpdateDTO.getNickname().isEmpty()) { - textBuilder.append(userInfoUpdateDTO.getNickname()).append(" "); + if (userInfoDTO.getNickname() != null && !userInfoDTO.getNickname().isEmpty()) { + textBuilder.append(userInfoDTO.getNickname()).append(" "); } - if (userInfoUpdateDTO.getHobbies() != null && !userInfoUpdateDTO.getHobbies().isEmpty()) { + if (userInfoDTO.getHobbies() != null && !userInfoDTO.getHobbies().isEmpty()) { // 将爱好列表转换为字符串,用空格分隔 - String hobbiesStr = String.join(" ", userInfoUpdateDTO.getHobbies()); + String hobbiesStr = String.join(" ", userInfoDTO.getHobbies()); textBuilder.append(hobbiesStr).append(" "); } - if (userInfoUpdateDTO.getSignature() != null && !userInfoUpdateDTO.getSignature().isEmpty()) { - textBuilder.append(userInfoUpdateDTO.getSignature()).append(" "); + if (userInfoDTO.getSignature() != null && !userInfoDTO.getSignature().isEmpty()) { + textBuilder.append(userInfoDTO.getSignature()).append(" "); } // 文本审核 if (textBuilder.length() > 0) { @@ -330,92 +327,6 @@ public class UserServiceImpl implements UserService { return userInfoVO; } - /** - * 更新用户信息 - * - * @param userInfoUpdateDTO 用户信息更新参数 - */ - @Override - public UserInfoVO updateUserInfo(UserInfoUpdateDTO userInfoUpdateDTO) { - Long userId = userInfoUpdateDTO.getUserId(); - User user = userMapper.selectByUserId(userId); - if (user == null) { - throw new RuntimeException("用户不存在"); - } - - // 将需要审核的内容合并成一个文本,用于减少调用次数 - StringBuilder textBuilder = new StringBuilder(); - - if (userInfoUpdateDTO.getNickname() != null && !userInfoUpdateDTO.getNickname().isEmpty()) { - textBuilder.append(userInfoUpdateDTO.getNickname()).append(" "); - } - if (userInfoUpdateDTO.getHobbies() != null && !userInfoUpdateDTO.getHobbies().isEmpty()) { - // 将爱好列表转换为字符串,用空格分隔 - String hobbiesStr = String.join(" ", userInfoUpdateDTO.getHobbies()); - textBuilder.append(hobbiesStr).append(" "); - } - if (userInfoUpdateDTO.getSignature() != null && !userInfoUpdateDTO.getSignature().isEmpty()) { - textBuilder.append(userInfoUpdateDTO.getSignature()).append(" "); - } - // 文本审核 - if (textBuilder.length() > 0) { - Map textResult; - try { - textResult = greenTextScan.greeTextScan(textBuilder.toString()); - } catch (Exception e) { - throw new RuntimeException("用户信息文本审核失败"); - } - - String suggestion = (String) textResult.get("suggestion"); - - if (GreenAuditResult.BLOCK.equals(suggestion)) { - throw new RuntimeException("用户信息包含违规内容,修改失败"); - } - if (GreenAuditResult.REVIEW.equals(suggestion)) { - throw new RuntimeException("用户信息需要人工审核,暂无法修改"); - } - } - - // 图片审核 - List imageKeys = new ArrayList<>(); - if (userInfoUpdateDTO.getAvatarUrl() != null && !userInfoUpdateDTO.getAvatarUrl().isEmpty()) { - imageKeys.add(userInfoUpdateDTO.getAvatarUrl()); - } - if (userInfoUpdateDTO.getBackgroundUrl() != null && !userInfoUpdateDTO.getBackgroundUrl().isEmpty()) { - imageKeys.add(userInfoUpdateDTO.getBackgroundUrl()); - } - if (!imageKeys.isEmpty()) { - Map imageResult; - try { - imageResult = greenImageScan.imageScan(imageKeys); - } catch (Exception e) { - throw new RuntimeException("用户图片审核失败"); - } - - String suggestion = (String) imageResult.get("suggestion"); - - if (GreenAuditResult.BLOCK.equals(suggestion)) { - throw new RuntimeException("头像或背景图不合规,修改失败"); - } - if (GreenAuditResult.REVIEW.equals(suggestion)) { - throw new RuntimeException("头像或背景图需要人工审核,暂无法修改"); - } - } - // 默认昵称兜底 - if (userInfoUpdateDTO.getNickname() == null || userInfoUpdateDTO.getNickname().trim().isEmpty()) { - userInfoUpdateDTO.setNickname(user.getUserName()); - } - userInfoUpdateDTO.setUpdatedAt(LocalDateTime.now()); - - // 更新数据库 - userMapper.updateUserInfoByUserId(userInfoUpdateDTO); - - // 封装返回结果 - User updatedUser = userMapper.selectByUserId(userInfoUpdateDTO.getUserId()); - UserInfoVO userInfoVO = new UserInfoVO(); - BeanUtils.copyProperties(updatedUser, userInfoVO); - return userInfoVO; - } /** * 用户注册 @@ -459,11 +370,13 @@ public class UserServiceImpl implements UserService { @Override public UserLoginVO emailLogin(String email, String code) { User user = userMapper.selectByUserEmailUser(email); - if (user == null) + if (user == null) { return null; + } boolean flag = verificationCodeService.verifyEmailCode(email, code); - if (!flag) + if (!flag) { return null; + } // 生成token String token = JwtUtil.generateToken(String.valueOf(user.getUserId())); UserLoginVO userLoginVO = new UserLoginVO();