refactor(dify): 优化 workflow 数据处理
- 修改 WorkflowData 实体类,将 data 字段类型从 String 改为 WorkflowRunResponse.WorkflowRunData - 更新 DifyWorkflowServiceImpl 中的数据处理逻辑,直接使用 WorkflowRunResponse.WorkflowRunData 对象 - 在 WorkflowRepository 中添加 getData 方法,用于获取未解析的 data 字符串
This commit is contained in:
parent
b299e5a6b1
commit
b6ba156d67
@ -35,9 +35,9 @@ public class WorkflowData{
|
|||||||
@TableField(value = "dept_id", fill = FieldFill.INSERT)
|
@TableField(value = "dept_id", fill = FieldFill.INSERT)
|
||||||
private Long deptId;
|
private Long deptId;
|
||||||
|
|
||||||
@TableField(exist = false)
|
|
||||||
private WorkflowRunResponse.WorkflowRunData runData;
|
|
||||||
|
|
||||||
@TableField(typeHandler = JsonbTypeHandler.class)
|
@TableField(typeHandler = JsonbTypeHandler.class)
|
||||||
private String data;
|
private WorkflowRunResponse.WorkflowRunData data;
|
||||||
|
|
||||||
|
// @TableField(typeHandler = JsonbTypeHandler.class)
|
||||||
|
// private String runData;
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,10 @@ package com.zsc.edu.dify.modules.dify.repo;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.zsc.edu.dify.modules.dify.entity.WorkflowData;
|
import com.zsc.edu.dify.modules.dify.entity.WorkflowData;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
public interface WorkflowRepository extends BaseMapper<WorkflowData> {
|
public interface WorkflowRepository extends BaseMapper<WorkflowData> {
|
||||||
|
|
||||||
|
@Select("select data from workflow_data where id = #{id}")
|
||||||
|
String getData(Long id);
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,8 @@ import jakarta.annotation.Resource;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Service
|
@Service
|
||||||
public class DifyWorkflowServiceImpl extends ServiceImpl<WorkflowRepository, WorkflowData> implements DifyWorkflowService {
|
public class DifyWorkflowServiceImpl extends ServiceImpl<WorkflowRepository, WorkflowData> implements DifyWorkflowService {
|
||||||
@ -39,7 +41,7 @@ public class DifyWorkflowServiceImpl extends ServiceImpl<WorkflowRepository, Wor
|
|||||||
WorkflowRunResponse response = difyWorkflow.runWorkflow(request);
|
WorkflowRunResponse response = difyWorkflow.runWorkflow(request);
|
||||||
WorkflowData workflowData =mapper.toEntity(response);
|
WorkflowData workflowData =mapper.toEntity(response);
|
||||||
workflowData.setAppId(appId);
|
workflowData.setAppId(appId);
|
||||||
workflowData.setData(String.valueOf(response.getData()));
|
workflowData.setData(response.getData());
|
||||||
baseMapper.insert(workflowData);
|
baseMapper.insert(workflowData);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
@ -51,8 +53,8 @@ public class DifyWorkflowServiceImpl extends ServiceImpl<WorkflowRepository, Wor
|
|||||||
throw new RuntimeException("未找到数据");
|
throw new RuntimeException("未找到数据");
|
||||||
}
|
}
|
||||||
WorkflowRunResponse.WorkflowRunData parsedData =
|
WorkflowRunResponse.WorkflowRunData parsedData =
|
||||||
JSON.parseObject(workflowData.getData(), WorkflowRunResponse.WorkflowRunData.class);
|
JSON.parseObject(baseMapper.getData(id), WorkflowRunResponse.WorkflowRunData.class);
|
||||||
workflowData.setRunData(parsedData);
|
workflowData.setData(parsedData);
|
||||||
return workflowData;
|
return workflowData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user