Browse Source

优化验证逻辑

zhouhao 7 years ago
parent
commit
8c565d1ec5
10 changed files with 20 additions and 5 deletions
  1. 2 0
      hsweb-commons/hsweb-commons-controller/src/main/java/org/hswebframework/web/controller/CreateController.java
  2. 5 0
      hsweb-commons/hsweb-commons-entity/pom.xml
  3. 0 1
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-controller/src/main/java/org/hswebframework/web/controller/authorization/AuthorizationSettingController.java
  4. 0 1
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-controller/src/main/java/org/hswebframework/web/controller/authorization/MenuController.java
  5. 4 0
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-entity/src/main/java/org/hswebframework/web/entity/authorization/AuthorizationSettingDetailEntity.java
  6. 4 0
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-entity/src/main/java/org/hswebframework/web/entity/authorization/AuthorizationSettingEntity.java
  7. 1 0
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-entity/src/main/java/org/hswebframework/web/entity/authorization/MenuEntity.java
  8. 2 1
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthorizationSettingService.java
  9. 2 1
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleUserService.java
  10. 0 1
      hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/test/java/org/hswebframework/web/starter/authorization/AuthorizationSettingTests.java

+ 2 - 0
hsweb-commons/hsweb-commons-controller/src/main/java/org/hswebframework/web/controller/CreateController.java

@@ -26,7 +26,9 @@ import org.hswebframework.web.controller.message.ResponseMessage;
 import org.hswebframework.web.logging.AccessLogger;
 import org.hswebframework.web.service.CreateEntityService;
 import org.hswebframework.web.service.InsertService;
+import org.hswebframework.web.validator.group.CreateGroup;
 import org.springframework.http.HttpStatus;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.ResponseStatus;

+ 5 - 0
hsweb-commons/hsweb-commons-entity/pom.xml

@@ -40,6 +40,11 @@
             <artifactId>hsweb-easy-orm-rdb</artifactId>
             <optional>true</optional>
         </dependency>
