feat(扩展 优化): 优化SDK在Springboot项目中的扩展体验

This commit is contained in:
lqyan
2024-08-19 12:01:08 +08:00
parent 88d7b7b65c
commit 4f2490e797
8 changed files with 39 additions and 69 deletions

View File

@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>jhinno-openapi-java-sdk</artifactId> <artifactId>jhinno-openapi-java-sdk</artifactId>
<version>2.0.2</version> <version>2.0.3</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>Jhinno OpenAPI SDK for Java</name> <name>Jhinno OpenAPI SDK for Java</name>
<description>The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service</description> <description>The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service</description>
@@ -14,7 +14,7 @@
<parent> <parent>
<groupId>com.jhinno</groupId> <groupId>com.jhinno</groupId>
<artifactId>jhinno-openapi-java-sdk-parent</artifactId> <artifactId>jhinno-openapi-java-sdk-parent</artifactId>
<version>2.0.2</version> <version>2.0.3</version>
</parent> </parent>
<dependencies> <dependencies>
@@ -77,13 +77,6 @@
</dependency> </dependency>
</dependencies> </dependencies>
<distributionManagement>
<repository>
<id>jhinno-releases</id>
<url>http://192.168.87.22:8081/repository/maven-releases</url>
</repository>
</distributionManagement>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>

View File

