首页 > 解决方案 > 如何在 java/kotlin 中启动工作流程或启动操作链

问题描述

如何在 java/kotlin 中启动工作流程或启动一系列操作?

我有一个有几个步骤的工作流程。每个步骤都根据if条件执行,如果条件满足我们执行该步骤,如果不满足则继续下一步。

标签: javakotlinworkflow

解决方案


Step1:创建接口

interface Chain {
    fun setNextChain(nextChain: Chain?)
    fun getChainResponse(someInput: SomeInputClass): ChainResponse?
}

Step2:为工作流程中的 ech 步骤创建类并实现链接口

class Step1InWorkflow : Chain {
private var nextInChain: Chain? = null

override fun setNextChain(nextChain: Chain?) {
    nextInChain = nextChain
}

override fun getChainResponse(
    someInput: SomeInputClass
): ChainResponse? {
    
    return if ( execute step1 based on some condition) {
        // FLOW ->   Step 1
        getStepOneResponse(contractant)
    } else {
        setNextChain(Step2InWorkflow())
        nextInChain?.getChainResponse(someInput: SomeInputClass)
    }
}

private fun getStepOneResponse(input: Input): ChainResponse {
  // logic and return response
}
}

Step3:工作流程结束

class Step2InWorkflow : Chain {
private var nextInChain: Chain? = null

override fun setNextChain(nextChain: Chain?) {
    nextInChain = nextChain
}

override fun getChainResponse(someInput: SomeInputClass): ChainResponse? {
    // some business logic
    return getStep2Response(input)
}

private fun getStep2Response(input:Input): ChainResponse {
    // return response
}
}

推荐阅读