+        <dependency>
+            <groupId>org.hswebframework.web</groupId>
+            <artifactId>hsweb-boost-validator-group</artifactId>
+            <version>${project.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.hswebframework</groupId>
             <artifactId>hsweb-utils</artifactId>

+ 0 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-controller/src/main/java/org/hswebframework/web/controller/authorization/AuthorizationSettingController.java

@@ -20,7 +20,6 @@ package org.hswebframework.web.controller.authorization;
 import org.hswebframework.web.authorization.Permission;
 import org.hswebframework.web.authorization.annotation.Authorize;
 import org.hswebframework.web.commons.entity.param.QueryParamEntity;
-import org.hswebframework.web.controller.GenericEntityController;
 import org.hswebframework.web.controller.SimpleGenericEntityController;
 import org.hswebframework.web.controller.message.ResponseMessage;
 import org.hswebframework.web.entity.authorization.AuthorizationSettingEntity;

+ 0 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-controller/src/main/java/org/hswebframework/web/controller/authorization/MenuController.java

@@ -29,7 +29,6 @@ import org.hswebframework.web.controller.message.ResponseMessage;
 import org.hswebframework.web.entity.authorization.MenuEntity;
 import org.hswebframework.web.entity.authorization.UserMenuEntity;
 import org.hswebframework.web.logging.AccessLogger;
-import org.hswebframework.web.service.authorization.MenuGroupService;
 import org.hswebframework.web.service.authorization.MenuService;
 import org.hswebframework.web.service.authorization.UserMenuManagerService;
 import org.springframework.beans.factory.annotation.Autowired;

+ 4 - 0
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-entity/src/main/java/org/hswebframework/web/entity/authorization/AuthorizationSettingDetailEntity.java

@@ -16,7 +16,9 @@
  */
 package org.hswebframework.web.entity.authorization;
 
+import org.hibernate.validator.constraints.NotBlank;
 import org.hswebframework.web.commons.entity.GenericEntity;
+import org.hswebframework.web.validator.group.CreateGroup;
 
 import java.util.List;
 import java.util.Set;
@@ -57,6 +59,7 @@ public interface AuthorizationSettingDetailEntity extends GenericEntity<String>,
     /**
      * @return 权限id
      */
+    @NotBlank(groups = CreateGroup.class)
     String getPermissionId();
 
     /**
@@ -67,6 +70,7 @@ public interface AuthorizationSettingDetailEntity extends GenericEntity<String>,
     /**
      * @return 设置id
      */
+    @NotBlank(groups = CreateGroup.class)
     String getSettingId();
 
     /**

+ 4 - 0
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-entity/src/main/java/org/hswebframework/web/entity/authorization/AuthorizationSettingEntity.java

@@ -16,7 +16,9 @@
  */
 package org.hswebframework.web.entity.authorization;
 
+import org.hibernate.validator.constraints.NotBlank;
 import org.hswebframework.web.commons.entity.GenericEntity;
+import org.hswebframework.web.validator.group.CreateGroup;
 
 import java.util.List;
 
@@ -49,6 +51,7 @@ public interface AuthorizationSettingEntity extends GenericEntity<String> {
     /**
      * @return 类型
      */
+    @NotBlank(groups = CreateGroup.class)
     String getType();
 
     /**
@@ -59,6 +62,7 @@ public interface AuthorizationSettingEntity extends GenericEntity<String> {
     /**
      * @return 设置给谁
      */
+    @NotBlank(groups = CreateGroup.class)
     String getSettingFor();
 
     /**

+ 1 - 0
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-entity/src/main/java/org/hswebframework/web/entity/authorization/MenuEntity.java

@@ -27,6 +27,7 @@ import java.util.List;
  */
 public interface MenuEntity
         extends TreeSortSupportEntity<String> {
+
     String getName();
 
     void setName(String name);

+ 2 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleAuthorizationSettingService.java

@@ -36,6 +36,7 @@ import org.hswebframework.web.service.DefaultDSLQueryService;
 import org.hswebframework.web.service.GenericEntityService;
 import org.hswebframework.web.service.authorization.*;
 import org.hswebframework.web.service.authorization.AuthorizationSettingTypeSupplier.SettingInfo;
+import org.hswebframework.web.validator.group.CreateGroup;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheConfig;
 import org.springframework.cache.annotation.CacheEvict;
@@ -128,7 +129,7 @@ public class SimpleAuthorizationSettingService extends GenericEntityService<Auth
         }
         if (entity.getDetails() != null) {
             for (AuthorizationSettingDetailEntity detail : entity.getDetails()) {
-                tryValidate(detail);
+                tryValidate(detail, CreateGroup.class);
                 detail.setId(getIDGenerator().generate());
                 detail.setSettingId(id);
                 detail.setStatus(STATUS_ENABLED);

+ 2 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-service/hsweb-system-authorization-service-simple/src/main/java/org/hswebframework/web/service/authorization/simple/SimpleUserService.java

@@ -17,6 +17,7 @@ import org.hswebframework.web.service.DefaultDSLUpdateService;
 import org.hswebframework.web.service.authorization.*;
 import org.hswebframework.web.validate.ValidationException;
 import org.hswebframework.utils.ListUtils;
+import org.hswebframework.web.validator.group.CreateGroup;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Caching;
@@ -112,7 +113,7 @@ public class SimpleUserService extends AbstractService<UserEntity, String>
         userEntity.setSalt(IDGenerator.RANDOM.generate());
         userEntity.setStatus(DataStatus.STATUS_ENABLED);
         //验证其他属性
-        tryValidate(userEntity);
+        tryValidate(userEntity, CreateGroup.class);
         //密码MD5
         userEntity.setPassword(encodePassword(userEntity.getPassword(), userEntity.getSalt()));
         //创建用户

+ 0 - 1
hsweb-system/hsweb-system-authorization/hsweb-system-authorization-starter/src/test/java/org/hswebframework/web/starter/authorization/AuthorizationSettingTests.java

@@ -69,7 +69,6 @@ public class AuthorizationSettingTests extends SimpleWebApplicationTests {
         //todo 修改测试属性
         AuthorizationSettingEntity newEntity = entityFactory.newInstance(AuthorizationSettingEntity.class);
         newEntity.setId("test");
-
         newEntity.setDescribe("测试2");
         result = testPut("/autz-setting/" + id)
                 .setUp(setup ->