Procházet zdrojové kódy

feat: 调度中心-api增加任务触发接口

songnan před 2 měsíci
rodič
revize
72518d3a35

+ 10 - 0
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobApiController.java

@@ -2,6 +2,9 @@ package com.xxl.job.admin.controller;
 
 import com.xxl.job.admin.controller.annotation.PermissionLimit;
 import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
+import com.xxl.job.admin.core.model.TriggerApiParam;
+import com.xxl.job.admin.core.model.XxlJobUser;
+import com.xxl.job.admin.service.XxlJobService;
 import com.xxl.job.core.biz.AdminBiz;
 import com.xxl.job.core.biz.model.HandleCallbackParam;
 import com.xxl.job.core.biz.model.RegistryParam;
@@ -27,6 +30,8 @@ public class JobApiController {
 
     @Resource
     private AdminBiz adminBiz;
+    @Resource
+    private XxlJobService xxlJobService;
 
     /**
      * api
@@ -63,6 +68,11 @@ public class JobApiController {
         } else if ("registryRemove".equals(uri)) {
             RegistryParam registryParam = GsonTool.fromJson(data, RegistryParam.class);
             return adminBiz.registryRemove(registryParam);
+        } else if ("trigger".equals(uri)) {
+            TriggerApiParam triggerApiParam = GsonTool.fromJson(data, TriggerApiParam.class);
+            XxlJobUser xxlJobUser = new XxlJobUser();
+            xxlJobUser.setRole(1);
+            return xxlJobService.trigger(xxlJobUser,triggerApiParam.getJobId(),triggerApiParam.getExecutorParam(),triggerApiParam.getAddressList());
         } else {
             return new ReturnT<String>(ReturnT.FAIL_CODE, "invalid request, uri-mapping("+ uri +") not found.");
         }

+ 45 - 0
xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/TriggerApiParam.java

@@ -0,0 +1,45 @@
+package com.xxl.job.admin.core.model;
+
+import java.io.Serializable;
+
+public class TriggerApiParam implements Serializable {
+
+    private static final long serialVersionUID = 42L;
+
+    private XxlJobUser loginUser;
+    private int jobId;
+    private String executorParam;
+    private String addressList;
+
+    public XxlJobUser getLoginUser() {
+        return loginUser;
+    }
+
+    public void setLoginUser(XxlJobUser loginUser) {
+        this.loginUser = loginUser;
+    }
+
+    public int getJobId() {
+        return jobId;
+    }
+
+    public void setJobId(int jobId) {
+        this.jobId = jobId;
+    }
+
+    public String getExecutorParam() {
+        return executorParam;
+    }
+
+    public void setExecutorParam(String executorParam) {
+        this.executorParam = executorParam;
+    }
+
+    public String getAddressList() {
+        return addressList;
+    }
+
+    public void setAddressList(String addressList) {
+        this.addressList = addressList;
+    }
+}