GraphRelation.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.lingyue.graph.entity;
  2. import com.baomidou.mybatisplus.annotation.TableField;
  3. import com.baomidou.mybatisplus.annotation.TableName;
  4. import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
  5. import com.lingyue.common.domain.entity.SimpleModel;
  6. import io.swagger.v3.oas.annotations.media.Schema;
  7. import lombok.Data;
  8. import lombok.EqualsAndHashCode;
  9. /**
  10. * 图关系实体
  11. * 用于存储节点之间的关系和动作
  12. *
  13. * @author lingyue
  14. * @since 2026-01-14
  15. */
  16. @EqualsAndHashCode(callSuper = true)
  17. @Data
  18. @TableName(value = "graph_relations", autoResultMap = true)
  19. @Schema(description = "图关系实体")
  20. public class GraphRelation extends SimpleModel {
  21. @Schema(description = "源节点ID")
  22. @TableField("from_node_id")
  23. private String fromNodeId;
  24. @Schema(description = "目标节点ID")
  25. @TableField("to_node_id")
  26. private String toNodeId;
  27. @Schema(description = "关系类型", example = "DEP/ADD/SUB/MUL/DIV/UNION/INTERSECT/AI")
  28. @TableField("relation_type")
  29. private String relationType;
  30. @Schema(description = "动作类型", example = "calculate/extract/generate")
  31. @TableField("action_type")
  32. private String actionType;
  33. @Schema(description = "动作配置", example = "{\"model_id\": \"qwen-7b\", \"prompt\": \"...\"}")
  34. @TableField(value = "action_config", typeHandler = JacksonTypeHandler.class)
  35. private Object actionConfig;
  36. @Schema(description = "顺序索引", example = "0")
  37. @TableField("order_index")
  38. private Integer orderIndex = 0;
  39. @Schema(description = "条件表达式", example = "value > 100")
  40. @TableField("condition_expr")
  41. private String conditionExpr;
  42. @Schema(description = "元数据")
  43. @TableField(value = "metadata", typeHandler = JacksonTypeHandler.class)
  44. private Object metadata;
  45. }