@@ -24,13 +24,13 @@ public class JHClientConfig {
/** /**
* 初始化JHApi客户端 * 初始化JHApi客户端
*/ */
public static final JHApiClient client = new JHApiClient("https://192.168.38.160/appform"); public static final JHApiClient client = new JHApiClient("https://172.17.0.5/appform");
public static final Map<Class<? extends JHApiExecution>, JHApiExecution> jhApiClientMap = new HashMap<>(); public static final Map<Class<? extends JHApiExecution>, JHApiExecution> jhApiClientMap = new HashMap<>();
public static final String ACCESS_KEY = "35154207caa94be582e75da31ec8e9f2"; public static final String ACCESS_KEY = "3f03747f147942bd8debd81b6c9c6a80";
public static final String ACCESS_KEY_SECRET = "2cdb5ecbe51543ad9a08ad21c32e2dd9"; public static final String ACCESS_KEY_SECRET = "e0681859b91c499eb1d2c8e09cea3242";
static { static {
client.initDefaultApiClient(); client.initDefaultApiClient();

View File

@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>jhinno-openapi-sdk-spring-boot-starter</artifactId> <artifactId>jhinno-openapi-sdk-spring-boot-starter</artifactId>
<version>2.0.2</version> <version>2.0.3</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>Jhinno OpenAPI SDK for Java SpringBoot Starter</name> <name>Jhinno OpenAPI SDK for Java SpringBoot Starter</name>
<description>The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service</description> <description>The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service</description>
@@ -14,7 +14,7 @@
<parent> <parent>
<groupId>com.jhinno</groupId> <groupId>com.jhinno</groupId>
<artifactId>jhinno-openapi-java-sdk-parent</artifactId> <artifactId>jhinno-openapi-java-sdk-parent</artifactId>
<version>2.0.2</version> <version>2.0.3</version>
</parent> </parent>
@@ -22,7 +22,7 @@
<dependency> <dependency>
<groupId>com.jhinno</groupId> <groupId>com.jhinno</groupId>
<artifactId>jhinno-openapi-java-sdk</artifactId> <artifactId>jhinno-openapi-java-sdk</artifactId>
<version>2.0.2</version> <version>2.0.3</version>
</dependency> </dependency>
<dependency> <dependency>
@@ -44,16 +44,8 @@
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
</dependencies> </dependencies>
<distributionManagement>
<repository>
<id>jhinno-releases</id>
<url>http://192.168.87.22:8081/repository/maven-releases</url>
</repository>
</distributionManagement>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>

View File

@@ -1,13 +1,12 @@
package com.jhinno.sdk.openapi.autoconfigure; package com.jhinno.sdk.openapi.autoconfigure;
import com.jhinno.sdk.openapi.api.JHApiExecution;
import com.jhinno.sdk.openapi.api.app.JHAppApiExecution; import com.jhinno.sdk.openapi.api.app.JHAppApiExecution;
import com.jhinno.sdk.openapi.api.data.JHDataApiExecution; import com.jhinno.sdk.openapi.api.data.JHDataApiExecution;
import com.jhinno.sdk.openapi.api.file.JHFileApiExecution; import com.jhinno.sdk.openapi.api.file.JHFileApiExecution;
import com.jhinno.sdk.openapi.api.job.JHJobApiExecution; import com.jhinno.sdk.openapi.api.job.JHJobApiExecution;
import com.jhinno.sdk.openapi.api.organization.JHDepartmentApiExecution; import com.jhinno.sdk.openapi.api.organization.JHDepartmentApiExecution;
import com.jhinno.sdk.openapi.api.organization.JHUserApiExecution; import com.jhinno.sdk.openapi.api.organization.JHUserApiExecution;
import com.jhinno.sdk.openapi.client.JHApiClient; import com.jhinno.sdk.openapi.utils.JHOpenApiConfig;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@@ -23,61 +22,34 @@ import org.springframework.context.annotation.Configuration;
public class JHOpenapiExecutionAutoconfigure { public class JHOpenapiExecutionAutoconfigure {
private final JHOpenapiProperties properties; @Bean
private final JHApiClient client; public JHAppApiExecution appApiExecution(JHOpenApiConfig jhOpenApiConfig) {
return jhOpenApiConfig.configJHApiExecution(new JHAppApiExecution());
public void init(JHApiExecution apiExecution) {
apiExecution.setJhApiClient(client);
apiExecution.setForceGetToken(properties.isForceGetToken());
apiExecution.setAuthType(properties.getAuthType());
apiExecution.setAccessKey(properties.getAccessKey());
apiExecution.setAccessKeySecret(properties.getAccessKeySecret());
apiExecution.setTokenTimeout(properties.getTokenTimeout());
apiExecution.setTokenResidueTime(properties.getTokenResidueTime());
apiExecution.setUsedServerTime(properties.isUsedServerTime());
} }
@Bean @Bean
public JHAppApiExecution appApiExecution() { public JHDataApiExecution dataApiExecution(JHOpenApiConfig jhOpenApiConfig) {
JHAppApiExecution jhAppApiExecution = new JHAppApiExecution(); return jhOpenApiConfig.configJHApiExecution(new JHDataApiExecution());
init(jhAppApiExecution);
return jhAppApiExecution;
}
@Bean
public JHDataApiExecution dataApiExecution() {
JHDataApiExecution dataApiExecution = new JHDataApiExecution();
init(dataApiExecution);
return dataApiExecution;
} }
@Bean @Bean
public JHFileApiExecution fileApiExecution() { public JHFileApiExecution fileApiExecution(JHOpenApiConfig jhOpenApiConfig) {
JHFileApiExecution fileApiExecution = new JHFileApiExecution(); return jhOpenApiConfig.configJHApiExecution(new JHFileApiExecution());
init(fileApiExecution);
return fileApiExecution;
} }
@Bean @Bean
public JHJobApiExecution jobApiExecution() { public JHJobApiExecution jobApiExecution(JHOpenApiConfig jhOpenApiConfig) {
JHJobApiExecution jobApiExecution = new JHJobApiExecution(); return jhOpenApiConfig.configJHApiExecution(new JHJobApiExecution());
init(jobApiExecution);
return jobApiExecution;
} }
@Bean @Bean
public JHDepartmentApiExecution departmentApiExecution() { public JHDepartmentApiExecution departmentApiExecution(JHOpenApiConfig jhOpenApiConfig) {
JHDepartmentApiExecution departmentApiExecution = new JHDepartmentApiExecution(); return jhOpenApiConfig.configJHApiExecution(new JHDepartmentApiExecution());
init(departmentApiExecution);
return departmentApiExecution;
} }
@Bean @Bean
public JHUserApiExecution userApiExecution() { public JHUserApiExecution userApiExecution(JHOpenApiConfig jhOpenApiConfig) {
JHUserApiExecution userApiExecution = new JHUserApiExecution(); return jhOpenApiConfig.configJHApiExecution(new JHUserApiExecution());
init(userApiExecution);
return userApiExecution;
} }
} }

View File

@@ -13,7 +13,14 @@ public class JHOpenApiConfig {
private final JHApiClient client; private final JHApiClient client;
private final JHOpenapiProperties properties; private final JHOpenapiProperties properties;
public <T extends JHApiExecution> T initJHApiExecution(T execution) { /**
* 配置执行器
*
* @param execution 执行器
* @param <T> 执行器类型
* @return 配置的执行器
*/
public <T extends JHApiExecution> T configJHApiExecution(T execution) {
execution.setJhApiClient(client); execution.setJhApiClient(client);
execution.setForceGetToken(properties.isForceGetToken()); execution.setForceGetToken(properties.isForceGetToken());
execution.setAuthType(properties.getAuthType()); execution.setAuthType(properties.getAuthType());

View File

@@ -1,3 +1,4 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.jhinno.sdk.openapi.autoconfigure.JHOpenapiClientAutoConfigure,\ com.jhinno.sdk.openapi.autoconfigure.JHOpenapiClientAutoConfigure,\
com.jhinno.sdk.openapi.utils.JHOpenApiConfig,\
com.jhinno.sdk.openapi.autoconfigure.JHOpenapiExecutionAutoconfigure com.jhinno.sdk.openapi.autoconfigure.JHOpenapiExecutionAutoconfigure

View File

@@ -1,2 +1,3 @@
com.jhinno.sdk.openapi.autoconfigure.JHOpenapiClientAutoConfigure com.jhinno.sdk.openapi.autoconfigure.JHOpenapiClientAutoConfigure
com.jhinno.sdk.openapi.utils.JHOpenApiConfig
com.jhinno.sdk.openapi.autoconfigure.JHOpenapiExecutionAutoconfigure com.jhinno.sdk.openapi.autoconfigure.JHOpenapiExecutionAutoconfigure

10
pom.xml
View File

@@ -6,7 +6,7 @@
<groupId>com.jhinno</groupId> <groupId>com.jhinno</groupId>
<artifactId>jhinno-openapi-java-sdk-parent</artifactId> <artifactId>jhinno-openapi-java-sdk-parent</artifactId>
<version>2.0.2</version> <version>2.0.3</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>Jhinno OpenAPI SDK for Java parent</name> <name>Jhinno OpenAPI SDK for Java parent</name>
<description>The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service</description> <description>The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service</description>
@@ -30,9 +30,13 @@
<distributionManagement> <distributionManagement>
<repository> <repository>
<id>jhinno-releases</id> <id>yuchat</id>
<url>http://192.168.87.22:8081/repository/maven-releases</url> <url>http://mirrors.yuchat.top/repository/maven-releases/</url>
</repository> </repository>
<!-- <repository>-->
<!-- <id>jhinno-releases</id>-->
<!-- <url>http://192.168.87.22:8081/repository/maven-releases</url>-->
<!-- </repository>-->
</distributionManagement> </distributionManagement>
<modules> <modules>