import org.apache.flink.api.common.state.{ValueState, ValueStateDescriptor}
import org.apache.flink.streaming.api.TimeCharacteristic
import org.apache.flink.streaming.api.functions.KeyedProcessFunction
import org.apache.flink.streaming.api.scala._
import org.apache.flink.util.Collector
object OrderPayTimeoutWithoutCep {
def main(args: Array[String]): Unit = {
val env = StreamExecutionEnvironment.getExecutionEnvironment
env.setParallelism(1)
env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)
// 从文件中读取数据
val resource = getClass.getResource("/OrderLog.csv")
val orderEventStream = env.readTextFile(resource.getPath)
.map( line => {
val arr = line.split(",")
OrderEvent(arr(0).toLong, arr(1), arr(2), arr(3).toLong)
} )
.assignAscendingTimestamps( _.timestamp * 1000L )
// 直接自定义ProcessFunction,检测不同的订单支付情况
val orderResultStream