소스 검색

【增加】增加 MidjourneyNotifyReqVO.Button 类型转换器

cherishsince 10 달 전
부모
커밋
513ded4f61
1개의 변경된 파일16개의 추가작업 그리고 1개의 파일을 삭제
  1. 16 1
      yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java

+ 16 - 1
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.ai.dal.dataobject.image;
 
+import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.ai.client.vo.MidjourneyNotifyReqVO;
 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiChatModelDO;
@@ -9,6 +10,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import lombok.Data;
 import org.springframework.ai.openai.OpenAiImageOptions;
@@ -108,7 +110,7 @@ public class AiImageDO extends BaseDO {
     /**
      * mj buttons 按钮
      */
-    @TableField(typeHandler = JacksonTypeHandler.class)
+    @TableField(typeHandler = ButtonTypeHandler.class)
     private List<MidjourneyNotifyReqVO.Button> buttons;
 
     /**
@@ -121,5 +123,18 @@ public class AiImageDO extends BaseDO {
      */
     private String errorMessage;
 
+    public static class ButtonTypeHandler extends AbstractJsonTypeHandler<Object> {
+
+        @Override
+        protected Object parse(String json) {
+            return JsonUtils.parseArray(json, MidjourneyNotifyReqVO.Button.class);
+        }
+
+        @Override
+        protected String toJson(Object obj) {
+            return JsonUtils.toJsonString(obj);
+        }
+    }
+
 }