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);
|
}
|
|
}
|