|
@@ -1,14 +1,17 @@
|
|
package com.qmth.ops.biz.ai.client;
|
|
package com.qmth.ops.biz.ai.client;
|
|
|
|
|
|
|
|
+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.ParseDocTask;
|
|
import com.qmth.boot.core.ai.model.doc.ParseDocTaskResult;
|
|
import com.qmth.boot.core.ai.model.doc.ParseDocTaskResult;
|
|
import com.qmth.boot.core.exception.StatusException;
|
|
import com.qmth.boot.core.exception.StatusException;
|
|
import com.qmth.boot.core.rateLimit.service.RateLimiter;
|
|
import com.qmth.boot.core.rateLimit.service.RateLimiter;
|
|
import com.qmth.boot.core.rateLimit.service.impl.MemoryRateLimiter;
|
|
import com.qmth.boot.core.rateLimit.service.impl.MemoryRateLimiter;
|
|
|
|
+import com.qmth.boot.tools.codec.CodecUtils;
|
|
import okhttp3.*;
|
|
import okhttp3.*;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
import java.time.Duration;
|
|
import java.time.Duration;
|
|
|
|
|
|
|
|
|
|
@@ -60,6 +63,20 @@ public abstract class DocApiClient {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public String encodeTaskId(String taskId) {
|
|
|
|
+ String str = getConfig().getSupplier() + AiConstants.PARAM_SPLIT + taskId;
|
|
|
|
+ return CodecUtils.toBase64(str.getBytes(StandardCharsets.UTF_8));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public String[] decodeTaskId(String encodeStr) {
|
|
|
|
+ String str = new String(CodecUtils.fromBase64(encodeStr), StandardCharsets.UTF_8);
|
|
|
|
+ String[] values = str.split(AiConstants.PARAM_SPLIT);
|
|
|
|
+ if (values.length != 3) {
|
|
|
|
+ throw new StatusException("taskId值无效!");
|
|
|
|
+ }
|
|
|
|
+ return values;
|
|
|
|
+ }
|
|
|
|
+
|
|
protected byte[] download(String url) {
|
|
protected byte[] download(String url) {
|
|
Request request = new Request.Builder().url(url).get().build();
|
|
Request request = new Request.Builder().url(url).get().build();
|
|
try (Response response = this.getClient().newCall(request).execute();) {
|
|
try (Response response = this.getClient().newCall(request).execute();) {
|