mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 10:57:13 +08:00 
			
		
		
		
	refactor: 优化分组校验
This commit is contained in:
		| @@ -144,7 +144,7 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q, | |||||||
|     @Operation(summary = "新增数据") |     @Operation(summary = "新增数据") | ||||||
|     @ResponseBody |     @ResponseBody | ||||||
|     @PostMapping |     @PostMapping | ||||||
|     public R<Long> add(@Validated(BaseRequest.Add.class) @RequestBody C request) { |     public R<Long> add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody C request) { | ||||||
|         this.checkPermission("add"); |         this.checkPermission("add"); | ||||||
|         Long id = baseService.add(request); |         Long id = baseService.add(request); | ||||||
|         return R.ok("新增成功", id); |         return R.ok("新增成功", id); | ||||||
| @@ -162,7 +162,7 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q, | |||||||
|     @Operation(summary = "修改数据") |     @Operation(summary = "修改数据") | ||||||
|     @ResponseBody |     @ResponseBody | ||||||
|     @PutMapping("/{id}") |     @PutMapping("/{id}") | ||||||
|     public R update(@Validated(BaseRequest.Update.class) @RequestBody C request, @PathVariable Long id) { |     public R update(@Validated(ValidateGroup.Crud.Update.class) @RequestBody C request, @PathVariable Long id) { | ||||||
|         this.checkPermission("update"); |         this.checkPermission("update"); | ||||||
|         baseService.update(request, id); |         baseService.update(request, id); | ||||||
|         return R.ok("修改成功"); |         return R.ok("修改成功"); | ||||||
|   | |||||||
| @@ -18,8 +18,6 @@ package top.charles7c.cnadmin.common.base; | |||||||
|  |  | ||||||
| import java.io.Serializable; | import java.io.Serializable; | ||||||
|  |  | ||||||
| import javax.validation.groups.Default; |  | ||||||
|  |  | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @@ -32,14 +30,4 @@ import lombok.Data; | |||||||
| public class BaseRequest implements Serializable { | public class BaseRequest implements Serializable { | ||||||
|  |  | ||||||
|     private static final long serialVersionUID = 1L; |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 分组校验-创建 |  | ||||||
|      */ |  | ||||||
|     public interface Add extends Default {} |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 分组校验-修改 |  | ||||||
|      */ |  | ||||||
|     public interface Update extends Default {} |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -0,0 +1,43 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. | ||||||
|  |  * | ||||||
|  |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |  * you may not use this file except in compliance with the License. | ||||||
|  |  * You may obtain a copy of the License at | ||||||
|  |  * | ||||||
|  |  *     http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |  * | ||||||
|  |  * Unless required by applicable law or agreed to in writing, software | ||||||
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |  * See the License for the specific language governing permissions and | ||||||
|  |  * limitations under the License. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | package top.charles7c.cnadmin.common.base; | ||||||
|  |  | ||||||
|  | import javax.validation.groups.Default; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 分组校验 | ||||||
|  |  * | ||||||
|  |  * @author Charles7c | ||||||
|  |  * @since 2023/5/7 19:41 | ||||||
|  |  */ | ||||||
|  | public interface ValidateGroup extends Default { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分组校验-增删改查 | ||||||
|  |      */ | ||||||
|  |     interface Crud extends ValidateGroup { | ||||||
|  |         /** | ||||||
|  |          * 分组校验-创建 | ||||||
|  |          */ | ||||||
|  |         interface Add extends Crud {} | ||||||
|  |  | ||||||
|  |         /** | ||||||
|  |          * 分组校验-修改 | ||||||
|  |          */ | ||||||
|  |         interface Update extends Crud {} | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -27,6 +27,7 @@ import io.swagger.v3.oas.annotations.media.Schema; | |||||||
| import org.hibernate.validator.constraints.Length; | import org.hibernate.validator.constraints.Length; | ||||||
|  |  | ||||||
| import top.charles7c.cnadmin.common.base.BaseRequest; | import top.charles7c.cnadmin.common.base.BaseRequest; | ||||||
|  | import top.charles7c.cnadmin.common.base.ValidateGroup; | ||||||
| import top.charles7c.cnadmin.common.constant.RegexConsts; | import top.charles7c.cnadmin.common.constant.RegexConsts; | ||||||
| import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; | import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum; | ||||||
|  |  | ||||||
| @@ -45,7 +46,7 @@ public class DeptRequest extends BaseRequest { | |||||||
|     /** |     /** | ||||||
|      * 上级部门 ID |      * 上级部门 ID | ||||||
|      */ |      */ | ||||||
|     @NotNull(message = "上级部门不能为空", groups = Add.class) |     @NotNull(message = "上级部门不能为空", groups = ValidateGroup.Crud.Add.class) | ||||||
|     @Schema(description = "上级部门 ID") |     @Schema(description = "上级部门 ID") | ||||||
|     private Long parentId; |     private Long parentId; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -30,7 +30,7 @@ import cn.hutool.core.util.ObjectUtil; | |||||||
|  |  | ||||||
| import top.charles7c.cnadmin.common.annotation.CrudRequestMapping; | import top.charles7c.cnadmin.common.annotation.CrudRequestMapping; | ||||||
| import top.charles7c.cnadmin.common.base.BaseController; | import top.charles7c.cnadmin.common.base.BaseController; | ||||||
| import top.charles7c.cnadmin.common.base.BaseRequest; | import top.charles7c.cnadmin.common.base.ValidateGroup; | ||||||
| import top.charles7c.cnadmin.common.model.vo.R; | import top.charles7c.cnadmin.common.model.vo.R; | ||||||
| import top.charles7c.cnadmin.common.util.URLUtils; | import top.charles7c.cnadmin.common.util.URLUtils; | ||||||
| import top.charles7c.cnadmin.common.util.validate.ValidationUtils; | import top.charles7c.cnadmin.common.util.validate.ValidationUtils; | ||||||
| @@ -52,14 +52,15 @@ public class MenuController extends BaseController<MenuService, MenuVO, MenuVO, | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     @SaCheckPermission("system:menu:add") |     @SaCheckPermission("system:menu:add") | ||||||
|     public R<Long> add(@Validated(BaseRequest.Add.class) @RequestBody MenuRequest request) { |     public R<Long> add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody MenuRequest request) { | ||||||
|         this.checkPath(request); |         this.checkPath(request); | ||||||
|         return super.add(request); |         return super.add(request); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     @SaCheckPermission("system:menu:update") |     @SaCheckPermission("system:menu:update") | ||||||
|     public R update(@Validated(BaseRequest.Update.class) @RequestBody MenuRequest request, @PathVariable Long id) { |     public R update(@Validated(ValidateGroup.Crud.Update.class) @RequestBody MenuRequest request, | ||||||
|  |         @PathVariable Long id) { | ||||||
|         this.checkPath(request); |         this.checkPath(request); | ||||||
|         return super.update(request, id); |         return super.update(request, id); | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -29,7 +29,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission; | |||||||
|  |  | ||||||
| import top.charles7c.cnadmin.common.annotation.CrudRequestMapping; | import top.charles7c.cnadmin.common.annotation.CrudRequestMapping; | ||||||
| import top.charles7c.cnadmin.common.base.BaseController; | import top.charles7c.cnadmin.common.base.BaseController; | ||||||
| import top.charles7c.cnadmin.common.base.BaseRequest; | import top.charles7c.cnadmin.common.base.ValidateGroup; | ||||||
| import top.charles7c.cnadmin.common.constant.SysConsts; | import top.charles7c.cnadmin.common.constant.SysConsts; | ||||||
| import top.charles7c.cnadmin.common.model.vo.R; | import top.charles7c.cnadmin.common.model.vo.R; | ||||||
| import top.charles7c.cnadmin.system.model.query.UserQuery; | import top.charles7c.cnadmin.system.model.query.UserQuery; | ||||||
| @@ -53,7 +53,7 @@ public class UserController extends BaseController<UserService, UserVO, UserDeta | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     @SaCheckPermission("system:user:add") |     @SaCheckPermission("system:user:add") | ||||||
|     public R<Long> add(@Validated(BaseRequest.Add.class) @RequestBody UserRequest request) { |     public R<Long> add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody UserRequest request) { | ||||||
|         Long id = baseService.add(request); |         Long id = baseService.add(request); | ||||||
|         return R.ok(String.format("新增成功,请牢记默认密码:%s", SysConsts.DEFAULT_PASSWORD), id); |         return R.ok(String.format("新增成功,请牢记默认密码:%s", SysConsts.DEFAULT_PASSWORD), id); | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user