feat: 登入时获取菜单资源

dev
huangfeng 1 year ago
parent b24b11eeee
commit b9a976e715

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

@ -1,13 +1,11 @@
package com.shxy.xymanager_service.impl; package com.shxy.xymanager_service.impl;
import com.shxy.xymanager_common.bean.PermissionDetail; import com.shxy.xymanager_common.bean.PermissionDetail;
import com.shxy.xymanager_common.entity.TbPermission; import com.shxy.xymanager_common.entity.*;
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.enums.PermissionDetailEnum; import com.shxy.xymanager_common.enums.PermissionDetailEnum;
import com.shxy.xymanager_dao.dao.TbPermissionMapper; import com.shxy.xymanager_dao.dao.TbPermissionMapper;
import com.shxy.xymanager_dao.dao.TbRoleResourceMapper; import com.shxy.xymanager_dao.dao.TbRoleResourceMapper;
import com.shxy.xymanager_service.service.ResourceService;
import com.shxy.xymanager_service.service.RolePermissionService; import com.shxy.xymanager_service.service.RolePermissionService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
@ -15,6 +13,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Service @Service
@ -24,6 +23,8 @@ public class RolePermissionServiceImpl implements RolePermissionService {
@Resource @Resource
TbRoleResourceMapper mapper; TbRoleResourceMapper mapper;
@Resource
ResourceService resourceService;
@Override @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.constant.HttpStatusCode;
import com.shxy.xymanager_common.entity.SysUser; import com.shxy.xymanager_common.entity.SysUser;
import com.shxy.xymanager_common.dto.TerminalsAndStatusDto; 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.enums.CommonStatus;
import com.shxy.xymanager_common.exception.ApiException; import com.shxy.xymanager_common.exception.ApiException;
import com.shxy.xymanager_common.exception.Asserts; 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_common.util.TokenUtil;
import com.shxy.xymanager_dao.dao.*; import com.shxy.xymanager_dao.dao.*;
import com.shxy.xymanager_service.service.PermissionService; 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.SysUserService;
import com.shxy.xymanager_service.service.UserService; import com.shxy.xymanager_service.service.UserService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -35,6 +37,8 @@ public class UserServiceImpl implements UserService {
@Resource @Resource
PermissionService permissionService; PermissionService permissionService;
@Resource
RolePermissionService rolePermissionService;
@Autowired @Autowired
TerminalsDao terminalsDao; TerminalsDao terminalsDao;
@ -59,6 +63,12 @@ public class UserServiceImpl implements UserService {
} }
String token = tokenUtil.generateToken(user.getUid()); String token = tokenUtil.generateToken(user.getUid());
user.setToken(token); user.setToken(token);
if (SUPER_ADMIN != user.getRole()) {
// 获取菜单资源
List<TbResource> resourceList = rolePermissionService.getPermitResource(user.getRole());
user.setResources(resourceList);
}
return user; return user;
} }

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

Loading…
Cancel
Save