فهرست منبع

update parseDoc api

deason 1 ماه پیش
والد
کامیت
26da3e3daa

+ 43 - 0
core-ai/src/main/java/com/qmth/boot/core/ai/client/DocApiClient.java

@@ -0,0 +1,43 @@
+package com.qmth.boot.core.ai.client;
+
+import com.qmth.boot.core.ai.config.DocApiConfiguration;
+import com.qmth.boot.core.ai.model.AiConstants;
+import com.qmth.boot.core.ai.model.doc.ParseDocTask;
+import com.qmth.boot.core.ai.model.doc.ParseDocTaskResult;
+import com.qmth.boot.core.retrofit.annotatioin.RetrofitClient;
+import com.qmth.boot.core.retrofit.utils.SignatureInfo;
+import okhttp3.MultipartBody;
+import retrofit2.http.*;
+
+/**
+ * 文档解析应用服务接口
+ */
+@RetrofitClient(configuration = DocApiConfiguration.class)
+public interface DocApiClient {
+
+    /**
+     * 文档解析任务
+     *
+     * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
+     * @param signature 使用机构AK构造Secret类型签名
+     * @param file      待解析文件(如:pdf、word等)
+     * @return
+     */
+    @Multipart
+    @POST(AiConstants.DOC_PARSE_TASK_PATH)
+    ParseDocTask parseDocTask(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
+                              @Part MultipartBody.Part file);
+
+    /**
+     * 文档解析任务结果查询
+     *
+     * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
+     * @param signature 使用机构AK构造Secret类型签名
+     * @param taskId    文档解析任务ID
+     * @return
+     */
+    @POST(AiConstants.DOC_PARSE_TASK_QUERY_PATH)
+    ParseDocTaskResult parseDocTaskQuery(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
+                                         @Query("taskId") String taskId);
+
+}

+ 0 - 27
core-ai/src/main/java/com/qmth/boot/core/ai/client/OcrApiClient.java

@@ -3,8 +3,6 @@ package com.qmth.boot.core.ai.client;
 import com.qmth.boot.core.ai.config.OcrApiConfiguration;
 import com.qmth.boot.core.ai.model.AiConstants;
 import com.qmth.boot.core.ai.model.ocr.OcrType;
-import com.qmth.boot.core.ai.model.ocr.ParseDocTask;
-import com.qmth.boot.core.ai.model.ocr.ParseDocTaskResult;
 import com.qmth.boot.core.retrofit.annotatioin.RetrofitClient;
 import com.qmth.boot.core.retrofit.utils.SignatureInfo;
 import okhttp3.MultipartBody;
@@ -30,29 +28,4 @@ public interface OcrApiClient {
     String forImage(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
                     @Query("type") OcrType type, @Part MultipartBody.Part image);
 
-    /**
-     * 文档解析任务
-     *
-     * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
-     * @param signature 使用机构AK构造Secret类型签名
-     * @param file      待解析文件(如:pdf、word等)
-     * @return
-     */
-    @Multipart
-    @POST(AiConstants.OCR_DOC_TASK_PATH)
-    ParseDocTask parseDocTask(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
-                              @Part MultipartBody.Part file);
-
-    /**
-     * 文档解析任务结果查询
-     *
-     * @param baseUrl   接口前缀地址,默认取配置文件的值(选填)
-     * @param signature 使用机构AK构造Secret类型签名
-     * @param taskId    文档解析任务ID
-     * @return
-     */
-    @POST(AiConstants.OCR_DOC_TASK_QUERY_PATH)
-    ParseDocTaskResult parseDocTaskQuery(@Header(AiConstants.BASE_URL) String baseUrl, @Tag SignatureInfo signature,
-                                         @Query("taskId") String taskId);
-
 }

+ 6 - 0
core-ai/src/main/java/com/qmth/boot/core/ai/config/AiAutoConfiguration.java

@@ -19,4 +19,10 @@ public class AiAutoConfiguration {
     public OcrApiConfiguration ocrApiConfiguration(OcrProperties ocrProperties) {
         return new OcrApiConfiguration(ocrProperties);
     }
+
+    @Bean
+    public DocApiConfiguration docApiConfiguration(DocProperties docProperties) {
+        return new DocApiConfiguration(docProperties);
+    }
+
 }

