|
|
@@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo;
|
|
|
import com.ytpm.general.RepMessage;
|
|
|
import com.ytpm.general.Result;
|
|
|
import com.ytpm.general.ResultTable;
|
|
|
+import com.ytpm.handle.CustomerException;
|
|
|
import com.ytpm.middle.dao.PermissionMapper;
|
|
|
import com.ytpm.middle.enums.PermissionTypeEnum;
|
|
|
import com.ytpm.middle.model.YtMiddlePermission;
|
|
|
@@ -12,11 +13,14 @@ import com.ytpm.middle.param.MiddlePermissionParam;
|
|
|
import com.ytpm.middle.service.PermissionService;
|
|
|
import com.ytpm.middle.view.DropDownVO;
|
|
|
import com.ytpm.middle.view.MiddlePermissionVO;
|
|
|
+import com.ytpm.middle.view.MiddleRoleVO;
|
|
|
+import com.ytpm.middle.view.MiddleUserInfo;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
@@ -114,6 +118,49 @@ public class PermissionServiceImpl implements PermissionService {
|
|
|
return ResultTable.resultTableOk(new PageInfo<>(permissionMapper.permissionDropList()));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据用户信息查询菜单
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResultTable<MiddlePermissionVO> getMenuByRole(MiddleUserInfo userInfo) {
|
|
|
+ List<MiddlePermissionVO> menuList;
|
|
|
+ if(1==userInfo.getSuperAdmin()){
|
|
|
+ menuList = permissionMapper.selectByType(PermissionTypeEnum.MENU.getCode());
|
|
|
+ }else{ //普通用户
|
|
|
+ List<MiddleRoleVO> roleList = userInfo.getRoleList();
|
|
|
+ if(CollUtil.isEmpty(roleList)){
|
|
|
+ return ResultTable.resultTableOk(new PageInfo<>(Collections.emptyList()));
|
|
|
+ }
|
|
|
+ List<Integer> roleIdList = roleList.stream()
|
|
|
+ .map(MiddleRoleVO::getRoleId).distinct().collect(Collectors.toList());
|
|
|
+ menuList = permissionMapper.getFirstMenuByRoleIds(roleIdList);
|
|
|
+ }
|
|
|
+ List<MiddlePermissionVO> firstMenu = menuList.stream().filter(
|
|
|
+ s -> Objects.isNull(s.getParentId())).collect(Collectors.toList());
|
|
|
+ //递归处理菜单设置子列表
|
|
|
+ for (MiddlePermissionVO menu : firstMenu) {
|
|
|
+ recursionChildPermission(menu,menuList);
|
|
|
+ }
|
|
|
+ return ResultTable.resultTableOk(new PageInfo<>(firstMenu));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据菜单获取权限列表
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ResultTable<MiddlePermissionVO> getPermissionByMenu(Integer permissionId, MiddleUserInfo userInfo) {
|
|
|
+ String roleIds = "";
|
|
|
+ if(1 !=userInfo.getSuperAdmin()){
|
|
|
+ List<MiddleRoleVO> roleList = userInfo.getRoleList();
|
|
|
+ if(CollUtil.isEmpty(roleList)){
|
|
|
+ return ResultTable.resultTableOk(new PageInfo<>(Collections.emptyList()));
|
|
|
+ }
|
|
|
+ roleIds = roleList.stream()
|
|
|
+ .map(s->String.valueOf(s.getRoleId())).collect(Collectors.joining(","));
|
|
|
+ }
|
|
|
+ return ResultTable.resultTableOk(new PageInfo<>(permissionMapper.getByParentId(permissionId,roleIds)));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 递归处理菜单设置子列表
|
|
|
*/
|