UserDetailsServiceImpl.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package space.anyi.BI.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import org.springframework.security.core.userdetails.UserDetails;
  4. import org.springframework.security.core.userdetails.UserDetailsService;
  5. import org.springframework.security.core.userdetails.UsernameNotFoundException;
  6. import org.springframework.stereotype.Service;
  7. import space.anyi.BI.entity.LoginUserDetails;
  8. import space.anyi.BI.entity.ResponseResult;
  9. import space.anyi.BI.entity.User;
  10. import space.anyi.BI.exception.SystemException;
  11. import space.anyi.BI.mapper.UserMapper;
  12. import javax.annotation.Resource;
  13. import java.util.Objects;
  14. /**
  15. * @ProjectName: BI
  16. * @FileName: UserDetailsServiceImpl
  17. * @Author: 杨逸
  18. * @Data:2024/11/28 20:20
  19. * @Description:
  20. */
  21. @Service
  22. public class UserDetailsServiceImpl implements UserDetailsService {
  23. @Resource
  24. private UserMapper userMapper;
  25. @Override
  26. public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
  27. LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
  28. queryWrapper
  29. .eq(User::getUserAccount, s);
  30. //.eq(User::getUserState, SystemConstants.USER_STATUS_NORMAL);
  31. User user = userMapper.selectOne(queryWrapper);
  32. if (Objects.isNull(user)) {
  33. throw new SystemException(ResponseResult.AppHttpCodeEnum.LOGIN_ERROR);
  34. }
  35. LoginUserDetails loginUserDetails = new LoginUserDetails(user);
  36. return loginUserDetails;
  37. }
  38. }