feat: 新增批量删除接口
diff --git a/system/api/src/main/java/com/supwisdom/institute/backend/system/api/v1/admin/AdminMenuController.java b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/v1/admin/AdminMenuController.java
index 4bc4cb8..3c3a832 100644
--- a/system/api/src/main/java/com/supwisdom/institute/backend/system/api/v1/admin/AdminMenuController.java
+++ b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/v1/admin/AdminMenuController.java
@@ -25,9 +25,11 @@
 import com.supwisdom.institute.backend.common.framework.entity.EntityUtils;
 import com.supwisdom.institute.backend.common.framework.vo.response.DefaultApiResponse;
 import com.supwisdom.institute.backend.system.api.vo.request.PermissionCreateRequest;
+import com.supwisdom.institute.backend.system.api.vo.request.PermissionDeleteBatchRequest;
 import com.supwisdom.institute.backend.system.api.vo.request.PermissionQueryRequest;
 import com.supwisdom.institute.backend.system.api.vo.request.PermissionUpdateRequest;
 import com.supwisdom.institute.backend.system.api.vo.response.PermissionCreateResponseData;
+import com.supwisdom.institute.backend.system.api.vo.response.PermissionDeleteBatchResponseData;
 import com.supwisdom.institute.backend.system.api.vo.response.PermissionLoadResponseData;
 import com.supwisdom.institute.backend.system.api.vo.response.PermissionQueryResponseData;
 import com.supwisdom.institute.backend.system.api.vo.response.PermissionRemoveResponseData;
@@ -164,6 +166,21 @@
     return new DefaultApiResponse<PermissionRemoveResponseData>(data);
   }
 
