处理注册异常

pull/3/head
smallbailangui 7 months ago
parent e5b6d31ff1
commit 875705f067

@ -1,6 +1,7 @@
package com.mathgenerator.service;
import com.google.gson.Gson;
import java.util.Objects;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.mathgenerator.model.User;
@ -81,10 +82,22 @@ public class UserService {
* @return true, false
*/
public boolean register(String username, String email, String password) {
if (userDatabase.containsKey(username) ||
userDatabase.values().stream().anyMatch(u -> u.email().equals(email))) {
// 1. 基础校验:防止 null 或空白输入
if (username == null || email == null || password == null ||
username.trim().isEmpty() || email.trim().isEmpty() || password.trim().isEmpty()) {
return false;
}
// 2. 检查用户名或邮箱是否已存在(使用 Objects.equals 安全比较)
boolean usernameExists = userDatabase.containsKey(username);
boolean emailExists = userDatabase.values().stream()
.anyMatch(u -> Objects.equals(u.email(), email));
if (usernameExists || emailExists) {
return false; // 用户名或邮箱已存在
}
// 3. 创建新用户并保存
User newUser = new User(username, email, password);
userDatabase.put(username, newUser);
saveUsers();

Loading…
Cancel
Save