package com.zy.asrs.wcs.system.service.impl; 
 | 
  
 | 
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 
 | 
import com.zy.asrs.framework.common.Cools; 
 | 
import com.zy.asrs.wcs.common.domain.BaseParam; 
 | 
import com.zy.asrs.wcs.common.domain.PageParam; 
 | 
import com.zy.asrs.wcs.common.domain.PageResult; 
 | 
import com.zy.asrs.wcs.system.entity.User; 
 | 
import com.zy.asrs.wcs.system.mapper.UserMapper; 
 | 
import com.zy.asrs.wcs.system.service.RoleMenuService; 
 | 
import com.zy.asrs.wcs.system.service.UserRoleService; 
 | 
import com.zy.asrs.wcs.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.pickOutMap(true)), pageParam.getTotal()); 
 | 
    } 
 | 
  
 | 
    @Override 
 | 
    public User getByUsername(String username, Long hostId) { 
 | 
        if (Cools.isEmpty(username)) { 
 | 
            return null; 
 | 
        } 
 | 
        User user = baseMapper.selectByUsername(username, hostId); 
 | 
        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); 
 | 
    } 
 | 
  
 | 
} 
 |