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 implements UserService { @Resource private UserRoleService userRoleService; @Resource private RoleMenuService roleMenuService; @Resource private BCryptPasswordEncoder bCryptPasswordEncoder; @Override public PageResult pageRel(PageParam 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; } User user = baseMapper.selectByUsername(username, tenantId); if (user != null) { user.setRoles(userRoleService.listByUserId(user.getId())); user.setAuthorities(roleMenuService.listMenuByUserId(user.getId(), null)); } return user; } @Override public User getByIdRel(Long userId) { User user = this.getById(userId); 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); } }