zwhui 2 lat temu
rodzic
commit
1abd1f43ff

+ 7 - 7
netflix-service/src/main/java/com/cyksj/service/midjourney/impl/MidjourneyServiceImpl.java

@@ -1,6 +1,5 @@
 package com.cyksj.service.midjourney.impl;
 
-import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.http.HttpRequest;
@@ -15,7 +14,6 @@ import com.cyksj.common.util.Jsons;
 import com.cyksj.mapper.MidjourneyUserConversationMapper;
 import com.cyksj.model.dto.BlendDimensions;
 import com.cyksj.model.dto.MessageButton;
-import com.cyksj.model.entity.MidjourneyAccount;
 import com.cyksj.model.entity.MidjourneyUser;
 import com.cyksj.model.entity.MidjourneyUserConversation;
 import com.cyksj.model.response.SubmitResult;
@@ -25,15 +23,13 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
 
 import javax.imageio.stream.FileImageOutputStream;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * @author zwhui
@@ -144,6 +140,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         if (!user.getMode().equals(conversation.getMode())) {
             throw BusinessRuntimeException.getInstance("当前出图模式与关联任务出图模式不符");
         }
+        AtomicBoolean flag = new AtomicBoolean(false);
         if (StringUtils.isNotBlank(conversation.getButtons())){
             List<MessageButton> messageButtons = Jsons.parseList(conversation.getButtons(), MessageButton.class);
             messageButtons.forEach(button -> {
@@ -154,8 +151,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
                             || button.getEmoji().equals("🔄") || button.getCustomId().contains("PromptAnalyzer:")
                             || button.getCustomId().contains("PicReader::") || button.getCustomId().contains("::variation::")
                             || button.getCustomId().contains("::CustomZoom::")) {
-                        // 以上操作有弹窗确认,恢复次数
-                        recoverUserLimit(user.getId(), user.getMode());
+                        flag.set(true);
                     }
                 }
             });
@@ -169,6 +165,10 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
                 .put("taskId", taskId).put("state", user.getId()).put("customId", customId).build();
         SubmitResult result = submit(user.getMode(),"action", param);
+        if (flag.get()) {
+            // 以上操作有弹窗确认,恢复次数
+            recoverUserLimit(user.getId(), user.getMode());
+        }
         return saveConversation(user.getId(), user.getMode(), Long.parseLong(result.getResult()),result.getProperties(),"ACTION", StringUtils.EMPTY);
     }