chenbiao il y a 2 ans
Parent
commit
9998a2bf6c

+ 8 - 2
midjourney/src/main/java/com/yhlxj/service/midjourney/impl/MidjourneyServiceImpl.java

@@ -731,8 +731,8 @@ public class MidjourneyServiceImpl implements MidjourneyService {
                     Integer mode = dbConversation.getMode();
                     if (mode == 1){
                         num =  redisService.incr(RedisService.key.MIDJOURNEY_FAST_LIMIT.getName() + userId, 1L);
-                        midjourneyUserMapper.update(null, wrapper);
                         wrapper.set(MidjourneyUser::getMjFastNum, num);
+                        midjourneyUserMapper.update(null, wrapper);
                     }
                     if (mode == 2){
                         if (num != null) {
@@ -936,7 +936,13 @@ public class MidjourneyServiceImpl implements MidjourneyService {
                 jsonObject.remove("notifyHook");
                 jsonObject.remove("nonce");
                 String content = jsonObject.getStr("messageContent");
-                jsonObject.set("messageContent", replaceUserId(content,"mj"));
+                if(StringUtils.isNotBlank(content)){
+                    try {
+                        jsonObject.set("messageContent", replaceUserId(content,"mj"));
+                    }catch (Exception e){
+                        log.error("mj回调 发送消息 替换用户ID错误",e);
+                    }
+                }
                 conversation.setProperties(jsonObject.toString());
             }
 

+ 10 - 2
midjourney/src/main/java/com/yhlxj/web/mirror/MidjourneyController.java

@@ -509,9 +509,17 @@ public class MidjourneyController {
         userPrompt = fixMissingSpaces(userPrompt);
 
         // 检查并追加缺失的选项
+        boolean hasV = containsOption(userPrompt, "--v");
+        boolean hasNiji = containsOption(userPrompt, "--niji");
+
         for (Map.Entry<String, String> entry : defaultOptionsMap.entrySet()) {
-            if (!containsOption(userPrompt, entry.getKey())) {
-                userPrompt += " " + entry.getValue();
+            String key = entry.getKey();
+            if (!containsOption(userPrompt, key)) {
+                if ((key.equals("--v") && !hasNiji) || (key.equals("--niji") && !hasV)) {
+                    userPrompt += " " + entry.getValue();
+                } else if (!key.equals("--v") && !key.equals("--niji")) {
+                    userPrompt += " " + entry.getValue();
+                }
             }
         }