diff --git a/src/main/java/com/example/springdemo/controller/UsersController.java b/src/main/java/com/example/springdemo/controller/UsersController.java index e4cad63..b1318f4 100644 --- a/src/main/java/com/example/springdemo/controller/UsersController.java +++ b/src/main/java/com/example/springdemo/controller/UsersController.java @@ -22,10 +22,9 @@ public class UsersController { //添加新用户 @PreAuthorize("hasRole('管理员') or hasAuthority('添加用户')") @PostMapping("/add") - public Users addUsers(@RequestBody @NotNull wrapperUserAndPassword wrapperUserAndPassword) { - return usersService.addUser( - wrapperUserAndPassword.user, - wrapperUserAndPassword.userPassword); + public Users addUsers(@RequestBody @NotNull Users user, + @RequestParam(name = "password") @NotNull String password) { + return usersService.addUser(user, password); } @Data diff --git a/src/main/java/com/example/springdemo/dao/UsersPasswordRepository.java b/src/main/java/com/example/springdemo/dao/UsersPasswordRepository.java index 687258e..0e9a6d2 100644 --- a/src/main/java/com/example/springdemo/dao/UsersPasswordRepository.java +++ b/src/main/java/com/example/springdemo/dao/UsersPasswordRepository.java @@ -10,15 +10,15 @@ public interface UsersPasswordRepository extends JpaRepository { //修改密码 - @Query("update UsersPassword UsersPwd set UsersPwd.password = ?1 where UsersPwd.users.id = ?2") + @Query("update UsersPassword UsersPwd set UsersPwd.password = ?1 where UsersPwd.user.id = ?2") int updatePassword(String password, Long userID); //删除账户时删除密码 - void deleteByUsersId(Long userID); + void deleteByUserId(Long userID); //根据用户ID查找密码 - UsersPassword findByUsersId(Long userID); + UsersPassword findByUserId(Long userID); //根据用户名查找密码 - UsersPassword findByUsersName(String userName); + UsersPassword findByUserName(String userName); } diff --git a/src/main/java/com/example/springdemo/entities/password/UsersPassword.java b/src/main/java/com/example/springdemo/entities/password/UsersPassword.java index a747a1a..f23fd8f 100644 --- a/src/main/java/com/example/springdemo/entities/password/UsersPassword.java +++ b/src/main/java/com/example/springdemo/entities/password/UsersPassword.java @@ -18,7 +18,12 @@ public class UsersPassword { @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "usersId", referencedColumnName = "id") - private Users users; + private Users user; private String password; + + public UsersPassword(Users user, String password) { + this.user = user; + this.password = password; + } } diff --git a/src/main/java/com/example/springdemo/service/UsersService.java b/src/main/java/com/example/springdemo/service/UsersService.java index f4fd56e..238d401 100644 --- a/src/main/java/com/example/springdemo/service/UsersService.java +++ b/src/main/java/com/example/springdemo/service/UsersService.java @@ -9,7 +9,7 @@ import java.util.Optional; public interface UsersService extends UserDetailsService { - Users addUser(Users user, UsersPassword userPassword); + Users addUser(Users user, String password); void deleteUserById(Long userId); diff --git a/src/main/java/com/example/springdemo/serviceImpl/UsersServiceImpl.java b/src/main/java/com/example/springdemo/serviceImpl/UsersServiceImpl.java index c36dfb1..3e80bce 100644 --- a/src/main/java/com/example/springdemo/serviceImpl/UsersServiceImpl.java +++ b/src/main/java/com/example/springdemo/serviceImpl/UsersServiceImpl.java @@ -15,7 +15,6 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,7 +24,6 @@ import java.util.List; import java.util.Optional; @Service -@Component public class UsersServiceImpl implements UsersService { @Resource private UsersRepository usersRepository; @@ -39,8 +37,9 @@ public class UsersServiceImpl implements UsersService { @Override @Transactional(rollbackFor = Exception.class) //添加用户时同步添加密码 - public Users addUser(Users user, UsersPassword userPassword) { + public Users addUser(Users user, String password) { Users u = usersRepository.save(user); + UsersPassword userPassword = new UsersPassword(u, password); usersPasswordRepository.save(userPassword); return u; } @@ -49,8 +48,8 @@ public class UsersServiceImpl implements UsersService { @Transactional(rollbackFor = Exception.class) //删除用户时同步删除密码 public void deleteUserById(Long userId) { + usersPasswordRepository.deleteByUserId(userId); usersRepository.deleteById(userId); - usersPasswordRepository.deleteByUsersId(userId); } @Override @@ -64,7 +63,7 @@ public class UsersServiceImpl implements UsersService { //获取用户ID userId = usersRepository.findByName(name).get().getId(); //删除密码 - usersPasswordRepository.deleteByUsersId(userId); + usersPasswordRepository.deleteByUserId(userId); } } @@ -109,7 +108,7 @@ public class UsersServiceImpl implements UsersService { throw new UsernameNotFoundException("用户名不存在"); } // 取出密码 - String password = usersPasswordRepository.findByUsersId(user.getId()).getPassword(); + String password = usersPasswordRepository.findByUserId(user.getId()).getPassword(); // 用户角色 Roles role = user.getRoles();