Initial commit
This commit is contained in:
40
backend/src/main/java/com/smartoffice/config/DataSeeder.java
Normal file
40
backend/src/main/java/com/smartoffice/config/DataSeeder.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package com.smartoffice.config;
|
||||
|
||||
import com.smartoffice.user.Role;
|
||||
import com.smartoffice.user.User;
|
||||
import com.smartoffice.user.UserRepository;
|
||||
import com.smartoffice.user.UserStatus;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class DataSeeder implements CommandLineRunner {
|
||||
private final UserRepository userRepository;
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
|
||||
public DataSeeder(UserRepository userRepository, PasswordEncoder passwordEncoder) {
|
||||
this.userRepository = userRepository;
|
||||
this.passwordEncoder = passwordEncoder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(String... args) {
|
||||
if (userRepository.count() > 0) {
|
||||
return;
|
||||
}
|
||||
userRepository.save(createUser("admin", "管理员", Role.ADMIN));
|
||||
userRepository.save(createUser("manager", "部门经理", Role.MANAGER));
|
||||
userRepository.save(createUser("employee", "普通员工", Role.EMPLOYEE));
|
||||
}
|
||||
|
||||
private User createUser(String username, String fullName, Role role) {
|
||||
User user = new User();
|
||||
user.setUsername(username);
|
||||
user.setPasswordHash(passwordEncoder.encode(username + "123"));
|
||||
user.setFullName(fullName);
|
||||
user.setRole(role);
|
||||
user.setStatus(UserStatus.ACTIVE);
|
||||
return user;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user