|
@@ -3,6 +3,7 @@ package com.cyksj.service.midjourney.impl;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
import cn.hutool.core.map.MapUtil;
|
|
import cn.hutool.core.map.MapUtil;
|
|
|
|
|
+import cn.hutool.core.util.URLUtil;
|
|
|
import cn.hutool.http.HttpRequest;
|
|
import cn.hutool.http.HttpRequest;
|
|
|
import cn.hutool.http.HttpUtil;
|
|
import cn.hutool.http.HttpUtil;
|
|
|
import cn.hutool.json.JSONArray;
|
|
import cn.hutool.json.JSONArray;
|
|
@@ -35,6 +36,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import javax.imageio.stream.FileImageOutputStream;
|
|
import javax.imageio.stream.FileImageOutputStream;
|
|
|
import java.io.*;
|
|
import java.io.*;
|
|
|
|
|
+import java.net.URL;
|
|
|
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.*;
|
|
@@ -401,7 +403,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
JSONObject jsons = JSONUtil.parseObj(json);
|
|
JSONObject jsons = JSONUtil.parseObj(json);
|
|
|
MidjourneyUserConversation conversation = JSONUtil.toBean(jsons, MidjourneyUserConversation.class);
|
|
MidjourneyUserConversation conversation = JSONUtil.toBean(jsons, MidjourneyUserConversation.class);
|
|
|
if (StringUtil.isNotBlank(conversation.getImageUrl())) {
|
|
if (StringUtil.isNotBlank(conversation.getImageUrl())) {
|
|
|
- conversation.setImageUrl(conversation.getImageUrl().replace("cdn.discordapp.com", "mj.galaxydvd.com"));
|
|
|
|
|
|
|
+ conversation.setImageUrl(conversation.getImageUrl().replace("cdn.discordapp.com", "cdn.mj.liuliangbang.vip").replace("mj.galaxydvd.com", "cdn.mj.liuliangbang.vip"));
|
|
|
}
|
|
}
|
|
|
conversation.setUserId(jsons.getLong("state"));
|
|
conversation.setUserId(jsons.getLong("state"));
|
|
|
conversation.setTaskId(jsons.getLong("id"));
|
|
conversation.setTaskId(jsons.getLong("id"));
|
|
@@ -483,6 +485,13 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
|
|
|
|
|
|
|
|
|
|
private static String uploadPic(String url, String prefix) throws IOException {
|
|
private static String uploadPic(String url, String prefix) throws IOException {
|
|
|
|
|
+ if (StringUtil.isNotBlank(url)) {
|
|
|
|
|
+ URL URL = new URL(url);
|
|
|
|
|
+
|
|
|
|
|
+ // 使用 Hutool 提取各个部分并构建新 URL
|
|
|
|
|
+ url = URLUtil.toURI(new URL(URL.getProtocol(), "cdn.mj.liuliangbang.vip", URL.getPort(), URL.getFile()) + "?" + URL.getQuery()).toString();
|
|
|
|
|
+ //
|
|
|
|
|
+ }
|
|
|
byte[] body = HttpUtil.downloadBytes(url);
|
|
byte[] body = HttpUtil.downloadBytes(url);
|
|
|
Path tempFile = Files.createTempFile(prefix, ".png");
|
|
Path tempFile = Files.createTempFile(prefix, ".png");
|
|
|
File file = tempFile.toFile();
|
|
File file = tempFile.toFile();
|
|
@@ -558,7 +567,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
conversation.setUserId(jsons.getLong("state"));
|
|
conversation.setUserId(jsons.getLong("state"));
|
|
|
conversation.setTaskId(jsons.getLong("id"));
|
|
conversation.setTaskId(jsons.getLong("id"));
|
|
|
if (StringUtil.isNotBlank(conversation.getImageUrl())) {
|
|
if (StringUtil.isNotBlank(conversation.getImageUrl())) {
|
|
|
- conversation.setImageUrl(conversation.getImageUrl().replace("cdn.discordapp.com", "mj.galaxydvd.com"));
|
|
|
|
|
|
|
+ conversation.setImageUrl(conversation.getImageUrl().replace("cdn.discordapp.com", "cdn.mj.liuliangbang.vip").replace("mj.galaxydvd.com", "cdn.mj.liuliangbang.vip"));
|
|
|
}
|
|
}
|
|
|
redisService.set(RedisService.key.MIDJOURNEY_CONVERSATION.getName() + conversation.getTaskId(), conversation,RedisService.key.MIDJOURNEY_CONVERSATION.getTimeout());
|
|
redisService.set(RedisService.key.MIDJOURNEY_CONVERSATION.getName() + conversation.getTaskId(), conversation,RedisService.key.MIDJOURNEY_CONVERSATION.getTimeout());
|
|
|
TASK_EXECUTOR.execute(() -> {
|
|
TASK_EXECUTOR.execute(() -> {
|