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