feat: 登入时获取菜单资源

dev
huangfeng 1 year ago
parent b24b11eeee
commit b9a976e715

@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@ -57,4 +58,7 @@ public class SysUser {
@ApiModelProperty(value="权限信息")
PermissionDetail permission;
@ApiModelProperty(value="菜单资源信息")
List<TbResource> resources;
}

@ -1,13 +1,11 @@
package com.shxy.xymanager_service.impl;
import com.shxy.xymanager_common.bean.PermissionDetail;
import com.shxy.xymanager_common.entity.TbPermission;
import com.shxy.xymanager_common.entity.TbPermissionExample;
import com.shxy.xymanager_common.entity.TbRoleResource;
import com.shxy.xymanager_common.entity.TbRoleResourceExample;
import com.shxy.xymanager_common.entity.*;
import com.shxy.xymanager_common.enums.PermissionDetailEnum;
import com.shxy.xymanager_dao.dao.TbPermissionMapper;
import com.shxy.xymanager_dao.dao.TbRoleResourceMapper;
import com.shxy.xymanager_service.service.ResourceService;
import com.shxy.xymanager_service.service.RolePermissionService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.CacheEvict;
@ -15,6 +13,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
@ -24,6 +23,8 @@ public class RolePermissionServiceImpl implements RolePermissionService {
@Resource
TbRoleResourceMapper mapper;
@Resource
ResourceService resourceService;
@Override
@ -50,4 +51,20 @@ public class RolePermissionServiceImpl implements RolePermissionService {
}
}
@Override
public List<TbResource> getPermitResource(Integer roleId) {
List<TbResource> result = new ArrayList<>();
List<TbResource> resourceList = resourceService.listAll();
List<TbRoleResource> list = this.getPermission(roleId);
for (TbRoleResource item : list) {
for (TbResource resource : resourceList) {
if (resource.getId().equals(item.getResourceId())) {
result.add(resource);
break;
}
}
}
return result;
}
}

@ -6,6 +6,7 @@ import com.shxy.xymanager_common.config.CustomRsaProperties;
import com.shxy.xymanager_common.constant.HttpStatusCode;
import com.shxy.xymanager_common.entity.SysUser;
import com.shxy.xymanager_common.dto.TerminalsAndStatusDto;
import com.shxy.xymanager_common.entity.TbResource;
import com.shxy.xymanager_common.enums.CommonStatus;
import com.shxy.xymanager_common.exception.ApiException;
import com.shxy.xymanager_common.exception.Asserts;
@ -15,6 +16,7 @@ import com.shxy.xymanager_common.util.StringUtils;
import com.shxy.xymanager_common.util.TokenUtil;
import com.shxy.xymanager_dao.dao.*;
import com.shxy.xymanager_service.service.PermissionService;
import com.shxy.xymanager_service.service.RolePermissionService;
import com.shxy.xymanager_service.service.SysUserService;
import com.shxy.xymanager_service.service.UserService;
import lombok.extern.slf4j.Slf4j;
@ -35,6 +37,8 @@ public class UserServiceImpl implements UserService {
@Resource
PermissionService permissionService;
@Resource
RolePermissionService rolePermissionService;
@Autowired
TerminalsDao terminalsDao;
@ -59,6 +63,12 @@ public class UserServiceImpl implements UserService {
}
String token = tokenUtil.generateToken(user.getUid());
user.setToken(token);
if (SUPER_ADMIN != user.getRole()) {
// 获取菜单资源
List<TbResource> resourceList = rolePermissionService.getPermitResource(user.getRole());
user.setResources(resourceList);
}
return user;
}

@ -1,5 +1,6 @@
package com.shxy.xymanager_service.service;
import com.shxy.xymanager_common.entity.TbResource;
import com.shxy.xymanager_common.entity.TbRoleResource;
import java.util.List;
@ -10,4 +11,5 @@ public interface RolePermissionService {
void changePermission(Integer roleId, List<TbRoleResource> list) throws Exception;
List<TbResource> getPermitResource(Integer roleId);
}

Loading…
Cancel
Save