|
@@ -23,6 +23,7 @@ import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
import javax.imageio.stream.FileImageOutputStream;
|
|
import javax.imageio.stream.FileImageOutputStream;
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
@@ -59,15 +60,18 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
imagineParam.put("base64Array", base64Array);
|
|
imagineParam.put("base64Array", base64Array);
|
|
|
}
|
|
}
|
|
|
SubmitResult result = submit(user.getMode(),"imagine", imagineParam);
|
|
SubmitResult result = submit(user.getMode(),"imagine", imagineParam);
|
|
|
- return saveConversation(user.getId(), Long.parseLong(result.getResult()),result.getProperties(),"IMAGINE", StringUtils.EMPTY);
|
|
|
|
|
|
|
+ return saveConversation(user.getId(), user.getMode(),Long.parseLong(result.getResult()),result.getProperties(),"IMAGINE", StringUtils.EMPTY);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public MidjourneyUserConversation saveConversation(Long userId,Long taskId,Map<String,Object> properties, String action,String prompt) {
|
|
|
|
|
|
|
+ public MidjourneyUserConversation saveConversation(Long userId,Integer mode,Long taskId,Map<String,Object> properties, String action,String prompt) {
|
|
|
MidjourneyUserConversation conversation = new MidjourneyUserConversation()
|
|
MidjourneyUserConversation conversation = new MidjourneyUserConversation()
|
|
|
.setUserId(userId).setTaskId(taskId).setAction(action).setPrompt(prompt)
|
|
.setUserId(userId).setTaskId(taskId).setAction(action).setPrompt(prompt)
|
|
|
- .setMode(1).setStartTime(System.currentTimeMillis()).setProgress("0%")
|
|
|
|
|
- .setStatus("IN_PROGRESS").setChannelId(Long.parseLong(properties.get("discordChannelId").toString()))
|
|
|
|
|
- .setInstanceId(Long.parseLong(properties.get("discordInstanceId").toString())).setTaskId(taskId);
|
|
|
|
|
|
|
+ .setMode(mode).setStartTime(System.currentTimeMillis()).setProgress("0%")
|
|
|
|
|
+ .setStatus("IN_PROGRESS").setTaskId(taskId);
|
|
|
|
|
+ if (MapUtil.isNotEmpty(properties)) {
|
|
|
|
|
+ conversation.setChannelId(Long.parseLong(properties.get("discordChannelId").toString()))
|
|
|
|
|
+ .setInstanceId(Long.parseLong(properties.get("discordInstanceId").toString()));
|
|
|
|
|
+ }
|
|
|
conversationMapper.insert(conversation);
|
|
conversationMapper.insert(conversation);
|
|
|
return conversation;
|
|
return conversation;
|
|
|
}
|
|
}
|
|
@@ -77,7 +81,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
public MidjourneyUserConversation submitDescribe(MidjourneyUser user, String base64) throws Exception {
|
|
public MidjourneyUserConversation submitDescribe(MidjourneyUser user, String base64) throws Exception {
|
|
|
Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>()).put("state", user.getId()).put("base64", base64).build();
|
|
Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>()).put("state", user.getId()).put("base64", base64).build();
|
|
|
SubmitResult result = submit(user.getMode(),"describe", param);
|
|
SubmitResult result = submit(user.getMode(),"describe", param);
|
|
|
- return saveConversation(user.getId(), Long.parseLong(result.getResult()),result.getProperties(),"DESCRIBE", StringUtils.EMPTY);
|
|
|
|
|
|
|
+ return saveConversation(user.getId(), user.getMode(),Long.parseLong(result.getResult()),result.getProperties(),"DESCRIBE", StringUtils.EMPTY);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -88,7 +92,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
param.put("dimensions", dimensions);
|
|
param.put("dimensions", dimensions);
|
|
|
}
|
|
}
|
|
|
SubmitResult result = submit(user.getMode(),"blend", param);
|
|
SubmitResult result = submit(user.getMode(),"blend", param);
|
|
|
- return saveConversation(user.getId(), Long.parseLong(result.getResult()),result.getProperties(),"BLEND", StringUtils.EMPTY);
|
|
|
|
|
|
|
+ return saveConversation(user.getId(), user.getMode(), Long.parseLong(result.getResult()),result.getProperties(),"BLEND", StringUtils.EMPTY);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -102,7 +106,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
param.put("maskBase64", maskBase64);
|
|
param.put("maskBase64", maskBase64);
|
|
|
}
|
|
}
|
|
|
SubmitResult result = submit(user.getMode(),"modal", param);
|
|
SubmitResult result = submit(user.getMode(),"modal", param);
|
|
|
- return saveConversation(user.getId(), Long.parseLong(result.getResult()),result.getProperties(),"MODAL", StringUtils.EMPTY);
|
|
|
|
|
|
|
+ return saveConversation(user.getId(), user.getMode(),Long.parseLong(result.getResult()),result.getProperties(),"MODAL", StringUtils.EMPTY);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -110,7 +114,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
|
|
Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
|
|
|
.put("prompt", prompt).put("state", user.getId()).build();
|
|
.put("prompt", prompt).put("state", user.getId()).build();
|
|
|
SubmitResult result = submit(user.getMode(),"shorten", param);
|
|
SubmitResult result = submit(user.getMode(),"shorten", param);
|
|
|
- return saveConversation(user.getId(), Long.parseLong(result.getResult()),result.getProperties(),"SHORTEN", StringUtils.EMPTY);
|
|
|
|
|
|
|
+ return saveConversation(user.getId(), user.getMode(), Long.parseLong(result.getResult()),result.getProperties(),"SHORTEN", StringUtils.EMPTY);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -119,12 +123,13 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
|
|
Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
|
|
|
.put("taskId", taskId).put("state", user.getId()).put("customId", customId).build();
|
|
.put("taskId", taskId).put("state", user.getId()).put("customId", customId).build();
|
|
|
SubmitResult result = submit(user.getMode(),"action", param);
|
|
SubmitResult result = submit(user.getMode(),"action", param);
|
|
|
- return saveConversation(user.getId(), Long.parseLong(result.getResult()),result.getProperties(),"ACTION", StringUtils.EMPTY);
|
|
|
|
|
|
|
+ return saveConversation(user.getId(), user.getMode(), Long.parseLong(result.getResult()),result.getProperties(),"ACTION", StringUtils.EMPTY);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
public SubmitResult submit(Integer mode,String action, Map<String, Object> param) throws Exception {
|
|
public SubmitResult submit(Integer mode,String action, Map<String, Object> param) throws Exception {
|
|
|
- String body = HttpRequest.post(mode == 1 ? FAST_HOST : RELAX_HOST + getActionUrl(action)).form(param).header("Authorization", FAST_TOKEN).execute().body();
|
|
|
|
|
|
|
+ String url = (mode == 1 ? FAST_HOST : RELAX_HOST) + getActionUrl(action);
|
|
|
|
|
+ String body = HttpRequest.post(url).body(Jsons.toJson(param)).header("Authorization", FAST_TOKEN).execute().body();
|
|
|
log.info("action body:{}", body);
|
|
log.info("action body:{}", body);
|
|
|
SubmitResult submitResult = Jsons.parseObject(body, SubmitResult.class);
|
|
SubmitResult submitResult = Jsons.parseObject(body, SubmitResult.class);
|
|
|
if (submitResult.getCode() != 1) {
|
|
if (submitResult.getCode() != 1) {
|
|
@@ -150,9 +155,9 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
@Override
|
|
@Override
|
|
|
- public List<MidjourneyUserConversation> listConversationByIds(MidjourneyUser user, List<Long> ids) {
|
|
|
|
|
|
|
+ public List<MidjourneyUserConversation> listConversationByIds(Integer mode, List<Long> ids) throws Exception {
|
|
|
List<MidjourneyUserConversation> list = new ArrayList<>();
|
|
List<MidjourneyUserConversation> list = new ArrayList<>();
|
|
|
- listByIds(user.getMode(),ids).forEach(json -> {
|
|
|
|
|
|
|
+ listByIds(mode,ids).forEach(json -> {
|
|
|
JSONObject jsons = JSONUtil.parseObj(json);
|
|
JSONObject jsons = JSONUtil.parseObj(json);
|
|
|
MidjourneyUserConversation conversation = JSONUtil.toBean(jsons, MidjourneyUserConversation.class);
|
|
MidjourneyUserConversation conversation = JSONUtil.toBean(jsons, MidjourneyUserConversation.class);
|
|
|
conversation.setUserId(jsons.getLong("state"));
|
|
conversation.setUserId(jsons.getLong("state"));
|
|
@@ -197,9 +202,9 @@ public class MidjourneyServiceImpl implements MidjourneyService {
|
|
|
JSONObject result = JSONUtil.parseObj(HttpUtil.post("https://files.liuliangbang.vip/pic/ups", paramMap));
|
|
JSONObject result = JSONUtil.parseObj(HttpUtil.post("https://files.liuliangbang.vip/pic/ups", paramMap));
|
|
|
return result.getJSONObject("value").getJSONArray("saved").getJSONObject(0).getJSONObject("info").getStr("cdnUrl");
|
|
return result.getJSONObject("value").getJSONArray("saved").getJSONObject(0).getJSONObject("info").getStr("cdnUrl");
|
|
|
}
|
|
}
|
|
|
- public JSONArray listByIds(Integer mode,List<Long> ids) {
|
|
|
|
|
|
|
+ public JSONArray listByIds(Integer mode,List<Long> ids) throws Exception {
|
|
|
Map<String, Object> param = MapUtil.builder(new HashMap<String, Object>()).put("ids", ids).build();
|
|
Map<String, Object> param = MapUtil.builder(new HashMap<String, Object>()).put("ids", ids).build();
|
|
|
- String body = HttpRequest.post(mode == 1 ? FAST_HOST : RELAX_HOST + "/mj/task/list-by-condition").header("Authorization", FAST_TOKEN).form(param).execute().body();
|
|
|
|
|
|
|
+ String body = HttpRequest.post((mode == 1 ? FAST_HOST : RELAX_HOST) + "/mj/task/list-by-condition").header("Authorization", FAST_TOKEN).body(Jsons.toJson(param)).execute().body();
|
|
|
log.info("listByIds body:{}", body);
|
|
log.info("listByIds body:{}", body);
|
|
|
return JSONUtil.parseArray(body);
|
|
return JSONUtil.parseArray(body);
|
|
|
}
|
|
}
|