package cn.besteam.modules.system.service.impl;
|
|
import cn.besteam.modules.system.entity.SysPermission;
|
import cn.besteam.modules.system.entity.SysRolePermission;
|
import cn.besteam.modules.system.entity.SysUserRole;
|
import cn.besteam.modules.system.mapper.SysUserRoleMapper;
|
import cn.besteam.modules.system.service.ISysPermissionService;
|
import cn.besteam.modules.system.service.ISysRolePermissionService;
|
import cn.besteam.modules.system.service.ISysUserRoleService;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @Description: 用户-角色
|
* @author: besteam
|
* @date: 2020-04-17
|
* @version: V1.0
|
*/
|
@Service
|
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements ISysUserRoleService {
|
|
@Autowired
|
private ISysPermissionService sysPermissionService;
|
|
@Autowired
|
private ISysRolePermissionService sysRolePermissionService;
|
|
@Override
|
public List<Integer> getRoleTypeList(Integer userId) {
|
|
List<Integer> roleTypeList = new ArrayList<>();
|
SysUserRole sysUserRole = getOne(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, userId));
|
if (sysUserRole == null) {
|
return roleTypeList;
|
}
|
SysPermission managePermission = sysPermissionService.getOne(new QueryWrapper<SysPermission>().lambda().eq(SysPermission::getPerms, "role:operate:list"));
|
SysPermission userPermission = sysPermissionService.getOne(new QueryWrapper<SysPermission>().lambda().eq(SysPermission::getPerms, "role:user:list"));
|
SysRolePermission manageRolePermission = sysRolePermissionService.getOne(new QueryWrapper<SysRolePermission>().lambda().eq(SysRolePermission::getRoleId, sysUserRole.getRoleId()).eq(SysRolePermission::getPermissionId, managePermission.getId()));
|
if (manageRolePermission != null) {
|
roleTypeList.add(1);
|
}
|
SysRolePermission userRolePermission = sysRolePermissionService.getOne(new QueryWrapper<SysRolePermission>().lambda().eq(SysRolePermission::getRoleId, sysUserRole.getRoleId()).eq(SysRolePermission::getPermissionId, userPermission.getId()));
|
if (userRolePermission != null) {
|
roleTypeList.add(2);
|
}
|
return roleTypeList;
|
}
|
|
@Override
|
public boolean hasPermission(Integer userId, String perms) {
|
|
SysUserRole sysUserRole = getOne(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, userId));
|
if (sysUserRole == null) {
|
return false;
|
}
|
SysPermission permission = sysPermissionService.getOne(new QueryWrapper<SysPermission>().lambda().eq(SysPermission::getPerms, perms));
|
if (permission == null) {
|
return false;
|
}
|
SysRolePermission rolePermission = sysRolePermissionService.getOne(new QueryWrapper<SysRolePermission>().lambda().eq(SysRolePermission::getRoleId, sysUserRole.getRoleId()).eq(SysRolePermission::getPermissionId, permission.getId()));
|
if (rolePermission == null) {
|
return false;
|
}
|
return true;
|
}
|
|
@Override
|
public List<SysUserRole> getSysRoleListByUserId(Integer userId) {
|
return baseMapper.getSysRoleListByUserId(userId);
|
}
|
|
@Override
|
public String getUserIdList(String roleId,Integer hospitalId) {
|
return baseMapper.getUserIdList(roleId,hospitalId);
|
}
|
|
@Override
|
public String getUserPhoneList(String roleId,Integer hospitalId) {
|
return baseMapper.getUserPhoneList(roleId,hospitalId);
|
}
|
}
|