2022/3/21 实现了getRolesResourceList方法

master
GPU is all you need 4 years ago
parent 7a93069c2f
commit 1e2dc59b06
  1. 94
      awardBE/src/main/java/edu/ncst/award/model/system/Resource.java
  2. 7
      awardBE/src/main/java/edu/ncst/award/service/IProjectService.java
  3. 4
      awardBE/src/main/java/edu/ncst/award/service/IResourceService.java
  4. 21
      awardBE/src/main/java/edu/ncst/award/service/impl/system/ResourceServiceImpl.java
  5. 3
      awardBE/src/main/java/edu/ncst/award/service/impl/system/SystemService.java

@ -4,55 +4,91 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Getter;
import lombok.EqualsAndHashCode; import lombok.Setter;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List; /**
* <p>
@ApiModel(value="Resource", description="资源") *
@Data * </p>
@EqualsAndHashCode(callSuper = false) *
* @author <a href="https://www.fengwenyi.com?code">Erwin Feng</a>
* @since 2022-03-16
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("sys_resource") @TableName("sys_resource")
@ApiModel(value = "SysResourceEntity对象")
public class Resource implements Serializable { public class Resource implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "资源ID") @ApiModelProperty("资源ID")
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@ApiModelProperty(value = "显示文本") @ApiModelProperty("资源名称")
private String label; @TableField("name")
@ApiModelProperty(value = "资源名称(方法签名)")
private String name; private String name;
@ApiModelProperty(value = "请求方法类型") @ApiModelProperty("显示文本")
@TableField("label")
private String label;
@ApiModelProperty("请求方法")
@TableField("method")
private String method; private String method;
@ApiModelProperty(value = "链接") @ApiModelProperty("允许所有访问")
private String url; @TableField("permit_all")
private Boolean permitAll;
@ApiModelProperty(value = "允许所有访问", notes = "不需要用户登录") @ApiModelProperty("路径")
private Boolean permitAll = false; @TableField("url")
private String url;
@ApiModelProperty(value = "用户作用域") @ApiModelProperty("排序")
private Boolean userScope = false; @TableField("sort")
private Integer sort;
@ApiModelProperty(value = "上级菜单ID") @ApiModelProperty("上级资源ID")
@TableField("parent_id")
private Integer parentId; private Integer parentId;
@ApiModelProperty(value = "上级菜单ID") @ApiModelProperty("启用与否")
@TableField(exist = false) @TableField("enable")
private List<Resource> children; private Boolean enable;
@ApiModelProperty(value = "排序") @ApiModelProperty("创建者")
private Integer sort; @TableField("create_user_id")
private Integer createUserId;
@ApiModelProperty("创建时间")
@TableField("create_time")
private LocalDateTime createTime;
@ApiModelProperty("最后修改者")
@TableField("last_modify_user_id")
private Integer lastModifyUserId;
@ApiModelProperty("最后修改时间")
@TableField("last_modify_time")
private LocalDateTime lastModifyTime;
@ApiModelProperty("删除者")
@TableField("delete_user_id")
private Integer deleteUserId;
@ApiModelProperty("删除时间")
@TableField("delete_time")
private LocalDate deleteTime;
@ApiModelProperty(value = "是否對所有角色開放")
private Boolean isForAll = true;
} }

@ -1,2 +1,7 @@
package edu.ncst.award.service.impl;public interface IProjectService { package edu.ncst.award.service;
import com.baomidou.mybatisplus.extension.service.IService;
import edu.ncst.award.model.project.Project;
public interface IProjectService extends IService<Project> {
} }

@ -1,5 +1,7 @@
package edu.ncst.award.service; package edu.ncst.award.service;
import com.baomidou.mybatisplus.extension.service.IService;
import edu.ncst.award.mapper.system.ResourceMapper;
import edu.ncst.award.model.system.Resource; import edu.ncst.award.model.system.Resource;
import edu.ncst.award.vo.ListResultVO; import edu.ncst.award.vo.ListResultVO;
import edu.ncst.award.vo.Query; import edu.ncst.award.vo.Query;
@ -7,7 +9,7 @@ import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
public interface IResourceService { public interface IResourceService extends IService<Resource> {
void reimportInterfaceMeta(); void reimportInterfaceMeta();
ListResultVO<Resource> getResourceList(Query query); ListResultVO<Resource> getResourceList(Query query);

@ -2,6 +2,7 @@ package edu.ncst.award.service.impl.system;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import edu.ncst.award.exception.BusinessException; import edu.ncst.award.exception.BusinessException;
import edu.ncst.award.exception.CodeMsg; import edu.ncst.award.exception.CodeMsg;
import edu.ncst.award.mapper.system.ResourceMapper; import edu.ncst.award.mapper.system.ResourceMapper;
@ -11,6 +12,7 @@ import edu.ncst.award.vo.ListResultVO;
import edu.ncst.award.vo.Query; import edu.ncst.award.vo.Query;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.val;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
@ -28,12 +30,16 @@ import java.lang.reflect.Modifier;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.*; import java.util.*;
import java.util.function.Consumer;
@Service @Service
public class ResourceServiceImpl implements IResourceService { public class ResourceServiceImpl extends ServiceImpl<ResourceMapper, Resource> implements IResourceService {
@Autowired @Autowired
private ResourceMapper resourceMapper; private ResourceMapper resourceMapper;
// @Autowired
// private IResourceService iResourceService;
// 欲扫描的包路径 // 欲扫描的包路径
private static final String SCAN_PACKAGE = "edu.ncst.equmanager.controller"; private static final String SCAN_PACKAGE = "edu.ncst.equmanager.controller";
@ -213,8 +219,8 @@ public class ResourceServiceImpl implements IResourceService {
!Objects.equals(newResource.getLabel(), oldResource.getLabel()) || !Objects.equals(newResource.getLabel(), oldResource.getLabel()) ||
!Objects.equals(newResource.getMethod(), oldResource.getMethod()) || !Objects.equals(newResource.getMethod(), oldResource.getMethod()) ||
!Objects.equals(newResource.getPermitAll(), oldResource.getPermitAll()) || !Objects.equals(newResource.getPermitAll(), oldResource.getPermitAll()) ||
!Objects.equals(newResource.getUrl(), oldResource.getUrl()) || !Objects.equals(newResource.getUrl(), oldResource.getUrl());
!Objects.equals(newResource.getUserScope(), oldResource.getUserScope()); // || !Objects.equals(newResource.getUserScope(), oldResource.getUserScope());
} }
/** /**
@ -274,6 +280,7 @@ public class ResourceServiceImpl implements IResourceService {
/** /**
* 扫描指定包下的所有类 * 扫描指定包下的所有类
*
* @return 类对象列表 * @return 类对象列表
*/ */
private List<Class<?>> findClassLocal() { private List<Class<?>> findClassLocal() {
@ -354,11 +361,15 @@ public class ResourceServiceImpl implements IResourceService {
/** /**
* 获取多个角色能够访问的资源列表 * 获取多个角色能够访问的资源列表
*
* @return 返回一组路径 {/api,"/api/project"}
*/ */
@Override @Override
public List<String> getRolesResourceList(List<String> roleNames) { public List<String> getRolesResourceList(List<String> roleNames) {
//resourceMapper.getRolesResourceUrls(roleNames); val strings = new ArrayList<String>();
return null; roleNames.forEach(roleName -> list(new QueryWrapper<Resource>().eq("name", roleName)).forEach(Resource -> strings.add(Resource.getUrl())));
System.out.println("hello");
return strings;
} }
/** /**

@ -9,7 +9,4 @@ import org.springframework.stereotype.Service;
@Service @Service
public class SystemService implements ISystemService { public class SystemService implements ISystemService {
} }

Loading…
Cancel
Save