package com.rongyichuang;
|
|
import com.rongyichuang.user.entity.User;
|
import com.rongyichuang.user.repository.UserRepository;
|
import com.rongyichuang.employee.entity.Employee;
|
import com.rongyichuang.employee.repository.EmployeeRepository;
|
import com.rongyichuang.judge.entity.Judge;
|
import com.rongyichuang.judge.repository.JudgeRepository;
|
import org.junit.jupiter.api.Test;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
import org.springframework.test.context.ActiveProfiles;
|
|
import java.util.Optional;
|
|
@SpringBootTest
|
@ActiveProfiles("dev")
|
public class VerifyUserDataTest {
|
|
@Autowired
|
private UserRepository userRepository;
|
|
@Autowired
|
private EmployeeRepository employeeRepository;
|
|
@Autowired
|
private JudgeRepository judgeRepository;
|
|
@Autowired
|
private PasswordEncoder passwordEncoder;
|
|
@Test
|
public void verifyTestUsers() {
|
System.out.println("=== 验证测试用户数据 ===");
|
|
// 验证员工用户
|
verifyUser("13800000001", "员工");
|
|
// 验证评委用户
|
verifyUser("13800000002", "评委");
|
|
// 验证多角色用户
|
verifyUser("13800000003", "多角色");
|
}
|
|
private void verifyUser(String phone, String userType) {
|
System.out.println("\n--- 验证" + userType + "用户: " + phone + " ---");
|
|
// 查找用户
|
Optional<User> userOpt = userRepository.findByPhone(phone);
|
if (userOpt.isEmpty()) {
|
System.out.println("❌ 用户不存在");
|
return;
|
}
|
|
User user = userOpt.get();
|
System.out.println("✅ 用户存在: ID=" + user.getId() + ", 姓名=" + user.getName());
|
|
// 验证密码
|
if (user.getPassword() == null || user.getPassword().trim().isEmpty()) {
|
System.out.println("❌ 用户密码为空");
|
} else {
|
boolean passwordMatch = passwordEncoder.matches("123456", user.getPassword());
|
System.out.println(passwordMatch ? "✅ 密码验证成功" : "❌ 密码验证失败");
|
System.out.println("存储的密码哈希: " + user.getPassword().substring(0, 20) + "...");
|
}
|
|
// 查找关联的员工信息
|
Optional<Employee> employeeOpt = employeeRepository.findByUserId(user.getId());
|
if (employeeOpt.isPresent()) {
|
Employee employee = employeeOpt.get();
|
System.out.println("✅ 员工信息: ID=" + employee.getId() + ", 姓名=" + employee.getName() + ", 角色=" + employee.getRoleId());
|
} else {
|
System.out.println("❌ 无员工信息");
|
}
|
|
// 查找关联的评委信息
|
Optional<Judge> judgeOpt = judgeRepository.findByUserId(user.getId());
|
if (judgeOpt.isPresent()) {
|
Judge judge = judgeOpt.get();
|
System.out.println("✅ 评委信息: ID=" + judge.getId() + ", 姓名=" + judge.getName() + ", 职位=" + judge.getTitle());
|
} else {
|
System.out.println("❌ 无评委信息");
|
}
|
|
// 检查权限
|
if (employeeOpt.isEmpty() && judgeOpt.isEmpty()) {
|
System.out.println("❌ 用户没有权限(既不是员工也不是评委)");
|
} else {
|
System.out.println("✅ 用户有权限");
|
}
|
}
|
}
|