Преглед изворни кода

添加 MachineHost 删除接口

reghao пре 2 година
родитељ
комит
0cab0d3372

+ 7 - 0
manager/src/main/java/cn/reghao/devops/manager/machine/controller/MachineHostController.java

@@ -14,6 +14,7 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * @author reghao
@@ -57,4 +58,10 @@ public class MachineHostController {
         Result result = hostService.delete(machineId);
         return WebResult.result(result);
     }
+
+    @PostMapping(value = "/delete", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String deleteAll(@RequestParam(value = "ids") List<String> machineIds) {
+        Result result = hostService.batchDelete(machineIds);
+        return WebResult.result(result);
+    }
 }

+ 3 - 0
manager/src/main/java/cn/reghao/devops/manager/machine/service/MachineHostService.java

@@ -3,6 +3,8 @@ package cn.reghao.devops.manager.machine.service;
 import cn.reghao.devops.manager.machine.model.po.SshAuth;
 import cn.reghao.jutil.jdk.result.Result;
 
+import java.util.List;
+
 /**
  * @author reghao
  * @date 2019-11-15 08:48:04
@@ -11,4 +13,5 @@ public interface MachineHostService {
     void setEnv(String machineId, String env);
     void setSshAuth(String machineId, SshAuth sshAuth);
     Result delete(String machineId);
+    Result batchDelete(List<String> machineIds);
 }

+ 11 - 0
manager/src/main/java/cn/reghao/devops/manager/machine/service/MachineHostServiceImpl.java

@@ -78,4 +78,15 @@ public class MachineHostServiceImpl implements MachineHostService {
         machineService.removeAgent(machineId);
         return Result.result(ResultStatus.SUCCESS);
     }
+
+    @Override
+    public Result batchDelete(List<String> machineIds) {
+        for (String machineId : machineIds) {
+            Result result = delete(machineId);
+            if (result.getCode() != 0) {
+                return result;
+            }
+        }
+        return Result.result(ResultStatus.SUCCESS);
+    }
 }

+ 10 - 1
manager/src/main/resources/templates/machine/host/index.html

@@ -33,13 +33,22 @@
                         </button>
                     </div>
                 </div>
+                <div class="pull-right">
+                    <div class="btn-group-right">
+                        <div class="btn-group">
+                            <button class="layui-btn">批量处理<span class="caret"></span></button>
+                            <dl class="layui-nav-child layui-anim layui-anim-upbit">
+                                <dd><a class="ajax-status" th:href="@{/api/machine/host/delete}">批量删除</a></dd>
+                            </dl>
+                        </div>
+                    </div>
+                </div>
             </div>
         </div>
         <div class="timo-table-wrap">
             <table class="layui-table timo-table">
                 <thead>
                 <tr>
-                    <!-- TODO 使用 checkbox 批量设置环境 -->
                     <th class="timo-table-checkbox">
                         <label class="timo-checkbox"><input type="checkbox">
                             <i class="layui-icon layui-icon-ok"></i></label>