+
+  @DeleteMapping(path = "/batch", consumes = MimeTypeUtils.APPLICATION_JSON_VALUE, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
+  @ResponseStatus(value = HttpStatus.OK)
+  @ResponseBody
+  public DefaultApiResponse<PermissionDeleteBatchResponseData> deleteBatch(
+      @RequestBody PermissionDeleteBatchRequest deleteBatchRequest) {
+    
+    System.out.println(deleteBatchRequest.getIds());
+    List<String> ids = deleteBatchRequest.getIds();
+    
+    permissionService.deleteBatch(ids);
+    
+    PermissionDeleteBatchResponseData data = PermissionDeleteBatchResponseData.build(ids);
+    return new DefaultApiResponse<PermissionDeleteBatchResponseData>(data);
+  }
   
   @GetMapping(path = "/tree", produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
   @ResponseStatus(value = HttpStatus.OK)
diff --git a/system/api/src/main/java/com/supwisdom/institute/backend/system/api/v1/admin/AdminRoleController.java b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/v1/admin/AdminRoleController.java
index b64adda..a198eeb 100644
--- a/system/api/src/main/java/com/supwisdom/institute/backend/system/api/v1/admin/AdminRoleController.java
+++ b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/v1/admin/AdminRoleController.java
@@ -1,6 +1,7 @@
 package com.supwisdom.institute.backend.system.api.v1.admin;
 
 import java.util.HashMap;
+import java.util.List;
 
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
@@ -24,6 +25,7 @@
 import com.supwisdom.institute.backend.common.framework.entity.EntityUtils;
 import com.supwisdom.institute.backend.common.framework.vo.response.DefaultApiResponse;
 import com.supwisdom.institute.backend.system.api.vo.request.RoleCreateRequest;
+import com.supwisdom.institute.backend.system.api.vo.request.RoleDeleteBatchRequest;
 import com.supwisdom.institute.backend.system.api.vo.request.RoleRelateAccountsRequest;
 import com.supwisdom.institute.backend.system.api.vo.request.RoleRelateGroupsRequest;
 import com.supwisdom.institute.backend.system.api.vo.request.RoleRelatePermissionsRequest;
@@ -33,6 +35,7 @@
 import com.supwisdom.institute.backend.system.api.vo.request.RoleUpdateRequest;
 import com.supwisdom.institute.backend.system.api.vo.request.RoleQueryRequest;
 import com.supwisdom.institute.backend.system.api.vo.response.RoleCreateResponseData;
+import com.supwisdom.institute.backend.system.api.vo.response.RoleDeleteBatchResponseData;
 import com.supwisdom.institute.backend.system.api.vo.response.RoleLoadResponseData;
 import com.supwisdom.institute.backend.system.api.vo.response.RoleRelateAccountsResponseData;
 import com.supwisdom.institute.backend.system.api.vo.response.RoleRelateGroupsResponseData;
@@ -161,6 +164,21 @@
     return new DefaultApiResponse<RoleRemoveResponseData>(data);
   }
 
+  @DeleteMapping(path = "/batch", consumes = MimeTypeUtils.APPLICATION_JSON_VALUE, produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
+  @ResponseStatus(value = HttpStatus.OK)
+  @ResponseBody
+  public DefaultApiResponse<RoleDeleteBatchResponseData> deleteBatch(
+      @RequestBody RoleDeleteBatchRequest deleteBatchRequest) {
+    
+    System.out.println(deleteBatchRequest.getIds());
+    List<String> ids = deleteBatchRequest.getIds();
+    
+    roleService.deleteBatch(ids);
+    
+    RoleDeleteBatchResponseData data = RoleDeleteBatchResponseData.build(ids);
+    return new DefaultApiResponse<RoleDeleteBatchResponseData>(data);
+  }
+
 
   @RequestMapping(method = RequestMethod.GET, path = "/{id}/accounts", produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
   @ResponseBody
diff --git a/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/request/PermissionDeleteBatchRequest.java b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/request/PermissionDeleteBatchRequest.java
new file mode 100644
index 0000000..d868006
--- /dev/null
+++ b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/request/PermissionDeleteBatchRequest.java
@@ -0,0 +1,21 @@
+package com.supwisdom.institute.backend.system.api.vo.request;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import com.supwisdom.institute.backend.common.framework.vo.request.IApiRequest;
+
+public class PermissionDeleteBatchRequest implements IApiRequest {
+  
+  /**
+   * 
+   */
+  private static final long serialVersionUID = -9180558051324597595L;
+  
+  @Getter
+  @Setter
+  private List<String> ids;
+
+}
diff --git a/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/request/RoleDeleteBatchRequest.java b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/request/RoleDeleteBatchRequest.java
new file mode 100644
index 0000000..14f65d3
--- /dev/null
+++ b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/request/RoleDeleteBatchRequest.java
@@ -0,0 +1,21 @@
+package com.supwisdom.institute.backend.system.api.vo.request;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import com.supwisdom.institute.backend.common.framework.vo.request.IApiRequest;
+
+public class RoleDeleteBatchRequest implements IApiRequest {
+  
+  /**
+   * 
+   */
+  private static final long serialVersionUID = 3121491905067659896L;
+
+  @Getter
+  @Setter
+  private List<String> ids;
+
+}
diff --git a/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/response/PermissionDeleteBatchResponseData.java b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/response/PermissionDeleteBatchResponseData.java
new file mode 100644
index 0000000..2923725
--- /dev/null
+++ b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/response/PermissionDeleteBatchResponseData.java
@@ -0,0 +1,35 @@
+package com.supwisdom.institute.backend.system.api.vo.response;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import com.supwisdom.institute.backend.common.framework.vo.response.data.IApiResponseData;
+
+/**
+ * @author loie
+ */
+public class PermissionDeleteBatchResponseData implements IApiResponseData {
+
+  /**
+   * 
+   */
+  private static final long serialVersionUID = -7406287471651267066L;
+
+  @Getter
+  @Setter
+  private List<String> ids;
+
+  private PermissionDeleteBatchResponseData() {
+    
+  }
+  
+  public static PermissionDeleteBatchResponseData build(List<String> ids) {
+    PermissionDeleteBatchResponseData data = new PermissionDeleteBatchResponseData();
+    data.setIds(ids);
+    
+    return data;
+  }
+  
+}
diff --git a/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/response/RoleDeleteBatchResponseData.java b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/response/RoleDeleteBatchResponseData.java
new file mode 100644
index 0000000..c7a6ac0
--- /dev/null
+++ b/system/api/src/main/java/com/supwisdom/institute/backend/system/api/vo/response/RoleDeleteBatchResponseData.java
@@ -0,0 +1,35 @@
+package com.supwisdom.institute.backend.system.api.vo.response;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import com.supwisdom.institute.backend.common.framework.vo.response.data.IApiResponseData;
+
+/**
+ * @author loie
+ */
+public class RoleDeleteBatchResponseData implements IApiResponseData {
+
+  /**
+   * 
+   */
+  private static final long serialVersionUID = -7775951512990321469L;
+
+  @Getter
+  @Setter
+  private List<String> ids;
+
+  private RoleDeleteBatchResponseData() {
+    
+  }
+  
+  public static RoleDeleteBatchResponseData build(List<String> ids) {
+    RoleDeleteBatchResponseData data = new RoleDeleteBatchResponseData();
+    data.setIds(ids);
+    
+    return data;
+  }
+  
+}
diff --git a/system/domain/src/main/java/com/supwisdom/institute/backend/system/domain/service/PermissionService.java b/system/domain/src/main/java/com/supwisdom/institute/backend/system/domain/service/PermissionService.java
index d7ebd1e..ff2f7f2 100644
--- a/system/domain/src/main/java/com/supwisdom/institute/backend/system/domain/service/PermissionService.java
+++ b/system/domain/src/main/java/com/supwisdom/institute/backend/system/domain/service/PermissionService.java
@@ -29,6 +29,13 @@
   @Autowired
   private PermissionRepository permissionRepository;
 
+  public void deleteBatch(List<String> ids) {
+    
+    ids.stream().forEach(id -> {
+      this.deleteById(id);
+    });
+  }
+
   public PermissionTreeNode selectPermissionTree(Map<String, Object> mapBean) {
     
     List<Permission> permissions = permissionRepository.selectList(true, -1, -1, mapBean, null);
diff --git a/system/domain/src/main/java/com/supwisdom/institute/backend/system/domain/service/RoleService.java b/system/domain/src/main/java/com/supwisdom/institute/backend/system/domain/service/RoleService.java
index 068eeeb..5b533df 100644
--- a/system/domain/src/main/java/com/supwisdom/institute/backend/system/domain/service/RoleService.java
+++ b/system/domain/src/main/java/com/supwisdom/institute/backend/system/domain/service/RoleService.java
@@ -44,6 +44,13 @@
 
   
 
+  public void deleteBatch(List<String> ids) {
+    
+    ids.stream().forEach(id -> {
+      this.deleteById(id);
+    });
+  }
+
   public Page<AccountRole> selectRoleAccounts(int pageIndex, int pageSize, Map<String, Object> mapBean) {
 
     AccountRole probe = new AccountRole();