You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
git/src/main/java/com/badminton/service/UserService.java

48 lines
1.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.badminton.service;
import com.badminton.entity.User;
import java.util.HashMap;
import java.util.Map;
/**
* 用户服务类
* 实现用户登录功能
* 对应需求FR-01 用户注册与登录
*/
public class UserService {
private Map<String, User> userDatabase = new HashMap<>();
public UserService() {
// 初始化测试用户
userDatabase.put("admin", new User("U001", "admin", "123456", "系统管理员", "13800138000", "admin"));
userDatabase.put("referee1", new User("U002", "referee1", "123456", "张裁判", "13800138001", "referee"));
userDatabase.put("player1", new User("U003", "player1", "123456", "李选手", "13800138002", "player"));
}
public User login(String username, String password) {
if (!userDatabase.containsKey(username)) {
System.out.println("登录失败:用户名不存在");
return null;
}
User user = userDatabase.get(username);
if (!user.getPassword().equals(password)) {
System.out.println("登录失败:密码错误");
return null;
}
System.out.println("登录成功!欢迎您," + user.getRealName() + "(" + user.getRole() + ")");
return user;
}
public static void main(String[] args) {
UserService userService = new UserService();
// 测试用例
userService.login("admin", "123456");
userService.login("player1", "123456");
userService.login("admin", "wrongpassword");
}
}