supeng 3 settimane fa
parent
commit
44c798236f

+ 21 - 9
content-understanding-core/src/main/java/com/tzld/piaoquan/content/understanding/service/impl/GeminiGenerateContentAction.java

@@ -52,10 +52,16 @@ public class GeminiGenerateContentAction implements Action {
     public String execute(ActionParam param) {
         Integer type = param.getType();
         String apiKey = "";
+        int size;
+        boolean useLocalApiKey;
         if (Objects.nonNull(apiKeyList) && !apiKeyList.isEmpty()) {
-            int size = apiKeyList.size();
+            useLocalApiKey = true;
+            size = apiKeyList.size();
             int index = getIndex(size);
             apiKey = apiKeyList.get(index);
+        } else {
+            useLocalApiKey = false;
+            size = 0;
         }
         GeminiParam geminiParam = new GeminiParam();
         geminiParam.setType(type);
@@ -84,22 +90,28 @@ public class GeminiGenerateContentAction implements Action {
                     } else if (AigcServerExceptionEnum.PARAM_ERROR.getCode() == commonResponse.getCode()) {
                         throw new StopRetryException("geminiGenerateContentAction request params error geminiParam = " + JSON.toJSONString(geminiParam));
                     } else {
+                        if (useLocalApiKey) {
+                            int index1 = getIndex(size);
+                            String apiKey1 = apiKeyList.get(index1);
+                            geminiParam.setApiKey(apiKey1);
+                        }
+                        throw new RuntimeException("geminiGenerateContentAction request failure geminiParam = " + JSON.toJSONString(geminiParam));
+                    }
+                } else {
+                    if (useLocalApiKey) {
                         int index1 = getIndex(size);
                         String apiKey1 = apiKeyList.get(index1);
                         geminiParam.setApiKey(apiKey1);
-                        throw new RuntimeException("geminiGenerateContentAction request failure geminiParam = " + JSON.toJSONString(geminiParam));
                     }
-                } else {
+                    throw new RuntimeException("geminiGenerateContentAction optionalS is null geminiParam = " + JSON.toJSONString(geminiParam));
+                }
+            } catch (Exception e) {
+                if (useLocalApiKey) {
                     int index1 = getIndex(size);
                     String apiKey1 = apiKeyList.get(index1);
                     geminiParam.setApiKey(apiKey1);
-                    throw new RuntimeException("geminiGenerateContentAction optionalS is null geminiParam = " + JSON.toJSONString(geminiParam));
+                    log.error("geminiGenerateContentAction error param = {}", JSON.toJSONString(geminiParam), e);
                 }
-            } catch (Exception e) {
-                int index1 = getIndex(size);
-                String apiKey1 = apiKeyList.get(index1);
-                geminiParam.setApiKey(apiKey1);
-                log.error("geminiGenerateContentAction error param = {}", JSON.toJSONString(geminiParam), e);
                 throw new RuntimeException("geminiGenerateContentAction request error", e);
             }
         }, RETRY_TIMES, "geminiGenerateContentAction", RetryUtil::retryInterval);