package space.anyi.BI.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; import space.anyi.BI.entity.LoginUserDetails; import space.anyi.BI.entity.ResponseResult; import space.anyi.BI.entity.User; import space.anyi.BI.exception.SystemException; import space.anyi.BI.mapper.UserMapper; import javax.annotation.Resource; import java.util.Objects; /** * @ProjectName: BI * @FileName: UserDetailsServiceImpl * @Author: 杨逸 * @Data:2024/11/28 20:20 * @Description: */ @Service public class UserDetailsServiceImpl implements UserDetailsService { @Resource private UserMapper userMapper; @Override public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper .eq(User::getUserAccount, s); //.eq(User::getUserState, SystemConstants.USER_STATUS_NORMAL); User user = userMapper.selectOne(queryWrapper); if (Objects.isNull(user)) { throw new SystemException(ResponseResult.AppHttpCodeEnum.LOGIN_ERROR); } LoginUserDetails loginUserDetails = new LoginUserDetails(user); return loginUserDetails; } }