feat(sdk): 项目使用优化和代码的优化

This commit is contained in:
lqyan
2025-02-20 17:24:52 +08:00
parent 9ae5d9acd2
commit 72f508c14f
29 changed files with 443 additions and 372 deletions

View File

@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>jhinno-openapi-sdk-spring-boot-starter</artifactId>
<version>2.0.3</version>
<version>2.0.4</version>
<packaging>jar</packaging>
<name>Jhinno OpenAPI SDK for Java SpringBoot Starter</name>
<description>The Jhinno OpenAPI SDK for Java used for accessing Jhinno OpenApi Service</description>
@@ -21,7 +21,7 @@
<dependency>
<groupId>com.jhinno</groupId>
<artifactId>jhinno-openapi-java-sdk</artifactId>
<version>2.0.3</version>
<version>2.0.4</version>
</dependency>
<dependency>

View File

@@ -1,5 +1,6 @@
package com.jhinno.sdk.openapi.autoconfigure;
import com.jhinno.sdk.openapi.api.JHRequestExecution;
import com.jhinno.sdk.openapi.client.JHApiClient;
import com.jhinno.sdk.openapi.client.JHApiHttpClientImpl;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -17,7 +18,6 @@ import org.springframework.context.annotation.Configuration;
@EnableConfigurationProperties(JHOpenapiProperties.class)
public class JHOpenapiClientAutoConfigure {
@Bean
@ConditionalOnMissingBean
public JHApiClient jhApiClient(JHOpenapiProperties properties) {
@@ -34,4 +34,17 @@ public class JHOpenapiClientAutoConfigure {
return jhApiClient;
}
@Bean
public JHRequestExecution requestExecution(JHApiClient jhApiClient, JHOpenapiProperties properties) {
JHRequestExecution requestExecution = new JHRequestExecution(jhApiClient);
requestExecution.setForceGetToken(properties.isForceGetToken());
requestExecution.setAuthType(properties.getAuthType());
requestExecution.setAccessKey(properties.getAccessKey());
requestExecution.setAccessKeySecret(properties.getAccessKeySecret());
requestExecution.setTokenTimeout(properties.getTokenTimeout());
requestExecution.setTokenResidueTime(properties.getTokenResidueTime());
requestExecution.setUsedServerTime(properties.isUsedServerTime());
return requestExecution;
}
}

View File

@@ -1,13 +1,17 @@
package com.jhinno.sdk.openapi.autoconfigure;
import com.jhinno.sdk.openapi.JHApiExecution;
import com.jhinno.sdk.openapi.api.JHRequestExecution;
import com.jhinno.sdk.openapi.api.app.JHAppApiExecution;
import com.jhinno.sdk.openapi.api.data.JHDataApiExecution;
import com.jhinno.sdk.openapi.api.file.JHFileApiExecution;
import com.jhinno.sdk.openapi.api.job.JHJobApiExecution;
import com.jhinno.sdk.openapi.api.organization.JHDepartmentApiExecution;
import com.jhinno.sdk.openapi.api.organization.JHUserApiExecution;
import com.jhinno.sdk.openapi.utils.JHOpenApiConfig;
import com.jhinno.sdk.openapi.client.JHApiClient;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -19,37 +23,45 @@ import org.springframework.context.annotation.Configuration;
*/
@Configuration
@RequiredArgsConstructor
public class JHOpenapiExecutionAutoconfigure {
public class JHOpenapiExecutionAutoconfigure implements BeanPostProcessor {
private final JHRequestExecution jhRequestExecution;
@Bean
public JHAppApiExecution appApiExecution(JHOpenApiConfig jhOpenApiConfig) {
return jhOpenApiConfig.configJHApiExecution(new JHAppApiExecution());
public Object postProcessBeforeInitialization(Object bean, String beanName) {
if (bean instanceof JHApiExecution) {
((JHApiExecution) bean).init(jhRequestExecution);
}
return bean;
}
@Bean
public JHDataApiExecution dataApiExecution(JHOpenApiConfig jhOpenApiConfig) {
return jhOpenApiConfig.configJHApiExecution(new JHDataApiExecution());
}
@Bean
public JHFileApiExecution fileApiExecution(JHOpenApiConfig jhOpenApiConfig) {
return jhOpenApiConfig.configJHApiExecution(new JHFileApiExecution());
public JHAppApiExecution appApiExecution() {
return new JHAppApiExecution();
}
@Bean
public JHJobApiExecution jobApiExecution(JHOpenApiConfig jhOpenApiConfig) {
return jhOpenApiConfig.configJHApiExecution(new JHJobApiExecution());
public JHDataApiExecution dataApiExecution() {
return new JHDataApiExecution();
}
@Bean
public JHDepartmentApiExecution departmentApiExecution(JHOpenApiConfig jhOpenApiConfig) {
return jhOpenApiConfig.configJHApiExecution(new JHDepartmentApiExecution());
public JHFileApiExecution fileApiExecution() {
return new JHFileApiExecution();
}
@Bean
public JHUserApiExecution userApiExecution(JHOpenApiConfig jhOpenApiConfig) {
return jhOpenApiConfig.configJHApiExecution(new JHUserApiExecution());
public JHJobApiExecution jobApiExecution() {
return new JHJobApiExecution();
}
@Bean
public JHDepartmentApiExecution departmentApiExecution() {
return new JHDepartmentApiExecution();
}
@Bean
public JHUserApiExecution userApiExecution() {
return new JHUserApiExecution();
}
}

View File

@@ -1,35 +0,0 @@
package com.jhinno.sdk.openapi.utils;
import com.jhinno.sdk.openapi.api.JHApiExecution;
import com.jhinno.sdk.openapi.autoconfigure.JHOpenapiProperties;
import com.jhinno.sdk.openapi.client.JHApiClient;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Configuration;
@Configuration
@RequiredArgsConstructor
public class JHOpenApiConfig {
private final JHApiClient client;
private final JHOpenapiProperties properties;
/**
* 配置执行器
*
* @param execution 执行器
* @param <T> 执行器类型
* @return 配置的执行器
*/
public <T extends JHApiExecution> T configJHApiExecution(T execution) {
execution.setJhApiClient(client);
execution.setForceGetToken(properties.isForceGetToken());
execution.setAuthType(properties.getAuthType());
execution.setAccessKey(properties.getAccessKey());
execution.setAccessKeySecret(properties.getAccessKeySecret());
execution.setTokenTimeout(properties.getTokenTimeout());
execution.setTokenResidueTime(properties.getTokenResidueTime());
execution.setUsedServerTime(properties.isUsedServerTime());
return execution;
}
}

View File

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

View File

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