+ 34 - 0
core-ai/src/main/java/com/qmth/boot/core/ai/config/DocApiConfiguration.java

@@ -0,0 +1,34 @@
+package com.qmth.boot.core.ai.config;
+
+import com.qmth.boot.core.retrofit.interfaces.CustomizeRetrofitConfiguration;
+import com.qmth.boot.core.retrofit.interfaces.SignatureProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.time.Duration;
+
+public class DocApiConfiguration implements CustomizeRetrofitConfiguration {
+
+    private static final Logger log = LoggerFactory.getLogger(DocApiConfiguration.class);
+
+    private DocProperties docProperties;
+
+    public DocApiConfiguration(DocProperties docProperties) {
+        this.docProperties = docProperties;
+        log.info("Doc api configuration inited, server=" + docProperties.getServer());
+    }
+
+    public String getBaseUrl() {
+        return docProperties.getServer();
+    }
+
+    public SignatureProvider getSignature() {
+        return null;
+    }
+
+    @Override
+    public Duration getReadTimeout() {
+        return Duration.ofSeconds(60);
+    }
+
+}

+ 28 - 0
core-ai/src/main/java/com/qmth/boot/core/ai/config/DocProperties.java

@@ -0,0 +1,28 @@
+package com.qmth.boot.core.ai.config;
+
+import com.qmth.boot.core.constant.CoreConstant;
+import com.qmth.boot.core.solar.model.SolarConstants;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import javax.validation.constraints.NotNull;
+
+@Component
+@ConfigurationProperties(prefix = CoreConstant.CONFIG_PREFIX + ".doc")
+public class DocProperties {
+
+    /**
+     * 默认直接访问solar地址
+     */
+    @NotNull
+    private String server = SolarConstants.DEFAULT_SERVER;
+
+    public String getServer() {
+        return server;
+    }
+
+    public void setServer(String server) {
+        this.server = server;
+    }
+
+}

+ 2 - 2
core-ai/src/main/java/com/qmth/boot/core/ai/model/AiConstants.java

@@ -20,8 +20,8 @@ public interface AiConstants {
 
     String OCR_IMAGE_PATH = API_PREFIX + "/ocr/image";
 
-    String OCR_DOC_TASK_PATH = API_PREFIX + "/ocr/doc_task";
+    String DOC_PARSE_TASK_PATH = API_PREFIX + "/doc/parse/task";
 
-    String OCR_DOC_TASK_QUERY_PATH = API_PREFIX + "/ocr/doc_task_query";
+    String DOC_PARSE_TASK_QUERY_PATH = API_PREFIX + "/doc/parse/task/query";
 
 }

+ 2 - 1
core-ai/src/main/java/com/qmth/boot/core/ai/model/ocr/ParseDocTask.java → core-ai/src/main/java/com/qmth/boot/core/ai/model/doc/ParseDocTask.java

@@ -1,4 +1,4 @@
-package com.qmth.boot.core.ai.model.ocr;
+package com.qmth.boot.core.ai.model.doc;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 
@@ -8,6 +8,7 @@ public class ParseDocTask {
     private String taskId;
 
     public ParseDocTask() {
+
     }
 
     public ParseDocTask(String taskId) {

+ 1 - 1
core-ai/src/main/java/com/qmth/boot/core/ai/model/ocr/ParseDocTaskResult.java → core-ai/src/main/java/com/qmth/boot/core/ai/model/doc/ParseDocTaskResult.java

@@ -1,4 +1,4 @@
-package com.qmth.boot.core.ai.model.ocr;
+package com.qmth.boot.core.ai.model.doc;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 

+ 1 - 1
core-ai/src/main/java/com/qmth/boot/core/ai/model/ocr/ParseDocTaskStatus.java → core-ai/src/main/java/com/qmth/boot/core/ai/model/doc/ParseDocTaskStatus.java

@@ -1,4 +1,4 @@
-package com.qmth.boot.core.ai.model.ocr;
+package com.qmth.boot.core.ai.model.doc;
 
 public enum ParseDocTaskStatus {