Bladeren bron

fix mj接口返回值

zwhui 2 jaren geleden
bovenliggende
commit
7ccc94d422

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

@@ -13,25 +13,25 @@ import java.util.List;
  * @date 2024/4/23 15:44
  */
 public interface MidjourneyService {
-    MidjourneyUserConversation submitImagine(MidjourneyUser user, Integer mode,String prompt, String botType, List<String> base64Array) throws Exception;
+    SubmitResult submitImagine(MidjourneyUser user, Integer mode,String prompt, String botType, List<String> base64Array) throws Exception;
 
-    MidjourneyUserConversation submitDescribe(MidjourneyUser user, Integer mode,String botType, String base64) throws Exception;
+    SubmitResult submitDescribe(MidjourneyUser user, Integer mode,String botType, String base64) throws Exception;
 
-    MidjourneyUserConversation submitBlend(MidjourneyUser user, Integer mode,BlendDimensions dimensions, String botType, List<String> base64Array) throws Exception;
+    SubmitResult submitBlend(MidjourneyUser user, Integer mode,BlendDimensions dimensions, String botType, List<String> base64Array) throws Exception;
 
-    MidjourneyUserConversation submitModal(MidjourneyUser user,Integer mode, Long taskId, String prompt, String maskBase64) throws Exception;
+    SubmitResult submitModal(MidjourneyUser user,Integer mode, Long taskId, String prompt, String maskBase64) throws Exception;
 
-    MidjourneyUserConversation submitShorten(MidjourneyUser user, Integer mode,String botType, String prompt) throws Exception;
+    SubmitResult submitShorten(MidjourneyUser user, Integer mode,String botType, String prompt) throws Exception;
 
-    MidjourneyUserConversation submitSeed(MidjourneyUser user, Integer mode,Long taskId, String botType) throws Exception;
+    SubmitResult submitSeed(MidjourneyUser user, Integer mode,Long taskId, String botType) throws Exception;
 
     List<MidjourneyUserConversation> listConversationByIds(Integer mode, List<Long> ids) throws Exception;
 
     MidjourneyUserConversation getConversationById(Long id);
 
-    Object submitAction(MidjourneyUser user,MidjourneyUserConversation conversation,Integer mode, Long taskId, String customId, Long num, String botType) throws Exception;
+    SubmitResult submitAction(MidjourneyUser user,MidjourneyUserConversation conversation,Integer mode, Long taskId, String customId, Long num, String botType) throws Exception;
 
-    MidjourneyUserConversation cancelConversation(MidjourneyUser user, Long id);
+    void cancelConversation(MidjourneyUser user, Long id);
 
     void notifyHook(String conversation) throws Exception;
 

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

@@ -114,7 +114,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
     }
 
     @Override
