| package com.zy.asrs.wms.system.service.impl;  | 
|   | 
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;  | 
| import com.zy.asrs.framework.common.Cools;  | 
| import com.zy.asrs.wms.common.domain.BaseParam;  | 
| import com.zy.asrs.wms.common.domain.PageParam;  | 
| import com.zy.asrs.wms.common.domain.PageResult;  | 
| import com.zy.asrs.wms.system.entity.User;  | 
| import com.zy.asrs.wms.system.mapper.UserMapper;  | 
| import com.zy.asrs.wms.system.service.RoleMenuService;  | 
| import com.zy.asrs.wms.system.service.UserRoleService;  | 
| import com.zy.asrs.wms.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);  | 
|     }  | 
|   | 
|     @Override  | 
|     public User superGetById(Long id) {  | 
|         return this.baseMapper.superGetById(id);  | 
|     }  | 
|   | 
|     @Override  | 
|     public int removeByHostId(Long hostId) {  | 
|         return this.baseMapper.removeByHostId(hostId);  | 
|     }  | 
| }  |