1.首先运行程序,启动camunda。
2.访问camunda的网页端默认用户名和密码是demo和demo.http://localhost:8080/camunda 进入Tasklist页面,然后启动一个实例。【概念类比,挂载的bpmn流程就像一个类,然后需要实例化一个具体的对象出来使用,车类和车类比理解。】
3.加一个标记数字925
4.点击claim
5.完成第一个用户任务的表格select coffee,然后经过Service task计算价格。token流转到下一个用户任务confirm order.等待用户进行操作。接下来继续完成confirm order的表格,token继续流转。
6.完成confirm orde这个用户任务后,token继续移动到下一个用户任务
7.如何使用servicetask计算价格
控件名key,getvariable的时候使用这个名字来获取
用户输入的控件值。
每个控件有显示值和实际值,在右下红框staticoptions
处设置。label就是显示值,value就是实际值
在java类中书写逻辑的时候,Getvariable获取到的是
实际值,来进行逻辑判断。
8.计算出价格后,通过Setvariable方法, 把计算出来的price展示在amount控件上给顾客看,让顾客确认
9.程序流转
所以我在execute内部,通过传入的delegateExecution对象,调用了他的getVariable方法,来获得了控件coffee_type的值,然后进行逻辑处理。最后还通过setVariable方法,把计算后咖啡的价格传给名为amount的控件。
这里值得注意的是,设置了一个paymentattemts的key,他的值value为0.这里是首次初始化,用来记录尝试付款的次数。