SpringBoot集成Camunda

118 阅读1分钟

1.首先运行程序,启动camunda。

image.png

2.访问camunda的网页端默认用户名和密码是demo和demo.http://localhost:8080/camunda 进入Tasklist页面,然后启动一个实例。【概念类比,挂载的bpmn流程就像一个类,然后需要实例化一个具体的对象出来使用,车类和车类比理解。】

image.png 3.加一个标记数字925 image.png 4.点击claim

image.png 5.完成第一个用户任务的表格select coffee,然后经过Service task计算价格。token流转到下一个用户任务confirm order.等待用户进行操作。接下来继续完成confirm order的表格,token继续流转。

image.png 6.完成confirm orde这个用户任务后,token继续移动到下一个用户任务

image.png

7.如何使用servicetask计算价格

image.png

控件名key,getvariable的时候使用这个名字来获取 用户输入的控件值。 每个控件有显示值和实际值,在右下红框staticoptions 处设置。label就是显示值,value就是实际值 在java类中书写逻辑的时候,Getvariable获取到的是 实际值,来进行逻辑判断。 image.png

8.计算出价格后,通过Setvariable方法, 把计算出来的price展示在amount控件上给顾客看,让顾客确认

image.png

9.程序流转

image.png

image.png

image.png 所以我在execute内部,通过传入的delegateExecution对象,调用了他的getVariable方法,来获得了控件coffee_type的值,然后进行逻辑处理。最后还通过setVariable方法,把计算后咖啡的价格传给名为amount的控件。 这里值得注意的是,设置了一个paymentattemts的key,他的值value为0.这里是首次初始化,用来记录尝试付款的次数。

image.png