|
@@ -19,6 +19,7 @@ import com.cyksj.mapper.MidjourneyUserConversationMapper;
|
|
|
import com.cyksj.mapper.MidjourneyUserMapper;
|
|
import com.cyksj.mapper.MidjourneyUserMapper;
|
|
|
import com.cyksj.model.dto.BlendDimensions;
|
|
import com.cyksj.model.dto.BlendDimensions;
|
|
|
import com.cyksj.model.dto.MessageButton;
|
|
import com.cyksj.model.dto.MessageButton;
|
|
|
|
|
+import com.cyksj.model.dto.SubmitModalDTO;
|
|
|
import com.cyksj.model.entity.MidjourneyAccount;
|
|
import com.cyksj.model.entity.MidjourneyAccount;
|
|
|
import com.cyksj.model.entity.MidjourneyUser;
|
|
import com.cyksj.model.entity.MidjourneyUser;
|
|
|
import com.cyksj.model.entity.MidjourneyUserConversation;
|
|
import com.cyksj.model.entity.MidjourneyUserConversation;
|
|
@@ -37,6 +38,7 @@ import java.io.*;
|
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Files;
|
|
|
import java.nio.file.Path;
|
|
import java.nio.file.Path;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
+import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -211,12 +213,16 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
if (!user.getMode().equals(conversation.getMode())) {
|
|
if (!user.getMode().equals(conversation.getMode())) {
|
|
|
throw BusinessRuntimeException.getInstance("当前出图模式与关联任务出图模式不符");
|
|
throw BusinessRuntimeException.getInstance("当前出图模式与关联任务出图模式不符");
|
|
|
}
|
|
}
|
|
|
|
|
+ AtomicBoolean modalFlag = new AtomicBoolean(false);
|
|
|
if (StringUtils.isNotBlank(conversation.getButtons())){
|
|
if (StringUtils.isNotBlank(conversation.getButtons())){
|
|
|
List<MessageButton> messageButtons = Jsons.parseList(conversation.getButtons(), MessageButton.class);
|
|
List<MessageButton> messageButtons = Jsons.parseList(conversation.getButtons(), MessageButton.class);
|
|
|
messageButtons.forEach(button -> {
|
|
messageButtons.forEach(button -> {
|
|
|
if (button.getCustomId().equals(customId)) {
|
|
if (button.getCustomId().equals(customId)) {
|
|
|
log.info("action customId:{}", customId);
|
|
log.info("action customId:{}", customId);
|
|
|
button.setStyle(3);
|
|
button.setStyle(3);
|
|
|
|
|
+ if (!"Vary (Region)".equals(button.getLabel()) && "Custom Zoom".equals(button.getLabel())) {
|
|
|
|
|
+ modalFlag.set(true);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
conversation.setButtons(Jsons.toJson(messageButtons));
|
|
conversation.setButtons(Jsons.toJson(messageButtons));
|
|
@@ -235,6 +241,14 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
if (result.getCode() == 21) {
|
|
if (result.getCode() == 21) {
|
|
|
// 以上操作有弹窗确认,恢复次数
|
|
// 以上操作有弹窗确认,恢复次数
|
|
|
recoverUserLimit(user.getId(), user.getMode(),num);
|
|
recoverUserLimit(user.getId(), user.getMode(),num);
|
|
|
|
|
+ if (user.getMode() == 2 && modalFlag.get()){
|
|
|
|
|
+ SubmitModalDTO modalParam = new SubmitModalDTO();
|
|
|
|
|
+ modalParam.setPrompt(conversation.getPrompt() + " --v 6");
|
|
|
|
|
+ modalParam.setTaskId(Long.valueOf(result.getResult()));
|
|
|
|
|
+ String modal = HttpUtil.post("http://localhost:" + (EnvCommonService.active.equals(envCommonService.getEnv()) ? "/8081":"/8082") + "/applets/midjourney/submit/modal", Jsons.toJson(modalParam));
|
|
|
|
|
+ log.info("modal:{}", modal);
|
|
|
|
|
+ return result;
|
|
|
|
|
+ }
|
|
|
}else {
|
|
}else {
|
|
|
//syncUser(user.getId(), user.getMode(),num);
|
|
//syncUser(user.getId(), user.getMode(),num);
|
|
|
if (!customId.contains("upsample") && user.getMode() == 2) {
|
|
if (!customId.contains("upsample") && user.getMode() == 2) {
|