From fa544a08a92afee0dfae7536785637110c7e2481 Mon Sep 17 00:00:00 2001 From: ziin Date: Thu, 4 Dec 2025 18:31:44 +0800 Subject: [PATCH] =?UTF-8?q?fix(character):=20=E9=98=B2=E6=AD=A2=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E9=87=8D=E5=A4=8D=E6=B7=BB=E5=8A=A0=E7=9B=B8=E5=90=8C?= =?UTF-8?q?=E9=94=AE=E7=9B=98=E4=BA=BA=E8=AE=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在添加人设前检查是否已存在,若存在则抛REPEATEDLY_ADDING_CHARACTER异常; 同时移除实体中冗余sort字段,并统一发送验证码DTO为SendMailDTO。 --- src/main/java/com/yolo/keyborad/common/ErrorCode.java | 3 ++- .../java/com/yolo/keyborad/controller/UserController.java | 5 +++-- .../yolo/keyborad/model/entity/KeyboardUserCharacter.java | 3 --- src/main/java/com/yolo/keyborad/service/UserService.java | 3 ++- .../service/impl/KeyboardCharacterServiceImpl.java | 7 ++++++- .../com/yolo/keyborad/service/impl/UserServiceImpl.java | 8 ++++---- 6 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/yolo/keyborad/common/ErrorCode.java b/src/main/java/com/yolo/keyborad/common/ErrorCode.java index ee64485..99b9878 100644 --- a/src/main/java/com/yolo/keyborad/common/ErrorCode.java +++ b/src/main/java/com/yolo/keyborad/common/ErrorCode.java @@ -35,7 +35,8 @@ public enum ErrorCode { CONFIRM_PASSWORD_NOT_MATCH(50005,"重复密码不匹配" ), USER_CHARACTER_ADD_ERROR(50006,"添加用户键盘字符失败" ), USER_CHARACTER_DEL_ERROR(50007, "删除用户人设失败"), - VERIFY_CODE_ERROR(50008, "验证码错误"); + VERIFY_CODE_ERROR(50008, "验证码错误"), + REPEATEDLY_ADDING_CHARACTER(50009, "重复添加键盘人设"); /** * 状态码 */ diff --git a/src/main/java/com/yolo/keyborad/controller/UserController.java b/src/main/java/com/yolo/keyborad/controller/UserController.java index 8dcce1b..b19e0df 100644 --- a/src/main/java/com/yolo/keyborad/controller/UserController.java +++ b/src/main/java/com/yolo/keyborad/controller/UserController.java @@ -6,6 +6,7 @@ import com.yolo.keyborad.common.BaseResponse; import com.yolo.keyborad.common.ResultUtils; import com.yolo.keyborad.model.dto.AppleLoginReq; import com.yolo.keyborad.model.dto.user.KeyboardUserReq; +import com.yolo.keyborad.model.dto.user.SendMailDTO; import com.yolo.keyborad.model.dto.user.UserLoginDTO; import com.yolo.keyborad.model.dto.user.UserRegisterDTO; import com.yolo.keyborad.model.entity.KeyboardUser; @@ -89,8 +90,8 @@ public class UserController { @PostMapping("/sendVerifyMail") @Operation(summary = "发送验证码",description = "发送验证码接口") - public BaseResponse sendVerifyMail(@RequestBody UserRegisterDTO userRegisterDTO) { - userService.sendVerifyMail(userRegisterDTO); + public BaseResponse sendVerifyMail(@RequestBody SendMailDTO mailDTO) { + userService.sendVerifyMail(mailDTO); return ResultUtils.success(true); } diff --git a/src/main/java/com/yolo/keyborad/model/entity/KeyboardUserCharacter.java b/src/main/java/com/yolo/keyborad/model/entity/KeyboardUserCharacter.java index 2e95728..1cdaa42 100644 --- a/src/main/java/com/yolo/keyborad/model/entity/KeyboardUserCharacter.java +++ b/src/main/java/com/yolo/keyborad/model/entity/KeyboardUserCharacter.java @@ -47,7 +47,4 @@ public class KeyboardUserCharacter { @Schema(description = "emoji") private String emoji; - @TableField(value = "sort") - @Schema(description = "展示顺序") - private List sort; } \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/service/UserService.java b/src/main/java/com/yolo/keyborad/service/UserService.java index aae391a..76ee13c 100644 --- a/src/main/java/com/yolo/keyborad/service/UserService.java +++ b/src/main/java/com/yolo/keyborad/service/UserService.java @@ -2,6 +2,7 @@ package com.yolo.keyborad.service; import com.baomidou.mybatisplus.extension.service.IService; import com.yolo.keyborad.model.dto.user.KeyboardUserReq; +import com.yolo.keyborad.model.dto.user.SendMailDTO; import com.yolo.keyborad.model.dto.user.UserLoginDTO; import com.yolo.keyborad.model.dto.user.UserRegisterDTO; import com.yolo.keyborad.model.entity.KeyboardUser; @@ -23,5 +24,5 @@ public interface UserService extends IService { Boolean userRegister(UserRegisterDTO userRegisterDTO); - void sendVerifyMail(UserRegisterDTO userRegisterDTO); + void sendVerifyMail(SendMailDTO userRegisterDTO); } diff --git a/src/main/java/com/yolo/keyborad/service/impl/KeyboardCharacterServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/KeyboardCharacterServiceImpl.java index ed6341d..e15a41c 100644 --- a/src/main/java/com/yolo/keyborad/service/impl/KeyboardCharacterServiceImpl.java +++ b/src/main/java/com/yolo/keyborad/service/impl/KeyboardCharacterServiceImpl.java @@ -104,7 +104,12 @@ public class KeyboardCharacterServiceImpl extends ServiceImpl() + .eq(KeyboardUserCharacter::getCharacterId, addDTO.getCharacterId()) + .eq(KeyboardUserCharacter::getDeleted, false)); + if (alreadyExistsCharacter != null){ + throw new BusinessException(ErrorCode.REPEATEDLY_ADDING_CHARACTER); + } int insert = keyboardUserCharacterMapper.insert(keyboardUserCharacter); if (insert != 1) { log.error("用户人设添加失败, userId={}"); diff --git a/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java index ca45e53..ec66cf5 100644 --- a/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java +++ b/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java @@ -11,6 +11,7 @@ import com.yolo.keyborad.common.ErrorCode; import com.yolo.keyborad.exception.BusinessException; import com.yolo.keyborad.mapper.KeyboardUserMapper; import com.yolo.keyborad.model.dto.user.KeyboardUserReq; +import com.yolo.keyborad.model.dto.user.SendMailDTO; import com.yolo.keyborad.model.dto.user.UserLoginDTO; import com.yolo.keyborad.model.dto.user.UserRegisterDTO; import com.yolo.keyborad.model.entity.KeyboardUser; @@ -73,7 +74,6 @@ public class UserServiceImpl extends ServiceImpl() .eq(KeyboardUser::getEmail, userLoginDTO.getMail()) - .eq(KeyboardUser::getPassword, userLoginDTO.getPassword()) .eq(KeyboardUser::getStatus, false)); if (keyboardUser == null) { throw new BusinessException(ErrorCode.USER_NOT_FOUND); @@ -126,9 +126,9 @@ public class UserServiceImpl extends ServiceImpl