|
@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.epmet.commons.tools.enums.SuperAdminEnum; |
|
|
import com.epmet.commons.tools.enums.SuperAdminEnum; |
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
|
|
import com.epmet.commons.tools.security.dto.TokenDto; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
import com.epmet.commons.tools.utils.HttpContextUtils; |
|
|
import com.epmet.commons.tools.utils.HttpContextUtils; |
|
@ -110,16 +111,16 @@ public class OperMenuServiceImpl extends BaseServiceImpl<OperMenuDao, OperMenuEn |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public List<OperMenuDTO> getUserMenuList(UserInfoDto userInfo, Integer type) { |
|
|
public List<OperMenuDTO> getUserMenuList(TokenDto tokenDto, Integer type) { |
|
|
List<OperMenuEntity> menuList; |
|
|
List<OperMenuEntity> menuList; |
|
|
|
|
|
|
|
|
Result<OperUserDTO> operUserDTOResult = epmetUserFeignClient.info(userInfo.getUserId()); |
|
|
Result<OperUserDTO> operUserDTOResult = epmetUserFeignClient.info(tokenDto.getUserId()); |
|
|
|
|
|
|
|
|
//系统管理员,拥有最高权限
|
|
|
//系统管理员,拥有最高权限
|
|
|
if(operUserDTOResult.getData().getSuperAdmin() == SuperAdminEnum.YES.value()){ |
|
|
if(operUserDTOResult.getData().getSuperAdmin() == SuperAdminEnum.YES.value()){ |
|
|
menuList = baseDao.getMenuList(type, HttpContextUtils.getLanguage()); |
|
|
menuList = baseDao.getMenuList(type, HttpContextUtils.getLanguage()); |
|
|
}else { |
|
|
}else { |
|
|
menuList = baseDao.getUserMenuList(userInfo.getUserId(), type, HttpContextUtils.getLanguage()); |
|
|
menuList = baseDao.getUserMenuList(tokenDto.getUserId(), type, HttpContextUtils.getLanguage()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
List<OperMenuDTO> dtoList = ConvertUtils.sourceToTarget(menuList, OperMenuDTO.class); |
|
|
List<OperMenuDTO> dtoList = ConvertUtils.sourceToTarget(menuList, OperMenuDTO.class); |
|
@ -128,33 +129,33 @@ public class OperMenuServiceImpl extends BaseServiceImpl<OperMenuDao, OperMenuEn |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public List<OperMenuDTO> getUserMenuNavList(UserInfoDto userInfo) { |
|
|
public List<OperMenuDTO> getUserMenuNavList(TokenDto tokenDto) { |
|
|
List<OperMenuDTO> menuList = operMenuRedis.getUserMenuNavList(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient()); |
|
|
List<OperMenuDTO> menuList = operMenuRedis.getUserMenuNavList(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient()); |
|
|
if(menuList == null){ |
|
|
if(menuList == null){ |
|
|
menuList = getUserMenuList(userInfo, MenuTypeEnum.MENU.value()); |
|
|
menuList = getUserMenuList(tokenDto, MenuTypeEnum.MENU.value()); |
|
|
|
|
|
|
|
|
operMenuRedis.setUserMenuNavList(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient(), menuList); |
|
|
operMenuRedis.setUserMenuNavList(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient(), menuList); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return menuList; |
|
|
return menuList; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public Set<String> getUserPermissions(UserInfoDto userInfo) { |
|
|
public Set<String> getUserPermissions(TokenDto tokenDto) { |
|
|
//用户权限列表
|
|
|
//用户权限列表
|
|
|
Set<String> permsSet = operMenuRedis.getUserPermissions(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient()); |
|
|
Set<String> permsSet = operMenuRedis.getUserPermissions(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient()); |
|
|
if(permsSet != null){ |
|
|
if(permsSet != null){ |
|
|
return permsSet; |
|
|
return permsSet; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Result<OperUserDTO> operUserDTOResult = epmetUserFeignClient.info(userInfo.getUserId()); |
|
|
Result<OperUserDTO> operUserDTOResult = epmetUserFeignClient.info(tokenDto.getUserId()); |
|
|
|
|
|
|
|
|
//超级管理员,拥有最高权限
|
|
|
//超级管理员,拥有最高权限
|
|
|
List<OperMenuEntity> menuList; |
|
|
List<OperMenuEntity> menuList; |
|
|
if(operUserDTOResult.getData().getSuperAdmin() == SuperAdminEnum.YES.value()){ |
|
|
if(operUserDTOResult.getData().getSuperAdmin() == SuperAdminEnum.YES.value()){ |
|
|
menuList = baseDao.getMenuList(MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage()); |
|
|
menuList = baseDao.getMenuList(MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage()); |
|
|
}else{ |
|
|
}else{ |
|
|
menuList = baseDao.getUserMenuList(userInfo.getUserId(), MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage()); |
|
|
menuList = baseDao.getUserMenuList(tokenDto.getUserId(), MenuTypeEnum.BUTTON.value(), HttpContextUtils.getLanguage()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
permsSet = new HashSet<>(); |
|
|
permsSet = new HashSet<>(); |
|
@ -165,7 +166,7 @@ public class OperMenuServiceImpl extends BaseServiceImpl<OperMenuDao, OperMenuEn |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//保存到缓存
|
|
|
//保存到缓存
|
|
|
operMenuRedis.setUserPermissions(userInfo.getUserId(), userInfo.getApp(), userInfo.getClient(), permsSet); |
|
|
operMenuRedis.setUserPermissions(tokenDto.getUserId(), tokenDto.getApp(), tokenDto.getClient(), permsSet); |
|
|
|
|
|
|
|
|
return permsSet; |
|
|
return permsSet; |
|
|
} |
|
|
} |
|
|