From c5092aa618c5e45be5a5080c9a09f27ab53fc80b Mon Sep 17 00:00:00 2001 From: Charles7c Date: Sun, 6 Jul 2025 21:38:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E9=81=97=E6=BC=8F=E7=9A=84=20CrudApi=20=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=EF=BC=88=E5=8D=95=E4=B8=AA=E5=88=A0=E9=99=A4=E5=92=8C=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E5=88=A0=E9=99=A4=E5=B7=B2=E6=8B=86=E5=88=86=E4=B8=BA?= =?UTF-8?q?=E4=B8=A4=E4=B8=AAAPI=EF=BC=8C=E7=94=B1=E4=BA=8E=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=89=8D=E7=AB=AF=E4=B9=8B=E5=89=8D=E5=B7=B2=E7=BB=8F?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E6=94=B9=E9=80=A0=E4=B8=BA=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E5=88=A0=E9=99=A4=EF=BC=8C=E6=89=80=E4=BB=A5=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/common/base/controller/BaseController.java | 4 ++-- .../config/doc/OperationDescriptionCustomizer.java | 9 +++------ .../src/main/resources/templates/backend/Controller.ftl | 2 +- .../continew/admin/open/controller/AppController.java | 3 ++- .../admin/system/controller/ClientController.java | 2 +- .../continew/admin/system/controller/DeptController.java | 3 ++- .../continew/admin/system/controller/DictController.java | 2 +- .../admin/system/controller/DictItemController.java | 2 +- .../continew/admin/system/controller/FileController.java | 2 +- .../continew/admin/system/controller/MenuController.java | 2 +- .../admin/system/controller/NoticeController.java | 2 +- .../continew/admin/system/controller/RoleController.java | 2 +- .../admin/system/controller/SmsConfigController.java | 2 +- .../admin/system/controller/SmsLogController.java | 2 +- .../admin/system/controller/StorageController.java | 2 +- .../continew/admin/system/controller/UserController.java | 4 ++-- 16 files changed, 22 insertions(+), 23 deletions(-) diff --git a/continew-common/src/main/java/top/continew/admin/common/base/controller/BaseController.java b/continew-common/src/main/java/top/continew/admin/common/base/controller/BaseController.java index a93997b0..64c2261c 100644 --- a/continew-common/src/main/java/top/continew/admin/common/base/controller/BaseController.java +++ b/continew-common/src/main/java/top/continew/admin/common/base/controller/BaseController.java @@ -67,7 +67,7 @@ public class BaseController, L, D, Q, C> exten CrudRequestMapping crudRequestMapping = targetClass.getDeclaredAnnotation(CrudRequestMapping.class); String path = crudRequestMapping.value(); String prefix = String.join(StringConstants.COLON, CharSequenceUtil.splitTrim(path, StringConstants.SLASH)); - String apiName = this.getApiName(crudApi.value()); + String apiName = getApiName(crudApi.value()); StpUtil.checkPermission("%s:%s".formatted(prefix, apiName.toLowerCase())); } @@ -77,7 +77,7 @@ public class BaseController, L, D, Q, C> exten * @param api API * @return API 名称 */ - private String getApiName(Api api) { + public static String getApiName(Api api) { return switch (api) { case PAGE, TREE, LIST -> Api.LIST.name(); case DELETE, BATCH_DELETE -> Api.DELETE.name(); diff --git a/continew-common/src/main/java/top/continew/admin/common/config/doc/OperationDescriptionCustomizer.java b/continew-common/src/main/java/top/continew/admin/common/config/doc/OperationDescriptionCustomizer.java index 913331f6..b2b49b8d 100644 --- a/continew-common/src/main/java/top/continew/admin/common/config/doc/OperationDescriptionCustomizer.java +++ b/continew-common/src/main/java/top/continew/admin/common/config/doc/OperationDescriptionCustomizer.java @@ -21,10 +21,10 @@ import cn.dev33.satoken.annotation.SaCheckRole; import cn.dev33.satoken.annotation.SaMode; import cn.hutool.core.text.CharSequenceUtil; import org.springframework.web.method.HandlerMethod; +import top.continew.admin.common.base.controller.BaseController; import top.continew.starter.core.constant.StringConstants; import top.continew.starter.extension.crud.annotation.CrudApi; import top.continew.starter.extension.crud.annotation.CrudRequestMapping; -import top.continew.starter.extension.crud.enums.Api; import java.lang.annotation.Annotation; import java.util.ArrayList; @@ -164,17 +164,14 @@ public class OperationDescriptionCustomizer { private String getCrudPermissionInfo(HandlerMethod handlerMethod) { CrudRequestMapping crudRequestMapping = handlerMethod.getBeanType().getAnnotation(CrudRequestMapping.class); CrudApi crudApi = handlerMethod.getMethodAnnotation(CrudApi.class); - if (crudRequestMapping == null || crudApi == null) { - return ""; + return StringConstants.EMPTY; } String path = crudRequestMapping.value(); String prefix = String.join(StringConstants.COLON, CharSequenceUtil.splitTrim(path, StringConstants.SLASH)); - Api api = crudApi.value(); - String apiName = Api.PAGE.equals(api) || Api.TREE.equals(api) ? Api.LIST.name() : api.name(); + String apiName = BaseController.getApiName(crudApi.value()); String permission = "%s:%s".formatted(prefix, apiName.toLowerCase()); - return "CRUD 权限校验:
方法:" + permission + ""; } } diff --git a/continew-plugin/continew-plugin-generator/src/main/resources/templates/backend/Controller.ftl b/continew-plugin/continew-plugin-generator/src/main/resources/templates/backend/Controller.ftl index 9dc14ae5..3945363a 100644 --- a/continew-plugin/continew-plugin-generator/src/main/resources/templates/backend/Controller.ftl +++ b/continew-plugin/continew-plugin-generator/src/main/resources/templates/backend/Controller.ftl @@ -22,5 +22,5 @@ import ${packageName}.service.${classNamePrefix}Service; */ @Tag(name = "${businessName}管理 API") @RestController -@CrudRequestMapping(value = "/${apiModuleName}/${apiName}", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE, Api.EXPORT}) +@CrudRequestMapping(value = "/${apiModuleName}/${apiName}", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE, Api.EXPORT}) public class ${className} extends BaseController<${classNamePrefix}Service, ${classNamePrefix}Resp, ${classNamePrefix}DetailResp, ${classNamePrefix}Query, ${classNamePrefix}Req> {} \ No newline at end of file diff --git a/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/controller/AppController.java b/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/controller/AppController.java index 9737f139..7967a812 100644 --- a/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/controller/AppController.java +++ b/continew-plugin/continew-plugin-open/src/main/java/top/continew/admin/open/controller/AppController.java @@ -46,7 +46,8 @@ import top.continew.starter.extension.crud.enums.Api; @Tag(name = "应用管理 API") @RestController @RequiredArgsConstructor -@CrudRequestMapping(value = "/open/app", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE, Api.EXPORT}) +@CrudRequestMapping(value = "/open/app", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE, + Api.EXPORT}) public class AppController extends BaseController { @Operation(summary = "获取密钥", description = "获取应用密钥") diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/ClientController.java b/continew-system/src/main/java/top/continew/admin/system/controller/ClientController.java index cddb7ac3..7033530a 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/ClientController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/ClientController.java @@ -34,6 +34,6 @@ import top.continew.starter.extension.crud.enums.Api; */ @Tag(name = "客户端管理 API") @RestController -@CrudRequestMapping(value = "/system/client", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE}) +@CrudRequestMapping(value = "/system/client", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE}) public class ClientController extends BaseController { } \ No newline at end of file diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/DeptController.java b/continew-system/src/main/java/top/continew/admin/system/controller/DeptController.java index 9e199c9c..bcd172bc 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/DeptController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/DeptController.java @@ -34,6 +34,7 @@ import top.continew.starter.extension.crud.enums.Api; */ @Tag(name = "部门管理 API") @RestController -@CrudRequestMapping(value = "/system/dept", api = {Api.TREE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE, Api.EXPORT}) +@CrudRequestMapping(value = "/system/dept", api = {Api.TREE, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE, + Api.EXPORT}) public class DeptController extends BaseController { } diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/DictController.java b/continew-system/src/main/java/top/continew/admin/system/controller/DictController.java index 5d6b839a..9e173ca5 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/DictController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/DictController.java @@ -40,7 +40,7 @@ import top.continew.starter.extension.crud.enums.Api; */ @Tag(name = "字典管理 API") @RestController -@CrudRequestMapping(value = "/system/dict", api = {Api.LIST, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE}) +@CrudRequestMapping(value = "/system/dict", api = {Api.LIST, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE}) public class DictController extends BaseController { @Operation(summary = "清除缓存", description = "清除缓存") diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/DictItemController.java b/continew-system/src/main/java/top/continew/admin/system/controller/DictItemController.java index 6d0649f9..cf9f3c16 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/DictItemController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/DictItemController.java @@ -36,6 +36,6 @@ import top.continew.starter.log.annotation.Log; @Log(module = "字典管理") @Tag(name = "字典项管理 API") @RestController -@CrudRequestMapping(value = "/system/dict/item", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE}) +@CrudRequestMapping(value = "/system/dict/item", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE}) public class DictItemController extends BaseController { } \ No newline at end of file diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/FileController.java b/continew-system/src/main/java/top/continew/admin/system/controller/FileController.java index 2173b162..4f7564f8 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/FileController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/FileController.java @@ -54,7 +54,7 @@ import java.io.IOException; @Validated @RestController @RequiredArgsConstructor -@CrudRequestMapping(value = "/system/file", api = {Api.PAGE, Api.UPDATE, Api.DELETE}) +@CrudRequestMapping(value = "/system/file", api = {Api.PAGE, Api.UPDATE, Api.BATCH_DELETE}) public class FileController extends BaseController { /** diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/MenuController.java b/continew-system/src/main/java/top/continew/admin/system/controller/MenuController.java index 6c0af016..73f776d4 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/MenuController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/MenuController.java @@ -47,7 +47,7 @@ import java.lang.reflect.Method; */ @Tag(name = "菜单管理 API") @RestController -@CrudRequestMapping(value = "/system/menu", api = {Api.TREE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE}) +@CrudRequestMapping(value = "/system/menu", api = {Api.TREE, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE}) public class MenuController extends BaseController { @Operation(summary = "清除缓存", description = "清除缓存") diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/NoticeController.java b/continew-system/src/main/java/top/continew/admin/system/controller/NoticeController.java index 11ad4fb9..c7d885b2 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/NoticeController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/NoticeController.java @@ -43,7 +43,7 @@ import java.util.List; */ @Tag(name = "公告管理 API") @RestController -@CrudRequestMapping(value = "/system/notice", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE}) +@CrudRequestMapping(value = "/system/notice", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE}) public class NoticeController extends BaseController { @Override diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/RoleController.java b/continew-system/src/main/java/top/continew/admin/system/controller/RoleController.java index 715a4df3..80aa8fa2 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/RoleController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/RoleController.java @@ -53,7 +53,7 @@ import java.util.List; @Validated @RestController @RequiredArgsConstructor -@CrudRequestMapping(value = "/system/role", api = {Api.LIST, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE}) +@CrudRequestMapping(value = "/system/role", api = {Api.LIST, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE}) public class RoleController extends BaseController { private final UserRoleService userRoleService; diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/SmsConfigController.java b/continew-system/src/main/java/top/continew/admin/system/controller/SmsConfigController.java index 044ae2bd..934b732e 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/SmsConfigController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/SmsConfigController.java @@ -41,7 +41,7 @@ import top.continew.starter.extension.crud.enums.Api; */ @Tag(name = "短信配置管理 API") @RestController -@CrudRequestMapping(value = "/system/smsConfig", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE}) +@CrudRequestMapping(value = "/system/smsConfig", api = {Api.PAGE, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE}) public class SmsConfigController extends BaseController { @Operation(summary = "设为默认配置", description = "设为默认配置") diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/SmsLogController.java b/continew-system/src/main/java/top/continew/admin/system/controller/SmsLogController.java index 8070f817..7a2cb296 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/SmsLogController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/SmsLogController.java @@ -35,6 +35,6 @@ import top.continew.starter.extension.crud.enums.Api; */ @Tag(name = "短信日志管理 API") @RestController -@CrudRequestMapping(value = "/system/smsLog", api = {Api.PAGE, Api.GET, Api.DELETE, Api.EXPORT}) +@CrudRequestMapping(value = "/system/smsLog", api = {Api.PAGE, Api.GET, Api.BATCH_DELETE, Api.EXPORT}) public class SmsLogController extends BaseController { } \ No newline at end of file diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/StorageController.java b/continew-system/src/main/java/top/continew/admin/system/controller/StorageController.java index a929138b..661515c2 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/StorageController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/StorageController.java @@ -43,7 +43,7 @@ import top.continew.starter.extension.crud.enums.Api; */ @Tag(name = "存储管理 API") @RestController -@CrudRequestMapping(value = "/system/storage", api = {Api.LIST, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE}) +@CrudRequestMapping(value = "/system/storage", api = {Api.LIST, Api.GET, Api.CREATE, Api.UPDATE, Api.BATCH_DELETE}) public class StorageController extends BaseController { @Operation(summary = "修改状态", description = "修改状态") diff --git a/continew-system/src/main/java/top/continew/admin/system/controller/UserController.java b/continew-system/src/main/java/top/continew/admin/system/controller/UserController.java index c06fbfef..10e6119e 100644 --- a/continew-system/src/main/java/top/continew/admin/system/controller/UserController.java +++ b/continew-system/src/main/java/top/continew/admin/system/controller/UserController.java @@ -61,8 +61,8 @@ import java.io.IOException; @Validated @RestController @RequiredArgsConstructor -@CrudRequestMapping(value = "/system/user", api = {Api.PAGE, Api.LIST, Api.GET, Api.CREATE, Api.UPDATE, Api.DELETE, - Api.EXPORT}) +@CrudRequestMapping(value = "/system/user", api = {Api.PAGE, Api.LIST, Api.GET, Api.CREATE, Api.UPDATE, + Api.BATCH_DELETE, Api.EXPORT}) public class UserController extends BaseController { @Override