zwhui 2 anos atrás
pai
commit
80627c2036

+ 35 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/MessageButton.java

@@ -0,0 +1,35 @@
+package com.cyksj.model.dto;
+
+import lombok.Data;
+
+/**
+ * 可执行按钮
+ */
+@Data
+public class MessageButton {
+    /**
+     * 动作标识
+     */
+    private String customId;
+
+    /**
+     * 图标
+     */
+    private String emoji = "";
+
+    /**
+     * 文本
+     */
+    private String label;
+
+    /**
+     * 类型,系统内部使用
+     */
+    private int type = 2;
+
+    /**
+     * 样式: 2(Primary)、3(Green)
+     */
+    private int style = 2;
+
+}

+ 5 - 2
netflix-dao/src/main/java/com/cyksj/model/entity/MidjourneyUserConversation.java

@@ -1,10 +1,13 @@
 package com.cyksj.model.entity;
 
+import com.cyksj.model.dto.MessageButton;
 import com.ejlchina.searcher.bean.SearchBean;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author zwhui
@@ -85,11 +88,11 @@ public class MidjourneyUserConversation extends BaseEntity implements Serializab
     /**
      * 按钮
      */
-    private String buttons;
+    private List<MessageButton> buttons;
 
     /**
      * 属性
      */
-    private String properties;
+    private Map<String, Object> properties;
 
 }

+ 6 - 0
netflix-service/src/main/java/com/cyksj/service/midjourney/impl/MidjourneyServiceImpl.java

@@ -127,6 +127,12 @@ public class MidjourneyServiceImpl implements MidjourneyService {
         if (!user.getMode().equals(conversation.getMode())) {
             throw BusinessRuntimeException.getInstance("当前出图模式与关联任务出图模式不符");
         }
+        conversation.getButtons().forEach(button -> {
+            if (button.getCustomId().equals(customId)) {
+                button.setStyle(3);
+            }
+        });
+        conversationMapper.updateById(conversation);
         Map<String, Object> param = MapUtil.builder(new HashMap<String,Object>())
                 .put("taskId", taskId).put("state", user.getId()).put("customId", customId).build();
         SubmitResult result = submit(user.getMode(),"action", param);