diff --git a/datagear-management/src/main/java/org/datagear/management/domain/User.java b/datagear-management/src/main/java/org/datagear/management/domain/User.java index d2c98a1c..8f3662a8 100644 --- a/datagear-management/src/main/java/org/datagear/management/domain/User.java +++ b/datagear-management/src/main/java/org/datagear/management/domain/User.java @@ -7,6 +7,7 @@ package org.datagear.management.domain; +import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.Set; @@ -221,4 +222,44 @@ public class User extends AbstractStringIdEntity implements CloneableEntity { return ADMIN_USER_ID.equals(userId); } + + /** + * 是否包含管理员账号。 + * + * @param userIds + * @return + */ + public static boolean containsAdminUser(String[] userIds) + { + if (userIds == null) + return false; + + for (String userId : userIds) + { + if (ADMIN_USER_ID.equals(userId)) + return true; + } + + return false; + } + + /** + * 是否包含管理员账号。 + * + * @param userIds + * @return + */ + public static boolean containsAdminUser(Collection userIds) + { + if (userIds == null) + return false; + + for (String userId : userIds) + { + if (ADMIN_USER_ID.equals(userId)) + return true; + } + + return false; + } } diff --git a/datagear-web/src/main/java/org/datagear/web/controller/UserController.java b/datagear-web/src/main/java/org/datagear/web/controller/UserController.java index 5d720102..fe5c1194 100644 --- a/datagear-web/src/main/java/org/datagear/web/controller/UserController.java +++ b/datagear-web/src/main/java/org/datagear/web/controller/UserController.java @@ -247,6 +247,10 @@ public class UserController extends AbstractController if (Arrays.asList(form.getIds()).contains(form.getMigrateToId())) throw new IllegalInputException(); + if (User.containsAdminUser(form.getIds())) + return buildOperationMessageFailResponseEntity(request, HttpStatus.BAD_REQUEST, + buildMessageCode("deleteAdminUserDenied")); + User user = this.userService.getById(form.getMigrateToId()); if (user == null)