diff --git a/awardBE/src/main/java/edu/ncst/award/model/system/Resource.java b/awardBE/src/main/java/edu/ncst/award/model/system/Resource.java index 8256d82..f829607 100644 --- a/awardBE/src/main/java/edu/ncst/award/model/system/Resource.java +++ b/awardBE/src/main/java/edu/ncst/award/model/system/Resource.java @@ -4,55 +4,91 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; 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.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.io.Serializable; -import java.util.List; - -@ApiModel(value="Resource", description="资源") -@Data -@EqualsAndHashCode(callSuper = false) +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +/** + *

+ * + *

+ * + * @author Erwin Feng + * @since 2022-03-16 + */ +@Getter +@Setter +@Accessors(chain = true) @TableName("sys_resource") +@ApiModel(value = "SysResourceEntity对象") public class Resource implements Serializable { private static final long serialVersionUID = 1L; - @ApiModelProperty(value = "资源ID") + @ApiModelProperty("资源ID") @TableId(value = "id", type = IdType.AUTO) private Integer id; - @ApiModelProperty(value = "显示文本") - private String label; - - @ApiModelProperty(value = "资源名称(方法签名)") + @ApiModelProperty("资源名称") + @TableField("name") private String name; - @ApiModelProperty(value = "请求方法类型") + @ApiModelProperty("显示文本") + @TableField("label") + private String label; + + @ApiModelProperty("请求方法") + @TableField("method") private String method; - @ApiModelProperty(value = "链接") - private String url; + @ApiModelProperty("允许所有访问") + @TableField("permit_all") + private Boolean permitAll; - @ApiModelProperty(value = "允许所有访问", notes = "不需要用户登录") - private Boolean permitAll = false; + @ApiModelProperty("路径") + @TableField("url") + private String url; - @ApiModelProperty(value = "用户作用域") - private Boolean userScope = false; + @ApiModelProperty("排序") + @TableField("sort") + private Integer sort; - @ApiModelProperty(value = "上级菜单ID") + @ApiModelProperty("上级资源ID") + @TableField("parent_id") private Integer parentId; - @ApiModelProperty(value = "上级菜单ID") - @TableField(exist = false) - private List children; + @ApiModelProperty("启用与否") + @TableField("enable") + private Boolean enable; - @ApiModelProperty(value = "排序") - private Integer sort; + @ApiModelProperty("创建者") + @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; } diff --git a/awardBE/src/main/java/edu/ncst/award/service/IProjectService.java b/awardBE/src/main/java/edu/ncst/award/service/IProjectService.java index ce13ef9..409afbd 100644 --- a/awardBE/src/main/java/edu/ncst/award/service/IProjectService.java +++ b/awardBE/src/main/java/edu/ncst/award/service/IProjectService.java @@ -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 { } diff --git a/awardBE/src/main/java/edu/ncst/award/service/IResourceService.java b/awardBE/src/main/java/edu/ncst/award/service/IResourceService.java index 6125fb6..1649fc8 100644 --- a/awardBE/src/main/java/edu/ncst/award/service/IResourceService.java +++ b/awardBE/src/main/java/edu/ncst/award/service/IResourceService.java @@ -1,5 +1,7 @@ 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.vo.ListResultVO; import edu.ncst.award.vo.Query; @@ -7,7 +9,7 @@ import org.springframework.stereotype.Service; import java.util.List; -public interface IResourceService { +public interface IResourceService extends IService { void reimportInterfaceMeta(); ListResultVO getResourceList(Query query); diff --git a/awardBE/src/main/java/edu/ncst/award/service/impl/system/ResourceServiceImpl.java b/awardBE/src/main/java/edu/ncst/award/service/impl/system/ResourceServiceImpl.java index 82efb47..3cbff3e 100644 --- a/awardBE/src/main/java/edu/ncst/award/service/impl/system/ResourceServiceImpl.java +++ b/awardBE/src/main/java/edu/ncst/award/service/impl/system/ResourceServiceImpl.java @@ -2,6 +2,7 @@ package edu.ncst.award.service.impl.system; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.CodeMsg; import edu.ncst.award.mapper.system.ResourceMapper; @@ -11,6 +12,7 @@ import edu.ncst.award.vo.ListResultVO; import edu.ncst.award.vo.Query; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.val; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; @@ -28,12 +30,16 @@ import java.lang.reflect.Modifier; import java.net.URI; import java.net.URISyntaxException; import java.util.*; +import java.util.function.Consumer; @Service -public class ResourceServiceImpl implements IResourceService { +public class ResourceServiceImpl extends ServiceImpl implements IResourceService { @Autowired private ResourceMapper resourceMapper; +// @Autowired +// private IResourceService iResourceService; + // 欲扫描的包路径 private static final String SCAN_PACKAGE = "edu.ncst.equmanager.controller"; @@ -42,12 +48,12 @@ public class ResourceServiceImpl implements IResourceService { * 重新导入接口元信息 */ @Caching( - evict = { - @CacheEvict(cacheNames = "permitAllResourceList"), - @CacheEvict(cacheNames = "userScopeResourceList"), - @CacheEvict(cacheNames = "permitAllResourceURLs"), - @CacheEvict(cacheNames = "userScopeResourceURLs") - } + evict = { + @CacheEvict(cacheNames = "permitAllResourceList"), + @CacheEvict(cacheNames = "userScopeResourceList"), + @CacheEvict(cacheNames = "permitAllResourceURLs"), + @CacheEvict(cacheNames = "userScopeResourceURLs") + } ) @Transactional @Override @@ -159,7 +165,7 @@ public class ResourceServiceImpl implements IResourceService { } ApiOperation operationAnnotation = method.getAnnotation(ApiOperation.class); - // LoginUserScope scopeAnnotation = method.getAnnotation(LoginUserScope.class); + // LoginUserScope scopeAnnotation = method.getAnnotation(LoginUserScope.class); PermitAll permitAllAnnotation = method.getAnnotation(PermitAll.class); if (operationAnnotation == null || operationAnnotation.hidden()) { @@ -213,8 +219,8 @@ public class ResourceServiceImpl implements IResourceService { !Objects.equals(newResource.getLabel(), oldResource.getLabel()) || !Objects.equals(newResource.getMethod(), oldResource.getMethod()) || !Objects.equals(newResource.getPermitAll(), oldResource.getPermitAll()) || - !Objects.equals(newResource.getUrl(), oldResource.getUrl()) || - !Objects.equals(newResource.getUserScope(), oldResource.getUserScope()); + !Objects.equals(newResource.getUrl(), oldResource.getUrl()); +// || !Objects.equals(newResource.getUserScope(), oldResource.getUserScope()); } /** @@ -274,6 +280,7 @@ public class ResourceServiceImpl implements IResourceService { /** * 扫描指定包下的所有类 + * * @return 类对象列表 */ private List> findClassLocal() { @@ -354,11 +361,15 @@ public class ResourceServiceImpl implements IResourceService { /** * 获取多个角色能够访问的资源列表 + * + * @return 返回一组路径 {”/api“,"/api/project"} */ @Override public List getRolesResourceList(List roleNames) { - //resourceMapper.getRolesResourceUrls(roleNames); - return null; + val strings = new ArrayList(); + roleNames.forEach(roleName -> list(new QueryWrapper().eq("name", roleName)).forEach(Resource -> strings.add(Resource.getUrl()))); + System.out.println("hello"); + return strings; } /** diff --git a/awardBE/src/main/java/edu/ncst/award/service/impl/system/SystemService.java b/awardBE/src/main/java/edu/ncst/award/service/impl/system/SystemService.java index d78ee17..a848a79 100644 --- a/awardBE/src/main/java/edu/ncst/award/service/impl/system/SystemService.java +++ b/awardBE/src/main/java/edu/ncst/award/service/impl/system/SystemService.java @@ -9,7 +9,4 @@ import org.springframework.stereotype.Service; @Service public class SystemService implements ISystemService { - - - }