Interface WorkflowNodeRepository

All Superinterfaces:
org.springframework.data.repository.CrudRepository<WorkflowNodeEntity,Long>, org.springframework.data.jpa.repository.JpaRepository<WorkflowNodeEntity,Long>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<WorkflowNodeEntity>, org.springframework.data.repository.ListCrudRepository<WorkflowNodeEntity,Long>, org.springframework.data.repository.ListPagingAndSortingRepository<WorkflowNodeEntity,Long>, org.springframework.data.repository.PagingAndSortingRepository<WorkflowNodeEntity,Long>, org.springframework.data.repository.query.QueryByExampleExecutor<WorkflowNodeEntity>, org.springframework.data.repository.Repository<WorkflowNodeEntity,Long>

public interface WorkflowNodeRepository extends org.springframework.data.jpa.repository.JpaRepository<WorkflowNodeEntity,Long>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<WorkflowNodeEntity>
  • Method Details

    • findByUid

    • existsByUid

      Boolean existsByUid(String uid)
    • findByNameAndOrgUidAndTypeAndDeletedFalse

      Optional<WorkflowNodeEntity> findByNameAndOrgUidAndTypeAndDeletedFalse(String name, String orgUid, String type)
    • findByUidAndDeletedFalse

      Optional<WorkflowNodeEntity> findByUidAndDeletedFalse(String uid)
      根据节点UID查找节点(使用继承的uid字段)
    • existsByUidAndDeletedFalse

      boolean existsByUidAndDeletedFalse(String uid)
      检查节点UID是否存在(使用继承的uid字段)
    • findByWorkflowOrderBySortOrderAsc

      List<WorkflowNodeEntity> findByWorkflowOrderBySortOrderAsc(WorkflowEntity workflow)
      根据工作流查找所有节点,按执行顺序排序
    • findByWorkflowAndType

      List<WorkflowNodeEntity> findByWorkflowAndType(WorkflowEntity workflow, String type)
      根据工作流和节点类型查找节点
    • findByWorkflowAndEnabledTrueOrderBySortOrderAsc

      List<WorkflowNodeEntity> findByWorkflowAndEnabledTrueOrderBySortOrderAsc(WorkflowEntity workflow)
      根据工作流查找启用的节点,按执行顺序排序
    • findByWorkflowAndStatus

      List<WorkflowNodeEntity> findByWorkflowAndStatus(WorkflowEntity workflow, String status)
      根据工作流和状态查找节点
    • findByWorkflowAndParentNodeUid

      List<WorkflowNodeEntity> findByWorkflowAndParentNodeUid(WorkflowEntity workflow, String parentNodeUid)
      根据工作流和父节点UID查找子节点
    • findByWorkflowAndParentNodeUidIsNull

      List<WorkflowNodeEntity> findByWorkflowAndParentNodeUidIsNull(WorkflowEntity workflow)
      查找工作流的根节点(没有父节点的节点)
    • countByWorkflowAndType

      long countByWorkflowAndType(WorkflowEntity workflow, String type)
      统计工作流中特定类型的节点数量
    • countByWorkflowAndStatus

      long countByWorkflowAndStatus(WorkflowEntity workflow, String status)
      统计工作流中特定状态的节点数量
    • findFailedNodes

      @Query("SELECT n FROM WorkflowNodeEntity n WHERE n.workflow = :workflow AND n.status = \'FAIL\'") List<WorkflowNodeEntity> findFailedNodes(@Param("workflow") WorkflowEntity workflow)
      查找工作流中执行失败的节点
    • findProcessingNodes

      @Query("SELECT n FROM WorkflowNodeEntity n WHERE n.workflow = :workflow AND n.status = \'PROCESSING\'") List<WorkflowNodeEntity> findProcessingNodes(@Param("workflow") WorkflowEntity workflow)
      查找工作流中正在执行的节点
    • findCompletedNodes

      @Query("SELECT n FROM WorkflowNodeEntity n WHERE n.workflow = :workflow AND n.status = \'SUCCESS\'") List<WorkflowNodeEntity> findCompletedNodes(@Param("workflow") WorkflowEntity workflow)
      查找工作流中已完成的节点
    • findByWorkflowAndName

      Optional<WorkflowNodeEntity> findByWorkflowAndName(WorkflowEntity workflow, String name)
      根据工作流和节点名称查找节点
    • findStartNodes

      @Query("SELECT n FROM WorkflowNodeEntity n WHERE n.workflow = :workflow AND n.type = \'start\' AND n.enabled = true") List<WorkflowNodeEntity> findStartNodes(@Param("workflow") WorkflowEntity workflow)
      查找工作流中的开始节点
    • findEndNodes

      @Query("SELECT n FROM WorkflowNodeEntity n WHERE n.workflow = :workflow AND n.type = \'end\' AND n.enabled = true") List<WorkflowNodeEntity> findEndNodes(@Param("workflow") WorkflowEntity workflow)
      查找工作流中的结束节点
    • findNodesExecutedBetween

      @Query("SELECT n FROM WorkflowNodeEntity n WHERE n.workflow = :workflow AND n.executionStartTime >= :startTime AND n.executionEndTime <= :endTime") List<WorkflowNodeEntity> findNodesExecutedBetween(@Param("workflow") WorkflowEntity workflow, @Param("startTime") ZonedDateTime startTime, @Param("endTime") ZonedDateTime endTime)
      查找指定时间范围内执行的节点
    • deleteByWorkflow

      void deleteByWorkflow(WorkflowEntity workflow)
      删除工作流的所有节点
    • findRetryableNodes

      @Query("SELECT n FROM WorkflowNodeEntity n WHERE n.workflow = :workflow AND n.status = \'FAIL\' AND n.enabled = true") List<WorkflowNodeEntity> findRetryableNodes(@Param("workflow") WorkflowEntity workflow)
      查找需要重试的节点(失败且允许重试的)
    • getWorkflowExecutionStatistics

      @Query("SELECT n.status, COUNT(n) FROM WorkflowNodeEntity n WHERE n.workflow = :workflow GROUP BY n.status") List<Object[]> getWorkflowExecutionStatistics(@Param("workflow") WorkflowEntity workflow)
      获取工作流执行统计信息
    • findTimeoutNodes

      @Query("SELECT n FROM WorkflowNodeEntity n WHERE n.status = \'PROCESSING\' AND n.executionStartTime < :timeoutBefore") List<WorkflowNodeEntity> findTimeoutNodes(@Param("timeoutBefore") ZonedDateTime timeoutBefore)
      查找超时的执行节点