diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/common/advice/GlobalExceptionHandler.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/common/advice/GlobalExceptionHandler.java index d8e99fa..dbe315e 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/common/advice/GlobalExceptionHandler.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/common/advice/GlobalExceptionHandler.java @@ -1,7 +1,7 @@ package com.test.bijihoudaun.common.advice; import com.test.bijihoudaun.common.exception.BaseException; - +import com.test.bijihoudaun.common.exception.RegistrationException; import com.test.bijihoudaun.common.response.R; import com.test.bijihoudaun.common.response.ResultCode; import jakarta.servlet.http.HttpServletRequest; @@ -33,6 +33,15 @@ public class GlobalExceptionHandler { return R.fail(e.getResultCode().getCode(), e.getMessage()); } + /** + * 处理注册异常 + */ + @ExceptionHandler(RegistrationException.class) + public R handleRegistrationException(RegistrationException e) { + log.warn("Registration attempt failed: {}", e.getMessage()); + return R.fail(e.getMessage()); + } + /** * 处理文件大小超出限制异常 */ diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/common/exception/RegistrationException.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/common/exception/RegistrationException.java new file mode 100644 index 0000000..305c318 --- /dev/null +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/common/exception/RegistrationException.java @@ -0,0 +1,7 @@ +package com.test.bijihoudaun.common.exception; + +public class RegistrationException extends RuntimeException { + public RegistrationException(String message) { + super(message); + } +} \ No newline at end of file diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/entity/RegistrationCode.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/entity/RegistrationCode.java index 2fd66c1..5fda906 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/entity/RegistrationCode.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/entity/RegistrationCode.java @@ -7,7 +7,6 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; -import java.time.LocalDateTime; @Data @TableName("registration_codes") @@ -24,11 +23,51 @@ public class RegistrationCode implements Serializable { private String code; @Schema(description = "过期时间", name = "expiryTime") - private LocalDateTime expiryTime; + private String expiryTime; @Schema(description = "创建者", name = "createdBy") private String createdBy; @Schema(description = "创建时间", name = "createdAt") - private LocalDateTime createdAt; + private String createdAt; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getExpiryTime() { + return expiryTime; + } + + public void setExpiryTime(String expiryTime) { + this.expiryTime = expiryTime; + } + + public String getCreatedBy() { + return createdBy; + } + + public void setCreatedBy(String createdBy) { + this.createdBy = createdBy; + } + + public String getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(String createdAt) { + this.createdAt = createdAt; + } } \ No newline at end of file diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/RegistrationCodeServiceImpl.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/RegistrationCodeServiceImpl.java index a81b142..0a0c7b9 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/RegistrationCodeServiceImpl.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/RegistrationCodeServiceImpl.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.UUID; @Service @@ -21,7 +22,8 @@ public class RegistrationCodeServiceImpl extends ServiceImpl().lt("expiry_time", LocalDateTime.now())); + remove(new QueryWrapper().lt("expiry_time", LocalDateTime.now().toString())); } } \ No newline at end of file diff --git a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/UserServiceImpl.java b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/UserServiceImpl.java index 3aa3991..08114ec 100644 --- a/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/UserServiceImpl.java +++ b/biji-houdaun/src/main/java/com/test/bijihoudaun/service/impl/UserServiceImpl.java @@ -3,6 +3,7 @@ package com.test.bijihoudaun.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.test.bijihoudaun.common.exception.RegistrationException; import com.test.bijihoudaun.entity.User; import com.test.bijihoudaun.mapper.UserMapper; import com.test.bijihoudaun.service.UserService; @@ -40,18 +41,18 @@ public class UserServiceImpl extends ServiceImpl implements Us LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(User::getUsername, username); if (this.count(queryWrapper) > 0) { - return null; + throw new RegistrationException("用户名已存在"); } queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(User::getEmail, email); if (this.count(queryWrapper) > 0) { - return null; + throw new RegistrationException("电子邮箱已被注册"); } User user = new User(); user.setUsername(username); user.setPassword(encrypt); user.setEmail(email); - user.setCreatedAt(new Date()); + // user.setCreatedAt(new Date()); // Let the database handle the default value userMapper.insert(user); return user; } diff --git a/mydatabase.db b/mydatabase.db index 10d7cb1..dbd2657 100644 Binary files a/mydatabase.db and b/mydatabase.db differ