-    public MidjourneyUserConversation submitImagine(MidjourneyUser user, Integer mode,String prompt, String botType, List<String> base64Array) throws Exception {
+    public SubmitResult submitImagine(MidjourneyUser user, Integer mode,String prompt, String botType, List<String> base64Array) throws Exception {
         Map<String, Object> imagineParam = MapUtil.builder(new HashMap<String,Object>())
                 .put("prompt", prompt)
                 .put("state", user.getId())
@@ -126,7 +126,8 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         if (mode == 2) {
             redisService.hincr(RedisService.key.MIDJOURNEY_ACCOUNT.getName(), result.getInstanceId().toString(), 1.0);
         }
-        return saveConversation(user.getId(), mode,result,"IMAGINE", StringUtils.EMPTY, botType);
+        saveConversation(user.getId(), mode,result,"IMAGINE", StringUtils.EMPTY, botType);
+        return result;
     }
 
     public MidjourneyUserConversation saveConversation(Long userId,Integer mode,SubmitResult result, String action,String prompt, String botType) throws Exception {
@@ -166,7 +167,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
 
 
     @Override
-    public MidjourneyUserConversation submitDescribe(MidjourneyUser user,Integer mode, String botType, String base64) throws Exception {
+    public SubmitResult submitDescribe(MidjourneyUser user,Integer mode, String botType, String base64) throws Exception {
         Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
                 .put("state", user.getId())
                 .put("base64", base64)
@@ -175,11 +176,12 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         if (mode == 2) {
             redisService.hincr(RedisService.key.MIDJOURNEY_ACCOUNT.getName(), result.getInstanceId().toString(), 1.0);
         }
-        return saveConversation(user.getId(), mode,result,"DESCRIBE", StringUtils.EMPTY, botType);
+        saveConversation(user.getId(), mode,result,"DESCRIBE", StringUtils.EMPTY, botType);
+        return result;
     }
 
     @Override
-    public MidjourneyUserConversation submitBlend(MidjourneyUser user, Integer mode,BlendDimensions dimensions, String botType, List<String> base64Array) throws Exception {
+    public SubmitResult submitBlend(MidjourneyUser user, Integer mode,BlendDimensions dimensions, String botType, List<String> base64Array) throws Exception {
         Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
                 .put("base64Array", base64Array)
                 .put("state", user.getId())
@@ -191,11 +193,12 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         if (mode == 2) {
             redisService.hincr(RedisService.key.MIDJOURNEY_ACCOUNT.getName(), result.getInstanceId().toString(), 1.0);
         }
-        return saveConversation(user.getId(), mode,result,"BLEND", StringUtils.EMPTY, botType);
+        saveConversation(user.getId(), mode,result,"BLEND", StringUtils.EMPTY, botType);
+        return result;
     }
 
     @Override
-    public MidjourneyUserConversation submitModal(MidjourneyUser user,Integer mode, Long taskId, String prompt, String maskBase64) throws Exception {
+    public SubmitResult submitModal(MidjourneyUser user,Integer mode, Long taskId, String prompt, String maskBase64) throws Exception {
         Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
                 .put("taskId", taskId)
                 .put("state", user.getId())
@@ -210,11 +213,12 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         if (mode == 2) {
             redisService.hincr(RedisService.key.MIDJOURNEY_ACCOUNT.getName(), result.getInstanceId().toString(), 1.0);
         }
-        return saveConversation(user.getId(),  mode,result,"MODAL", StringUtils.EMPTY, StringUtils.EMPTY);
+        saveConversation(user.getId(),  mode,result,"MODAL", StringUtils.EMPTY, StringUtils.EMPTY);
+        return result;
     }
 
     @Override
-    public MidjourneyUserConversation submitShorten(MidjourneyUser user,Integer mode, String botType, String prompt) throws Exception {
+    public SubmitResult submitShorten(MidjourneyUser user,Integer mode, String botType, String prompt) throws Exception {
         Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
                 .put("prompt", prompt)
                 .put("state", user.getId())
@@ -223,11 +227,12 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         if (mode == 2) {
             redisService.hincr(RedisService.key.MIDJOURNEY_ACCOUNT.getName(), result.getInstanceId().toString(), 1.0);
         }
-        return saveConversation(user.getId(), mode, result,"SHORTEN", StringUtils.EMPTY, botType);
+        saveConversation(user.getId(), mode, result,"SHORTEN", StringUtils.EMPTY, botType);
+        return result;
     }
 
     @Override
-    public MidjourneyUserConversation submitSeed(MidjourneyUser user, Integer mode,Long taskId, String botType) throws Exception {
+    public SubmitResult submitSeed(MidjourneyUser user, Integer mode,Long taskId, String botType) throws Exception {
         //SubmitResult result = seed(user.getMode(),"seed", taskId);
         //return saveConversation(user.getId(), user.getMode(), result,"SEED", StringUtils.EMPTY, botType);
         return null;
@@ -307,7 +312,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
 //    }
 
     @Override
-    public Object submitAction(MidjourneyUser user,MidjourneyUserConversation conversation,Integer mode, Long taskId, String customId, Long num, String botType) throws Exception {
+    public SubmitResult submitAction(MidjourneyUser user,MidjourneyUserConversation conversation,Integer mode, Long taskId, String customId, Long num, String botType) throws Exception {
         AtomicBoolean modalFlag = new AtomicBoolean(false);
         if (StringUtils.isNotBlank(conversation.getButtons())){
             List<MessageButton> messageButtons = Jsons.parseList(conversation.getButtons(), MessageButton.class);
@@ -345,7 +350,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         SubmitResult result = submit(user,mode,"action", conversation.getInstanceId(),param);
         if (result.getCode() == 21) {
             if (mode == 2 && modalFlag.get()){
-                MidjourneyUserConversation modal = submitModal(user, mode,Long.valueOf(result.getResult()), conversation.getPrompt(), null);
+                SubmitResult modal = submitModal(user, mode,Long.valueOf(result.getResult()), conversation.getPrompt(), null);
                 log.info("action-modal:{}", modal);
                 return modal;
             }else {
@@ -651,7 +656,7 @@ public class MidjourneyServiceImpl implements MidjourneyService {
     }
 
     @Override
-    public MidjourneyUserConversation cancelConversation(MidjourneyUser user, Long id) {
+    public void cancelConversation(MidjourneyUser user, Long id) {
         MidjourneyUserConversation conversation = conversationMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUserConversation.class).eq(MidjourneyUserConversation::getId, id));
         if (conversation == null) {
             throw BusinessRuntimeException.getInstance("会话不存在");
@@ -665,7 +670,6 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         //TASK_EXECUTOR.execute(() -> {
             //cancel(user.getMode(),conversation.getTaskId());
         //});
-        return conversation;
     }
 
     public void cancel(Integer mode,Long taskId) {

+ 16 - 14
midjourney/src/main/java/com/yhlxj/web/mirror/MidjourneyController.java

@@ -20,6 +20,7 @@ import com.yhlxj.dao.model.entity.GroupsRelation;
 import com.yhlxj.dao.model.entity.MidjourneyPaintingPlaza;
 import com.yhlxj.dao.model.entity.MidjourneyUser;
 import com.yhlxj.dao.model.entity.MidjourneyUserConversation;
+import com.yhlxj.dao.model.response.SubmitResult;
 import com.yhlxj.dao.model.views.MidjourneyPaintingUserView;
 import com.yhlxj.dao.model.views.MidjourneyUserPaintingDayRecordView;
 import com.yhlxj.dao.model.views.MidjourneyUserPaintingRecordView;
@@ -180,7 +181,7 @@ public class MidjourneyController {
      */
     @PostMapping("/submit/imagine")
     @NoSubmit
-    public Result<MidjourneyUserConversation> submitImagine(@RequestBody SubmitImagineDTO submitImagineDTO) {
+    public Result<SubmitResult> submitImagine(@RequestBody SubmitImagineDTO submitImagineDTO) {
         log.info("提交Imagine任务,提示:{}",submitImagineDTO.getPrompt());
         MidjourneyUser user = getUser();
         Integer mode = submitImagineDTO.getMode();
@@ -188,7 +189,7 @@ public class MidjourneyController {
         if (num != null && num < 0){
             throw BusinessRuntimeException.getInstance("次数已用完");
         }
-        MidjourneyUserConversation conversation;
+        SubmitResult conversation;
         try {
             conversation = midjourneyService.submitImagine(user, mode, submitImagineDTO.getPrompt(), submitImagineDTO.getBotType(), submitImagineDTO.getBase64Array());
         } catch (Exception e) {
@@ -204,7 +205,7 @@ public class MidjourneyController {
      */
     @PostMapping("/submit/describe")
     @NoSubmit
-    public Result<MidjourneyUserConversation> submitDescribe(@RequestBody SubmitDescribeDTO submitDescribeDTO) {
+    public Result<SubmitResult> submitDescribe(@RequestBody SubmitDescribeDTO submitDescribeDTO) {
         log.info("提交Describe任务");
         MidjourneyUser user = getUser();
         Integer mode = submitDescribeDTO.getMode();
@@ -212,7 +213,7 @@ public class MidjourneyController {
         if (num != null && num < 0){
             throw BusinessRuntimeException.getInstance("次数已用完");
         }
-        MidjourneyUserConversation conversation;
+        SubmitResult conversation;
         try {
             conversation = midjourneyService.submitDescribe(user, mode,submitDescribeDTO.getBotType(),submitDescribeDTO.getBase64());
         } catch (Exception e) {
@@ -228,7 +229,7 @@ public class MidjourneyController {
      */
     @PostMapping("/submit/blend")
     @NoSubmit
-    public Result<MidjourneyUserConversation> submitBlend(@RequestBody SubmitBlendDTO submitBlendDTO) {
+    public Result<SubmitResult> submitBlend(@RequestBody SubmitBlendDTO submitBlendDTO) {
         log.info("提交Blend任务 dimensions:{},base64数组长度:{}", submitBlendDTO.getDimensions(), submitBlendDTO.getBase64Array().size());
         Integer mode = submitBlendDTO.getMode();
         MidjourneyUser user = getUser();
@@ -236,7 +237,7 @@ public class MidjourneyController {
         if (num != null && num < 0){
             throw BusinessRuntimeException.getInstance("次数已用完");
         }
-        MidjourneyUserConversation conversation;
+        SubmitResult conversation;
         try {
             conversation = midjourneyService.submitBlend(user, mode,submitBlendDTO.getDimensions(), submitBlendDTO.getBotType(), submitBlendDTO.getBase64Array());
         } catch (Exception e) {
@@ -252,7 +253,7 @@ public class MidjourneyController {
      */
     @PostMapping("/submit/modal")
     @NoSubmit
-    public Result<MidjourneyUserConversation> submitModal(@RequestBody SubmitModalDTO submitModalDTO) {
+    public Result<SubmitResult> submitModal(@RequestBody SubmitModalDTO submitModalDTO) {
         log.info("提交Modal任务,taskId:{},提示:{}",submitModalDTO.getTaskId(),submitModalDTO.getPrompt());
         Integer mode = submitModalDTO.getMode();
         MidjourneyUser user = getUser();
@@ -260,7 +261,7 @@ public class MidjourneyController {
         if (num != null && num < 0){
             throw BusinessRuntimeException.getInstance("次数已用完");
         }
-        MidjourneyUserConversation conversation;
+        SubmitResult conversation;
         try {
             conversation = midjourneyService.submitModal(user, mode, submitModalDTO.getTaskId(), submitModalDTO.getPrompt(), submitModalDTO.getMaskBase64());
         } catch (Exception e) {
@@ -276,7 +277,7 @@ public class MidjourneyController {
      */
     @PostMapping("/submit/shorten")
     @NoSubmit
-    public Result<MidjourneyUserConversation> submitShorten(@RequestBody SubmitShortenDTO submitShortenDTO) {
+    public Result<SubmitResult> submitShorten(@RequestBody SubmitShortenDTO submitShortenDTO) {
         log.info("提交Shorten任务 提示词:{}",submitShortenDTO.getPrompt());
         Integer mode = submitShortenDTO.getMode();
         MidjourneyUser user = getUser();
@@ -284,7 +285,7 @@ public class MidjourneyController {
         if (num != null && num < 0){
             throw BusinessRuntimeException.getInstance("次数已用完");
         }
-        MidjourneyUserConversation conversation;
+        SubmitResult conversation;
         try {
             conversation = midjourneyService.submitShorten(user, mode, submitShortenDTO.getBotType(), submitShortenDTO.getPrompt());
         } catch (Exception e) {
@@ -300,7 +301,7 @@ public class MidjourneyController {
      */
     @PostMapping("/submit/action")
     @NoSubmit
-    public Result<Object> action(@RequestBody SubmitActionDTO actionDTO) {
+    public Result<SubmitResult> action(@RequestBody SubmitActionDTO actionDTO) {
         log.info("任务id:{},执行动作:{}",actionDTO.getTaskId(),actionDTO.getCustomId());
         MidjourneyUser user = getUser();
         MidjourneyUserConversation midjourneyUserConversation = conversationMapper.selectOne(Wrappers.lambdaQuery(MidjourneyUserConversation.class).eq(MidjourneyUserConversation::getTaskId, actionDTO.getTaskId()).last("limit 1"));
@@ -315,7 +316,7 @@ public class MidjourneyController {
                 throw BusinessRuntimeException.getInstance("次数已用完");
             }
         }
-        Object conversation;
+        SubmitResult conversation;
         try {
             conversation = midjourneyService.submitAction(user,midjourneyUserConversation,mode, actionDTO.getTaskId(), actionDTO.getCustomId(),num, actionDTO.getBotType());
         } catch (Exception e) {
@@ -377,10 +378,11 @@ public class MidjourneyController {
      */
     @PostMapping("/conversation/{id}/cancel")
     @NoSubmit
-    public Result<MidjourneyUserConversation> conversationCancel(@PathVariable("id") Long id){
+    public Result<Void> conversationCancel(@PathVariable("id") Long id){
         MidjourneyUser user = getUser();
         log.info("取消任务 id:{}",id);
-        return GatewayResponse.SUCCESS.newBuilder().toResult(midjourneyService.cancelConversation(user,id));
+        midjourneyService.cancelConversation(user,id);
+        return GatewayResponse.SUCCESS.newBuilder().toResult();
     }