From c2f011a63bb9adf1c2d7a8c5e97c668715b35de8 Mon Sep 17 00:00:00 2001
From: DongZeLiang <2746733890@qq.com>
Date: Sat, 22 Feb 2025 16:29:59 +0800
Subject: [PATCH] =?UTF-8?q?feat():=20ApplyFileUploadLease=20=E7=94=B3?=
=?UTF-8?q?=E8=AF=B7=E6=96=87=E6=A1=A3=E4=B8=8A=E4=BC=A0=E7=A7=9F=E7=BA=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 5 ++
.../aliyun/bailian/AddDataManagement.java | 2 +-
.../com/muyu/aliyun/bailian/ApplyLease.java | 57 ++++++++-----------
.../muyu/aliyun/bailian/ReviewResolution.java | 2 +-
.../config/AlibabaCloudClientConfig.java | 27 ++++++---
.../properties/AliYunBaiLianProperties.java | 37 ++++++++++++
src/main/resources/application.yml | 7 ++-
7 files changed, 92 insertions(+), 45 deletions(-)
create mode 100644 src/main/java/com/muyu/aliyun/bailian/properties/AliYunBaiLianProperties.java
diff --git a/pom.xml b/pom.xml
index fe8e587..05e1184 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,5 +58,10 @@
tea-util
0.2.23
+
+ com.aliyun
+ alibabacloud-bailian20231229
+ 2.0.0
+
\ No newline at end of file
diff --git a/src/main/java/com/muyu/aliyun/bailian/AddDataManagement.java b/src/main/java/com/muyu/aliyun/bailian/AddDataManagement.java
index 38ebfa0..8a06f8e 100644
--- a/src/main/java/com/muyu/aliyun/bailian/AddDataManagement.java
+++ b/src/main/java/com/muyu/aliyun/bailian/AddDataManagement.java
@@ -19,7 +19,7 @@ import java.util.Map;
public class AddDataManagement {
- @Autowired
+// @Autowired
private Client client;
public AddFileResponseBodyDataMode addFile(UploadDataManagementMode uploadDataManagementMode) {
diff --git a/src/main/java/com/muyu/aliyun/bailian/ApplyLease.java b/src/main/java/com/muyu/aliyun/bailian/ApplyLease.java
index c561d21..efe545d 100644
--- a/src/main/java/com/muyu/aliyun/bailian/ApplyLease.java
+++ b/src/main/java/com/muyu/aliyun/bailian/ApplyLease.java
@@ -1,48 +1,45 @@
-// This file is auto-generated, don't edit it. Thanks.
package com.muyu.aliyun.bailian;
-import com.aliyun.bailian20231229.Client;
-import com.aliyun.bailian20231229.models.ApplyFileUploadLeaseResponse;
-import com.aliyun.bailian20231229.models.ApplyFileUploadLeaseResponseBody;
-import com.aliyun.bailian20231229.models.ApplyFileUploadLeaseRequest;
+import com.aliyun.sdk.service.bailian20231229.AsyncClient;
+import com.aliyun.sdk.service.bailian20231229.models.ApplyFileUploadLeaseRequest;
+import com.aliyun.sdk.service.bailian20231229.models.ApplyFileUploadLeaseResponse;
+import com.aliyun.sdk.service.bailian20231229.models.ApplyFileUploadLeaseResponseBody;
import com.aliyun.tea.*;
-import com.aliyun.teautil.models.RuntimeOptions;
import com.muyu.aliyun.bailian.data.FileUploadLeaseMode;
import com.muyu.aliyun.bailian.data.fixed.UploadLeaseParamsMode;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.concurrent.CompletableFuture;
@Component
@Log4j2
public class ApplyLease {
@Autowired
- private Client client;
+ private AsyncClient asyncClient;
public UploadLeaseParamsMode applyFileUploadLease(FileUploadLeaseMode fileUploadLeaseModel) {
- ApplyFileUploadLeaseRequest applyFileUploadLeaseRequest = new ApplyFileUploadLeaseRequest();
- RuntimeOptions runtime = new RuntimeOptions();
- Map headers = new HashMap<>();
-
- applyFileUploadLeaseRequest.setFileName(fileUploadLeaseModel.getFileName());
- applyFileUploadLeaseRequest.setMd5(fileUploadLeaseModel.getMd5());
- applyFileUploadLeaseRequest.setSizeInBytes(fileUploadLeaseModel.getSizeInBytes());
- applyFileUploadLeaseRequest.setCategoryType(fileUploadLeaseModel.getCategoryId());
-
+ ApplyFileUploadLeaseRequest applyFileUploadLeaseRequest = ApplyFileUploadLeaseRequest.builder()
+ .fileName(fileUploadLeaseModel.getFileName())
+ .md5(fileUploadLeaseModel.getMd5())
+ .sizeInBytes(fileUploadLeaseModel.getSizeInBytes())
+ .categoryId(fileUploadLeaseModel.getCategoryId())
+ .workspaceId(fileUploadLeaseModel.getWorkspaceId())
+ .build();
+ String exceptionName = "";
try {
// 复制代码运行请自行打印 API 的返回值
- ApplyFileUploadLeaseResponse applyFileUploadLeaseResponse =
- client.applyFileUploadLeaseWithOptions(fileUploadLeaseModel.getCategoryId(), fileUploadLeaseModel.getWorkspaceId(), applyFileUploadLeaseRequest, headers, runtime);
+ CompletableFuture applyFileUploadLeaseResponseCompletableFuture = asyncClient.applyFileUploadLease(applyFileUploadLeaseRequest);
+ ApplyFileUploadLeaseResponse applyFileUploadLeaseResponse = applyFileUploadLeaseResponseCompletableFuture.get();
if (applyFileUploadLeaseResponse.getStatusCode() != 200) {
throw new RuntimeException(applyFileUploadLeaseResponse.toString());
}
- ApplyFileUploadLeaseResponseBody body = applyFileUploadLeaseResponse.getBody();
- ApplyFileUploadLeaseResponseBody.ApplyFileUploadLeaseResponseBodyData data = body.getData();
- ApplyFileUploadLeaseResponseBody.ApplyFileUploadLeaseResponseBodyDataParam param = data.getParam();
+ ApplyFileUploadLeaseResponseBody applyFileUploadLeaseResponseBody = applyFileUploadLeaseResponse.getBody();
+ ApplyFileUploadLeaseResponseBody.Param param = applyFileUploadLeaseResponseBody.getData().getParam();
+
+
log.info("param:「{}」", param);
return UploadLeaseParamsMode.builder()
.Url(param.getUrl())
@@ -50,7 +47,6 @@ public class ApplyLease {
.build();
} catch (TeaException error) {
- String exceptionName;
switch (error.getCode()) {
case "SDK.ConnectTimeout":
exceptionName = "网络连接超时";
@@ -80,16 +76,11 @@ public class ApplyLease {
exceptionName = "未知阿里云 API 异常";
}
log.error("异常名称:「{}」,错误码: {}, 错误信息: {}, 错误数据: {}", exceptionName, error.getCode(), error.getMessage(), error.getData());
- } catch (NullPointerException e) {
- log.error("异常名称:「空指针异常」,错误信息: {}", e.getMessage(), e);
- } catch (ClassCastException e) {
- log.error("异常名称:「类型转换异常」,错误信息: {}", e.getMessage(), e);
- } catch (ArrayIndexOutOfBoundsException e) {
- log.error("异常名称:「数组越界异常」,错误信息: {}", e.getMessage(), e);
- } catch (Exception _error) {
- log.error("异常名称:「未知通用异常」,错误信息: {}", _error.getMessage(), _error);
+ }catch (Exception exception) {
+ log.error("异常名称:「未知通用异常」,错误信息: {}", exception.getMessage(), exception);
+ throw new RuntimeException(exception);
}
- return null;
+ throw new RuntimeException(String.format("API调用异常:「%S」",exceptionName));
}
}
diff --git a/src/main/java/com/muyu/aliyun/bailian/ReviewResolution.java b/src/main/java/com/muyu/aliyun/bailian/ReviewResolution.java
index 7dca6c9..5593089 100644
--- a/src/main/java/com/muyu/aliyun/bailian/ReviewResolution.java
+++ b/src/main/java/com/muyu/aliyun/bailian/ReviewResolution.java
@@ -16,7 +16,7 @@ import java.util.Map;
@Log4j2
public class ReviewResolution {
- @Autowired
+// @Autowired
private Client client;
public DescribeFileResponseBodyDataMode DescribeFile(UploadDescribeFileMode uploadDescribeFileMode) {
diff --git a/src/main/java/com/muyu/aliyun/bailian/config/AlibabaCloudClientConfig.java b/src/main/java/com/muyu/aliyun/bailian/config/AlibabaCloudClientConfig.java
index 0467ea2..2480f6d 100644
--- a/src/main/java/com/muyu/aliyun/bailian/config/AlibabaCloudClientConfig.java
+++ b/src/main/java/com/muyu/aliyun/bailian/config/AlibabaCloudClientConfig.java
@@ -1,7 +1,11 @@
package com.muyu.aliyun.bailian.config;
-import com.aliyun.bailian20231229.Client;
+import com.aliyun.auth.credentials.Credential;
+import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
+import com.aliyun.sdk.service.bailian20231229.AsyncClient;
import com.aliyun.teaopenapi.models.Config;
+import com.muyu.aliyun.bailian.properties.AliYunBaiLianProperties;
import com.muyu.aliyun.config.OssConfig;
+import darabonba.core.client.ClientOverrideConfiguration;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -11,7 +15,7 @@ import org.springframework.context.annotation.Configuration;
public class AlibabaCloudClientConfig {
@Autowired
- private OssConfig ossConfig;
+ private AliYunBaiLianProperties aliYunBaiLianProperties;
/**
* 创建 Client Bean
@@ -19,12 +23,17 @@ public class AlibabaCloudClientConfig {
* @throws Exception 创建过程中可能抛出的异常
*/
@Bean
- public Client createClient() throws Exception {
- Config config = new Config()
- .setAccessKeyId(ossConfig.getAccessKeyId())
- .setAccessKeySecret(ossConfig.getAccessKeySecret());
-
- config.endpoint = ossConfig.getEndpoint();
- return new Client(config);
+ public AsyncClient createClient() throws Exception {
+ StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
+ .accessKeyId(aliYunBaiLianProperties.getAccessKeyId())
+ .accessKeySecret(aliYunBaiLianProperties.getAccessKeySecret())
+ .build());
+ return AsyncClient.builder()
+ .credentialsProvider(provider)
+ .overrideConfiguration(
+ ClientOverrideConfiguration.create()
+ .setEndpointOverride(aliYunBaiLianProperties.getEndpoint())
+ )
+ .build();
}
}
diff --git a/src/main/java/com/muyu/aliyun/bailian/properties/AliYunBaiLianProperties.java b/src/main/java/com/muyu/aliyun/bailian/properties/AliYunBaiLianProperties.java
new file mode 100644
index 0000000..d88c4c4
--- /dev/null
+++ b/src/main/java/com/muyu/aliyun/bailian/properties/AliYunBaiLianProperties.java
@@ -0,0 +1,37 @@
+package com.muyu.aliyun.bailian.properties;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author dongzeliang
+ * @version 1.0
+ * @description: 阿里云百炼配置
+ * @date 2025/2/22 16:23
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@Configuration
+@ConfigurationProperties(prefix = "aliyun.bailian")
+public class AliYunBaiLianProperties {
+ /**
+ * 百炼服务的终端节点,用于指定OSS服务的接入地址
+ */
+ private String endpoint;
+
+ /**
+ * 阿里云访问密钥ID,用于身份验证
+ */
+ private String accessKeyId;
+
+ /**
+ * 阿里云访问密钥,与accessKeyId一起用于身份验证
+ */
+ private String accessKeySecret;
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 6efc416..9017f0d 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -4,4 +4,9 @@ oss:
endpoint: https://oss-cn-hangzhou.aliyuncs.com
accessKeyId: LTAI5tLvo45NpqjoH11G1beU
accessKeySecret: NjfA4hBwban4W8Db7RBwDJd0pBHJeM
- bucketName: idicc-pangu-prod
\ No newline at end of file
+ bucketName: idicc-pangu-prod
+aliyun:
+ bailian:
+ endpoint: bailian.cn-beijing.aliyuncs.com
+ accessKeyId: LTAI5tLvo45NpqjoH11G1beU
+ accessKeySecret: NjfA4hBwban4W8Db7RBwDJd0pBHJeM
\ No newline at end of file