From 78a5d5ec7a14ee37d92a9520211adca23f12b287 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Sun, 7 May 2023 19:51:14 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E5=88=86?= =?UTF-8?q?=E7=BB=84=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cnadmin/common/base/BaseController.java | 4 +- .../cnadmin/common/base/BaseRequest.java | 12 ------ .../cnadmin/common/base/ValidateGroup.java | 43 +++++++++++++++++++ .../system/model/request/DeptRequest.java | 3 +- .../controller/system/MenuController.java | 7 +-- .../controller/system/UserController.java | 4 +- 6 files changed, 53 insertions(+), 20 deletions(-) create mode 100644 continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/ValidateGroup.java diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java index 60ae1e3b2..b169946ce 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java @@ -144,7 +144,7 @@ public R get(@PathVariable Long id) { @Operation(summary = "新增数据") @ResponseBody @PostMapping - public R add(@Validated(BaseRequest.Add.class) @RequestBody C request) { + public R add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody C request) { this.checkPermission("add"); Long id = baseService.add(request); return R.ok("新增成功", id); @@ -162,7 +162,7 @@ public R add(@Validated(BaseRequest.Add.class) @RequestBody C request) { @Operation(summary = "修改数据") @ResponseBody @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"); baseService.update(request, id); return R.ok("修改成功"); diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseRequest.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseRequest.java index 86575396b..fd8c17790 100644 --- a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseRequest.java +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseRequest.java @@ -18,8 +18,6 @@ import java.io.Serializable; -import javax.validation.groups.Default; - import lombok.Data; /** @@ -32,14 +30,4 @@ public class BaseRequest implements Serializable { private static final long serialVersionUID = 1L; - - /** - * 分组校验-创建 - */ - public interface Add extends Default {} - - /** - * 分组校验-修改 - */ - public interface Update extends Default {} } diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/ValidateGroup.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/ValidateGroup.java new file mode 100644 index 000000000..f77d1e7eb --- /dev/null +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/ValidateGroup.java @@ -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 {} + } +} diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/request/DeptRequest.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/request/DeptRequest.java index 79255caf4..679e7e5a3 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/request/DeptRequest.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/model/request/DeptRequest.java @@ -27,6 +27,7 @@ import org.hibernate.validator.constraints.Length; 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.enums.DisEnableStatusEnum; @@ -45,7 +46,7 @@ public class DeptRequest extends BaseRequest { /** * 上级部门 ID */ - @NotNull(message = "上级部门不能为空", groups = Add.class) + @NotNull(message = "上级部门不能为空", groups = ValidateGroup.Crud.Add.class) @Schema(description = "上级部门 ID") private Long parentId; diff --git a/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/system/MenuController.java b/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/system/MenuController.java index d93fe16b5..0fec4d343 100644 --- a/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/system/MenuController.java +++ b/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/system/MenuController.java @@ -30,7 +30,7 @@ import top.charles7c.cnadmin.common.annotation.CrudRequestMapping; 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.util.URLUtils; import top.charles7c.cnadmin.common.util.validate.ValidationUtils; @@ -52,14 +52,15 @@ public class MenuController extends BaseController add(@Validated(BaseRequest.Add.class) @RequestBody MenuRequest request) { + public R add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody MenuRequest request) { this.checkPath(request); return super.add(request); } @Override @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); return super.update(request, id); } diff --git a/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/system/UserController.java b/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/system/UserController.java index 69147174c..4f3e1a1e5 100644 --- a/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/system/UserController.java +++ b/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/system/UserController.java @@ -29,7 +29,7 @@ import top.charles7c.cnadmin.common.annotation.CrudRequestMapping; 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.model.vo.R; import top.charles7c.cnadmin.system.model.query.UserQuery; @@ -53,7 +53,7 @@ public class UserController extends BaseController add(@Validated(BaseRequest.Add.class) @RequestBody UserRequest request) { + public R add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody UserRequest request) { Long id = baseService.add(request); return R.ok(String.format("新增成功,请牢记默认密码:%s", SysConsts.DEFAULT_PASSWORD), id); }