mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
[dev] OpenAPI use appName and password too
This commit is contained in:
parent
512fb8d2f9
commit
98c8f7541b
@ -10,11 +10,11 @@
|
|||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>powerjob-client</artifactId>
|
<artifactId>powerjob-client</artifactId>
|
||||||
<version>3.0.1</version>
|
<version>3.1.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<powerjob.common.version>3.0.1</powerjob.common.version>
|
<powerjob.common.version>3.1.0</powerjob.common.version>
|
||||||
<junit.version>5.6.1</junit.version>
|
<junit.version>5.6.1</junit.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@ import okhttp3.MediaType;
|
|||||||
import okhttp3.RequestBody;
|
import okhttp3.RequestBody;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@ -39,8 +40,8 @@ public class OhMyClient {
|
|||||||
* @param domain www.oms-server.com(内网域名,自行完成DNS & Proxy)
|
* @param domain www.oms-server.com(内网域名,自行完成DNS & Proxy)
|
||||||
* @param appName 负责的应用名称
|
* @param appName 负责的应用名称
|
||||||
*/
|
*/
|
||||||
public OhMyClient(String domain, String appName) {
|
public OhMyClient(String domain, String appName, String password) {
|
||||||
this(Lists.newArrayList(domain), appName);
|
this(Lists.newArrayList(domain), appName, password);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -49,16 +50,16 @@ public class OhMyClient {
|
|||||||
* @param addressList IP:Port 列表
|
* @param addressList IP:Port 列表
|
||||||
* @param appName 负责的应用名称
|
* @param appName 负责的应用名称
|
||||||
*/
|
*/
|
||||||
public OhMyClient(List<String> addressList, String appName) {
|
public OhMyClient(List<String> addressList, String appName, String password) {
|
||||||
|
|
||||||
Objects.requireNonNull(addressList, "domain can't be null!");
|
Objects.requireNonNull(addressList, "domain can't be null!");
|
||||||
Objects.requireNonNull(appName, "appName can't be null");
|
Objects.requireNonNull(appName, "appName can't be null");
|
||||||
|
|
||||||
allAddress = addressList;
|
allAddress = addressList;
|
||||||
for (String addr : addressList) {
|
for (String addr : addressList) {
|
||||||
String url = getUrl(OpenAPIConstant.ASSERT, addr) + "?appName=" + appName;
|
String url = getUrl(OpenAPIConstant.ASSERT, addr);
|
||||||
try {
|
try {
|
||||||
String result = HttpUtils.get(url);
|
String result = assertApp(appName, password, url);
|
||||||
if (StringUtils.isNotEmpty(result)) {
|
if (StringUtils.isNotEmpty(result)) {
|
||||||
ResultDTO resultDTO = JsonUtils.parseObject(result, ResultDTO.class);
|
ResultDTO resultDTO = JsonUtils.parseObject(result, ResultDTO.class);
|
||||||
if (resultDTO.isSuccess()) {
|
if (resultDTO.isSuccess()) {
|
||||||
@ -77,6 +78,15 @@ public class OhMyClient {
|
|||||||
log.info("[OhMyClient] {}'s oms-client bootstrap successfully.", appName);
|
log.info("[OhMyClient] {}'s oms-client bootstrap successfully.", appName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String assertApp(String appName, String password, String url) throws IOException {
|
||||||
|
FormBody.Builder builder = new FormBody.Builder()
|
||||||
|
.add("appName", appName);
|
||||||
|
if (password != null) {
|
||||||
|
builder.add("password", password);
|
||||||
|
}
|
||||||
|
return HttpUtils.post(url, builder.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static String getUrl(String path, String address) {
|
private static String getUrl(String path, String address) {
|
||||||
return String.format(URL_PATTERN, address, OpenAPIConstant.WEB_PATH, path);
|
return String.format(URL_PATTERN, address, OpenAPIConstant.WEB_PATH, path);
|
||||||
|
@ -21,7 +21,7 @@ public class TestClient {
|
|||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
public static void initClient() throws Exception {
|
public static void initClient() throws Exception {
|
||||||
ohMyClient = new OhMyClient("127.0.0.1:7700", "oms-test2");
|
ohMyClient = new OhMyClient("127.0.0.1:7700", "oms-test2", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -29,7 +29,7 @@ public class TestClient {
|
|||||||
|
|
||||||
SaveJobInfoRequest newJobInfo = new SaveJobInfoRequest();
|
SaveJobInfoRequest newJobInfo = new SaveJobInfoRequest();
|
||||||
// newJobInfo.setId(8L);
|
// newJobInfo.setId(8L);
|
||||||
newJobInfo.setJobName("omsOpenAPIJob");
|
newJobInfo.setJobName("omsOpenAPIJobccccc");
|
||||||
newJobInfo.setJobDescription("tes OpenAPI");
|
newJobInfo.setJobDescription("tes OpenAPI");
|
||||||
newJobInfo.setJobParams("{'aa':'bb'}");
|
newJobInfo.setJobParams("{'aa':'bb'}");
|
||||||
newJobInfo.setTimeExpressionType(TimeExpressionType.CRON);
|
newJobInfo.setTimeExpressionType(TimeExpressionType.CRON);
|
||||||
|
@ -20,7 +20,7 @@ public class TestWorkflow {
|
|||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
public static void initClient() throws Exception {
|
public static void initClient() throws Exception {
|
||||||
ohMyClient = new OhMyClient("127.0.0.1:7700", "oms-test");
|
ohMyClient = new OhMyClient("127.0.0.1:7700", "oms-test", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>powerjob-common</artifactId>
|
<artifactId>powerjob-common</artifactId>
|
||||||
<version>3.0.1</version>
|
<version>3.1.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
@ -10,13 +10,13 @@
|
|||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>powerjob-server</artifactId>
|
<artifactId>powerjob-server</artifactId>
|
||||||
<version>3.0.1</version>
|
<version>3.1.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<swagger.version>2.9.2</swagger.version>
|
<swagger.version>2.9.2</swagger.version>
|
||||||
<springboot.version>2.2.6.RELEASE</springboot.version>
|
<springboot.version>2.2.6.RELEASE</springboot.version>
|
||||||
<powerjob.common.version>3.0.1</powerjob.common.version>
|
<powerjob.common.version>3.1.0</powerjob.common.version>
|
||||||
<mysql.version>8.0.19</mysql.version>
|
<mysql.version>8.0.19</mysql.version>
|
||||||
<h2.db.version>1.4.200</h2.db.version>
|
<h2.db.version>1.4.200</h2.db.version>
|
||||||
<zip4j.version>2.5.2</zip4j.version>
|
<zip4j.version>2.5.2</zip4j.version>
|
||||||
|
@ -3,8 +3,7 @@ package com.github.kfcfans.powerjob.server.web.controller;
|
|||||||
import com.github.kfcfans.powerjob.common.InstanceStatus;
|
import com.github.kfcfans.powerjob.common.InstanceStatus;
|
||||||
import com.github.kfcfans.powerjob.common.OpenAPIConstant;
|
import com.github.kfcfans.powerjob.common.OpenAPIConstant;
|
||||||
import com.github.kfcfans.powerjob.common.request.http.SaveWorkflowRequest;
|
import com.github.kfcfans.powerjob.common.request.http.SaveWorkflowRequest;
|
||||||
import com.github.kfcfans.powerjob.server.persistence.core.model.AppInfoDO;
|
import com.github.kfcfans.powerjob.server.service.AppInfoService;
|
||||||
import com.github.kfcfans.powerjob.server.persistence.core.repository.AppInfoRepository;
|
|
||||||
import com.github.kfcfans.powerjob.server.service.CacheService;
|
import com.github.kfcfans.powerjob.server.service.CacheService;
|
||||||
import com.github.kfcfans.powerjob.server.service.JobService;
|
import com.github.kfcfans.powerjob.server.service.JobService;
|
||||||
import com.github.kfcfans.powerjob.server.service.instance.InstanceService;
|
import com.github.kfcfans.powerjob.server.service.instance.InstanceService;
|
||||||
@ -15,7 +14,6 @@ import com.github.kfcfans.powerjob.common.response.*;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开放接口(OpenAPI)控制器,对接 oms-client
|
* 开放接口(OpenAPI)控制器,对接 oms-client
|
||||||
@ -27,6 +25,8 @@ import java.util.Optional;
|
|||||||
@RequestMapping(OpenAPIConstant.WEB_PATH)
|
@RequestMapping(OpenAPIConstant.WEB_PATH)
|
||||||
public class OpenAPIController {
|
public class OpenAPIController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private AppInfoService appInfoService;
|
||||||
@Resource
|
@Resource
|
||||||
private JobService jobService;
|
private JobService jobService;
|
||||||
@Resource
|
@Resource
|
||||||
@ -39,14 +39,10 @@ public class OpenAPIController {
|
|||||||
@Resource
|
@Resource
|
||||||
private CacheService cacheService;
|
private CacheService cacheService;
|
||||||
|
|
||||||
@Resource
|
|
||||||
private AppInfoRepository appInfoRepository;
|
|
||||||
|
|
||||||
@GetMapping(OpenAPIConstant.ASSERT)
|
@PostMapping(OpenAPIConstant.ASSERT)
|
||||||
public ResultDTO<Long> assertAppName(String appName) {
|
public ResultDTO<Long> assertAppName(String appName, @RequestParam(required = false) String password) {
|
||||||
Optional<AppInfoDO> appInfoOpt = appInfoRepository.findByAppName(appName);
|
return ResultDTO.success(appInfoService.assertApp(appName, password));
|
||||||
return appInfoOpt.map(appInfoDO -> ResultDTO.success(appInfoDO.getId()))
|
|
||||||
.orElseGet(() -> ResultDTO.failed(appName + " is not registered!"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************* Job 区 ************* */
|
/* ************* Job 区 ************* */
|
||||||
|
@ -10,12 +10,12 @@
|
|||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>powerjob-worker-agent</artifactId>
|
<artifactId>powerjob-worker-agent</artifactId>
|
||||||
<version>3.0.1</version>
|
<version>3.1.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<powerjob.worker.version>3.0.1</powerjob.worker.version>
|
<powerjob.worker.version>3.1.0</powerjob.worker.version>
|
||||||
<logback.version>1.2.3</logback.version>
|
<logback.version>1.2.3</logback.version>
|
||||||
<picocli.version>4.3.2</picocli.version>
|
<picocli.version>4.3.2</picocli.version>
|
||||||
|
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<artifactId>powerjob-worker-samples</artifactId>
|
<artifactId>powerjob-worker-samples</artifactId>
|
||||||
<version>3.0.1</version>
|
<version>3.1.0</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<springboot.version>2.2.6.RELEASE</springboot.version>
|
<springboot.version>2.2.6.RELEASE</springboot.version>
|
||||||
<powerjob.worker.version>3.0.1</powerjob.worker.version>
|
<powerjob.worker.version>3.1.0</powerjob.worker.version>
|
||||||
<fastjson.version>1.2.68</fastjson.version>
|
<fastjson.version>1.2.68</fastjson.version>
|
||||||
|
|
||||||
<!-- 部署时跳过该module -->
|
<!-- 部署时跳过该module -->
|
||||||
|
@ -10,12 +10,12 @@
|
|||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>powerjob-worker</artifactId>
|
<artifactId>powerjob-worker</artifactId>
|
||||||
<version>3.0.1</version>
|
<version>3.1.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<spring.version>5.2.4.RELEASE</spring.version>
|
<spring.version>5.2.4.RELEASE</spring.version>
|
||||||
<powerjob.common.version>3.0.1</powerjob.common.version>
|
<powerjob.common.version>3.1.0</powerjob.common.version>
|
||||||
<h2.db.version>1.4.200</h2.db.version>
|
<h2.db.version>1.4.200</h2.db.version>
|
||||||
<hikaricp.version>3.4.2</hikaricp.version>
|
<hikaricp.version>3.4.2</hikaricp.version>
|
||||||
<junit.version>5.6.1</junit.version>
|
<junit.version>5.6.1</junit.version>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user