| package com.vincent.rsf.server.system.service.impl; | 
|   | 
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
| import com.vincent.rsf.framework.common.Cools; | 
| import com.vincent.rsf.server.common.domain.BaseParam; | 
| import com.vincent.rsf.server.common.domain.PageParam; | 
| import com.vincent.rsf.server.common.domain.PageResult; | 
| import com.vincent.rsf.server.system.entity.User; | 
| import com.vincent.rsf.server.system.mapper.UserMapper; | 
| import com.vincent.rsf.server.system.service.RoleMenuService; | 
| import com.vincent.rsf.server.system.service.UserRoleService; | 
| import com.vincent.rsf.server.system.service.UserService; | 
| import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | 
| import org.springframework.stereotype.Service; | 
|   | 
| import javax.annotation.Resource; | 
|   | 
| @Service("userService") | 
| public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { | 
|   | 
|     @Resource | 
|     private UserRoleService userRoleService; | 
|     @Resource | 
|     private RoleMenuService roleMenuService; | 
|     @Resource | 
|     private BCryptPasswordEncoder bCryptPasswordEncoder; | 
|   | 
|     @Override | 
|     public PageResult<User> pageRel(PageParam<User, BaseParam> pageParam) { | 
|         return new PageResult<>(this.baseMapper.selectPageRel(pageParam, pageParam.checkoutMap()), pageParam.getTotal()); | 
|     } | 
|   | 
|     @Override | 
|     public User getByUsername(String username, Long tenantId) { | 
|         if (Cools.isEmpty(username)) { | 
|             return null; | 
|         } | 
|         return baseMapper.selectByUsernameWithoutTenant(username, tenantId); | 
|     } | 
|   | 
|     @Override | 
|     public User getByEmail(String email, Long tenantId) { | 
|         if (Cools.isEmpty(email)) { | 
|             return null; | 
|         } | 
|         return baseMapper.selectByEmailWithoutTenant(email, tenantId); | 
|     } | 
|   | 
|     @Override | 
|     public User setUserAuthInfo(User user) { | 
|         if (user != null) { | 
|             user.setRoles(userRoleService.listByUserId(user.getId())); | 
|             user.setAuthorities(roleMenuService.listMenuByUserId(user.getId(), null)); | 
|         } | 
|         return user; | 
|     } | 
|   | 
|     @Override | 
|     public boolean comparePassword(String dbPassword, String inputPassword) { | 
|         return bCryptPasswordEncoder.matches(inputPassword, dbPassword); | 
|     } | 
|   | 
|     @Override | 
|     public String encodePassword(String password) { | 
|         return password == null ? null : bCryptPasswordEncoder.encode(password); | 
|     } | 
|   | 
|     @Override | 
|     public User selectByUsernameWithoutTenant(String username, Long tenantId) { | 
|         return baseMapper.selectByUsernameWithoutTenant(username,tenantId); | 
|     } | 
|   | 
| } |