chenbiao %!s(int64=2) %!d(string=hai) anos
pai
achega
5f8269b203

+ 1 - 1
midjourney/src/main/java/com/yhlxj/service/midjourney/MidjourneyService.java

@@ -39,7 +39,7 @@ public interface MidjourneyService {
 
     MidjourneyUser getUser(String userToken);
 
-    void syscConversation();
+    void syscConversation() throws Exception;
 
     MidjourneyUserConversation uploadFile(SubmitUploadDTO uploadDTO,MidjourneyUser user) throws Exception;
 

+ 19 - 7
midjourney/src/main/java/com/yhlxj/service/midjourney/impl/MidjourneyServiceImpl.java

@@ -172,7 +172,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
             modeStr = "(relaxed)";
             mjVersionStatusKey = "v6-relax-model";
         }
-        properties.put("messageContent","**"+prompt+"** - <@mj>" + modeStr);
+        properties.put("messageContent","** " + prompt + " ** - <@mj>" + modeStr);
         MjVersionStatus mjVersionStatus = MJ_VERSION_STATUS_MAP.get(mjVersionStatusKey);
         properties.put("estimateTime", mjVersionStatus == null ? null : System.currentTimeMillis() + mjVersionStatus.getMillisecond());
         return result;
@@ -879,7 +879,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         JSONObject jsonObject = new JSONObject(conversation.getProperties());
         String content = jsonObject.getStr("messageContent");
         if(StringUtils.isNotBlank(content)){
-            jsonObject.set("messageContent","**"+conversation.getPrompt()+"** - <@mj>");
+            jsonObject.set("messageContent","** " + conversation.getPrompt() + " ** - <@mj>");
         }
         if ("SUBMITTED".equals(conversation.getStatus())){
             MidjourneyUserConversation midjourneyUserConversation = conversationMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUserConversation.class).eq(MidjourneyUserConversation::getTaskId, conversation.getTaskId()).last("limit 1"));
@@ -1051,12 +1051,18 @@ public class MidjourneyServiceImpl implements MidjourneyService {
 
 
     @Override
-    public void syscConversation() {
-        List<MidjourneyUserConversation> midjourneyUserConversations = conversationMapper.selectList(Wrappers.lambdaQuery(MidjourneyUserConversation.class)
-                .eq(MidjourneyUserConversation::getStatus, "IN_PROGRESS").orderByAsc(MidjourneyUserConversation::getId).last("limit 10"));
-        midjourneyUserConversations.forEach(dbConversation -> {
+    public void syscConversation() throws Exception {
+        List<MidjourneyUserConversation> fastMidjourneyUserConversations = conversationMapper.selectList(Wrappers.lambdaQuery(MidjourneyUserConversation.class)
+                .notIn(MidjourneyUserConversation::getStatus, List.of("SUCCESS","FAILURE")).eq(MidjourneyUserConversation::getMode,1).orderByAsc(MidjourneyUserConversation::getId).last("limit 10"));
+
+        List<MidjourneyUserConversation> relaxMidjourneyUserConversations = conversationMapper.selectList(Wrappers.lambdaQuery(MidjourneyUserConversation.class)
+                .notIn(MidjourneyUserConversation::getStatus, List.of("SUCCESS","FAILURE")).eq(MidjourneyUserConversation::getMode,2).orderByAsc(MidjourneyUserConversation::getId).last("limit 10"));
+
+        Map<Long, List<MidjourneyUserConversation>> fastCollect = fastMidjourneyUserConversations.stream().collect(Collectors.groupingBy(MidjourneyUserConversation::getApiChannelId));
+
+        fastCollect.forEach((channel,list)->{
             try {
-                JSONArray jsonArray = listByIds(dbConversation.getMode(), List.of(dbConversation.getTaskId()),dbConversation.getApiChannelId());
+                JSONArray jsonArray = listByIds(1, list.stream().map(MidjourneyUserConversation::getTaskId).collect(Collectors.toList()), channel);
                 for (Object json : jsonArray) {
                     notifyHook(Jsons.toJson(json));
                 }
@@ -1064,6 +1070,12 @@ public class MidjourneyServiceImpl implements MidjourneyService {
                 throw new RuntimeException(e);
             }
         });
+
+        JSONArray relaxArray = listByIds(2, relaxMidjourneyUserConversations.stream().map(MidjourneyUserConversation::getTaskId).collect(Collectors.toList()), null);
+        for (Object json : relaxArray) {
+            notifyHook(Jsons.toJson(json));
+        }
+
     }
 
     @Override

+ 1 - 1
midjourney/src/main/java/com/yhlxj/service/task/Scheduler.java

@@ -27,7 +27,7 @@ public class Scheduler {
     private final MidjourneyAccountService midjourneyAccountService;
 
     @Scheduled(cron = "0 0/2 * * * ?")
-    public void syscConversation() {
+    public void syscConversation() throws Exception {
         midjourneyService.syscConversation();
     }