Răsfoiți Sursa

新增接口权限管理

hubin 5 luni în urmă
părinte
comite
eb962a7fd8

+ 63 - 0
src/main/java/com/aizuda/boot/modules/system/controller/SysResourceApiController.java

@@ -0,0 +1,63 @@
+/*
+ * 爱组搭,低代码组件化开发平台
+ * ------------------------------------------
+ * 受知识产权保护,请勿删除版权申明,开发平台不允许做非法网站,后果自负
+ */
+package com.aizuda.boot.modules.system.controller;
+
+import com.aizuda.boot.modules.system.entity.SysResourceApi;
+import com.aizuda.boot.modules.system.service.ISysResourceApiService;
+import com.aizuda.core.api.ApiController;
+import com.aizuda.core.validation.Create;
+import com.aizuda.core.validation.Update;
+import com.baomidou.kisso.annotation.Permission;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.constraints.NotEmpty;
+import lombok.AllArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 系统资源API 前端控制器
+ *
+ * @author 青苗
+ * @since 2025-01-18
+ */
+@Tag(name = "系统资源API")
+@RestController
+@AllArgsConstructor
+@RequestMapping("/sys/resource-api")
+public class SysResourceApiController extends ApiController {
+    private ISysResourceApiService sysResourceApiService;
+
+    @Operation(summary = "查询 id 信息")
+    @Permission("sys:resourceApi:get")
+    @GetMapping("/get")
+    public SysResourceApi get(@RequestParam Long id) {
+        return sysResourceApiService.getById(id);
+    }
+
+    @Operation(summary = "根据 id 修改信息")
+    @Permission("sys:resourceApi:update")
+    @PostMapping("/update")
+    public boolean update(@Validated(Update.class) @RequestBody SysResourceApi sri) {
+        return sysResourceApiService.updateById(sri);
+    }
+
+    @Operation(summary = "创建添加")
+    @Permission("sys:resourceApi:create")
+    @PostMapping("/create")
+    public Long create(@Validated(Create.class) @RequestBody SysResourceApi sri) {
+        return sysResourceApiService.save(sri) ? sri.getId() : null;
+    }
+
+    @Operation(summary = "根据 ids 删除")
+    @Permission("sys:resourceApi:delete")
+    @PostMapping("/delete")
+    public boolean delete(@NotEmpty @RequestBody List<Long> ids) {
+        return sysResourceApiService.removeByResourceIds(ids);
+    }
+}

+ 6 - 4
src/main/java/com/aizuda/boot/modules/system/entity/SysResourceApi.java

@@ -8,6 +8,7 @@ package com.aizuda.boot.modules.system.entity;
 import com.aizuda.core.bean.SuperEntity;
 import com.aizuda.core.validation.Create;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.PositiveOrZero;
 import jakarta.validation.constraints.Size;
@@ -30,12 +31,13 @@ public class SysResourceApi extends SuperEntity {
 	@PositiveOrZero
 	private Long resourceId;
 
-	@Schema(description = "接口地址")
-	@Size(max = 255)
-	private String url;
-
 	@Schema(description = "编码")
+	@NotEmpty
 	@Size(max = 100)
 	private String code;
 
+	@Schema(description = "备注")
+	@Size(max = 255)
+	private String remark;
+
 }

+ 0 - 7
src/main/java/com/aizuda/boot/modules/system/entity/dto/ResourceDTO.java

@@ -6,13 +6,9 @@
 package com.aizuda.boot.modules.system.entity.dto;
 
 import com.aizuda.boot.modules.system.entity.SysResource;
-import com.aizuda.boot.modules.system.entity.SysResourceApi;
-import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.util.List;
-
 /**
  * 资源参数
  *
@@ -23,7 +19,4 @@ import java.util.List;
 @Setter
 public class ResourceDTO extends SysResource {
 
-    @Schema(description = "接口权限")
-    private List<SysResourceApi> apiList;
-
 }

+ 1 - 1
src/main/java/com/aizuda/boot/modules/system/service/ISysResourceApiService.java

@@ -32,5 +32,5 @@ public interface ISysResourceApiService extends IBaseService<SysResourceApi> {
      */
     List<String> listCodesByUserId(Long userId);
 
-    boolean removeByResourceId(Long resourceId);
+    boolean removeByResourceIds(List<Long> ids);
 }

+ 2 - 2
src/main/java/com/aizuda/boot/modules/system/service/impl/SysResourceApiServiceImpl.java

@@ -34,7 +34,7 @@ public class SysResourceApiServiceImpl extends BaseServiceImpl<SysResourceApiMap
     }
 
     @Override
-    public boolean removeByResourceId(Long resourceId) {
-        return super.remove(Wrappers.<SysResourceApi>lambdaQuery().eq(SysResourceApi::getResourceId, resourceId));
+    public boolean removeByResourceIds(List<Long> ids) {
+        return super.removeByIds(ids);
     }
 }

+ 0 - 19
src/main/java/com/aizuda/boot/modules/system/service/impl/SysResourceServiceImpl.java

@@ -6,13 +6,11 @@
 package com.aizuda.boot.modules.system.service.impl;
 
 import com.aizuda.boot.modules.system.entity.SysResource;
-import com.aizuda.boot.modules.system.entity.SysResourceApi;
 import com.aizuda.boot.modules.system.entity.dto.ResourceDTO;
 import com.aizuda.boot.modules.system.entity.enums.ResourceType;
 import com.aizuda.boot.modules.system.entity.vo.MenuVO;
 import com.aizuda.boot.modules.system.entity.vo.ResourceTreeVO;
 import com.aizuda.boot.modules.system.mapper.SysResourceMapper;
-import com.aizuda.boot.modules.system.service.ISysResourceApiService;
 import com.aizuda.boot.modules.system.service.ISysResourceService;
 import com.aizuda.boot.modules.system.service.ISysRoleResourceService;
 import com.aizuda.core.api.ApiAssert;
@@ -23,7 +21,6 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.AllArgsConstructor;
-import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -38,7 +35,6 @@ import java.util.*;
 @Service
 @AllArgsConstructor
 public class SysResourceServiceImpl extends BaseServiceImpl<SysResourceMapper, SysResource> implements ISysResourceService {
-    private ISysResourceApiService sysResourceApiService;
     private ISysRoleResourceService sysRoleResourceService;
 
     @Override
@@ -159,21 +155,6 @@ public class SysResourceServiceImpl extends BaseServiceImpl<SysResourceMapper, S
         ApiAssert.isEmpty(dto.getId(), "主键不存在无法更新");
         SysResource sysResource = dto.convert(SysResource.class);
         ApiAssert.fail(!super.updateById(sysResource), "更新失败");
-        // 保存资源接口
-        List<SysResourceApi> apiList = dto.getApiList();
-        if (CollectionUtils.isNotEmpty(apiList)) {
-            // 移除空字符串
-            apiList = apiList.stream().filter(t -> StringUtils.isNoneBlank(t.getUrl()) && StringUtils.isNoneBlank(t.getCode())).toList();
-            if (CollectionUtils.isNotEmpty(apiList)) {
-                sysResourceApiService.removeByResourceId(dto.getId());
-                apiList.forEach(t -> {
-                    t.setResourceId(dto.getId());
-                    t.setUrl(t.getUrl().trim());
-                    t.setCode(t.getCode().trim());
-                });
-                ApiAssert.fail(!sysResourceApiService.saveBatch(apiList), "接口权限保存失败");
-            }
-        }
         return true;
     }
 }