mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 22:57:17 +08:00 
			
		
		
		
	fix: 修复升级遗漏的 CrudApi 替换(单个删除和批量删除已拆分为两个API,由于项目前端之前已经统一改造为批量删除,所以需要调整)
This commit is contained in:
		| @@ -67,7 +67,7 @@ public class BaseController<S extends BaseService<L, D, Q, C>, 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<S extends BaseService<L, D, Q, C>, 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(); | ||||
|   | ||||
| @@ -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 "<font style=\"color:red\" class=\"light-red\">CRUD 权限校验:</font></br><font style=\"color:red\" class=\"light-red\">方法:</font><font style=\"color:red\" class=\"light-red\">" + permission + "</font>"; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -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> {} | ||||
| @@ -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<AppService, AppResp, AppDetailResp, AppQuery, AppReq> { | ||||
|  | ||||
|     @Operation(summary = "获取密钥", description = "获取应用密钥") | ||||
|   | ||||
| @@ -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<ClientService, ClientResp, ClientResp, ClientQuery, ClientReq> { | ||||
| } | ||||
| @@ -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<DeptService, DeptResp, DeptResp, DeptQuery, DeptReq> { | ||||
| } | ||||
|   | ||||
| @@ -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<DictService, DictResp, DictResp, DictQuery, DictReq> { | ||||
|  | ||||
|     @Operation(summary = "清除缓存", description = "清除缓存") | ||||
|   | ||||
| @@ -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<DictItemService, DictItemResp, DictItemResp, DictItemQuery, DictItemReq> { | ||||
| } | ||||
| @@ -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<FileService, FileResp, FileResp, FileQuery, FileReq> { | ||||
|  | ||||
|     /** | ||||
|   | ||||
| @@ -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<MenuService, MenuResp, MenuResp, MenuQuery, MenuReq> { | ||||
|  | ||||
|     @Operation(summary = "清除缓存", description = "清除缓存") | ||||
|   | ||||
| @@ -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<NoticeService, NoticeResp, NoticeDetailResp, NoticeQuery, NoticeReq> { | ||||
|  | ||||
|     @Override | ||||
|   | ||||
| @@ -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<RoleService, RoleResp, RoleDetailResp, RoleQuery, RoleReq> { | ||||
|  | ||||
|     private final UserRoleService userRoleService; | ||||
|   | ||||
| @@ -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<SmsConfigService, SmsConfigResp, SmsConfigResp, SmsConfigQuery, SmsConfigReq> { | ||||
|  | ||||
|     @Operation(summary = "设为默认配置", description = "设为默认配置") | ||||
|   | ||||
| @@ -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<SmsLogService, SmsLogResp, SmsLogResp, SmsLogQuery, SmsLogReq> { | ||||
| } | ||||
| @@ -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<StorageService, StorageResp, StorageResp, StorageQuery, StorageReq> { | ||||
|  | ||||
|     @Operation(summary = "修改状态", description = "修改状态") | ||||
|   | ||||
| @@ -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<UserService, UserResp, UserDetailResp, UserQuery, UserReq> { | ||||
|  | ||||
|     @Override | ||||
|   | ||||
		Reference in New Issue
	
	Block a user