ofbiz中order和ecommerce中的工作流范例的工作流程(转载)

ofbiz中order和ecommerce中的工作流范例的工作流程


 processorder-->checkblacklist -->processpayment -->success --> clearchart --> initiateOrderWorkflow -->start the workflow

 1.首先根据订单提交时的用processorder,根据ecommerce下的controller.xml发现
     <request-map uri="processorder">
         <security https="true"/>
         <event type="java" path="org.ofbiz.commonapp.order.shoppingcart.CheckOutEvents" invoke="createOrder"/>
         <response name="success" type="request" value="checkBlacklist"/>
         <response name="error" type="view" value="checkout"/>
     </request-map>
 在调用createOrder成功后,根据success的条件,调用checkBlacklist,同样在根据ecommerce下的controller.xml发现

     <request-map uri="checkBlacklist">
         <security direct-request="false"/>
         <event type="java" path="org.ofbiz.commonapp.order.shoppingcart.CheckOutEvents" invoke="checkOrderBlacklist"/>
         <response name="success" type="request" value="processpayment"/>
         <response name="failed" type="request" value="failedBlacklist"/>
         <response name="error" type="view" value="checkout"/>
     </request-map>

 在checkOrderBlacklist成功后,根据success,转向processpayment
     <request-map uri="processpayment">
         <security https="true" direct-request="false"/>
         <event type="java" path="org.ofbiz.commonapp.order.shoppingcart.CheckOutEvents" invoke="processPayment"/>
         <response name="success" type="request" value="clearcartfororder"/>
         <response name="fail" type="view" value="checkoutoptions"/>
         <response name="error" type="view" value="checkout"/>
     </request-map>

 processPayment成功后,转向clearcartfororder
     <request-map uri="clearcartfororder">
         <security direct-request="false"/>
         <event type="java" path="org.ofbiz.commonapp.order.shoppingcart.ShoppingCartEvents" invoke="clearCart"/>
         <response name="success" type="request" value="initiateOrderWorkflow"/>
         <response name="error" type="view" value="checkout"/>
     </request-map>

 成功后,调用initiateOrderWorkflow,
     <request-map uri="initiateOrderWorkflow">
         <security https="true" direct-request="false"/>
         <event type="java" path="org.ofbiz.commonapp.order.shoppingcart.CheckOutEvents" invoke="initiateOrderWorkflow"/>
         <response name="success" type="request" value="checkExternalPayment"/>
         <response name="error" type="view" value="checkout"/>
     </request-map>   

 在initiateOrderWorkflow中,                
 dispatcher.runAsync("processOrder", UtilMisc.toMap("orderId", orderId, "orderStatusId", orderHeader.getString("statusId"screen.width/2)this.width=screen.width/2" vspace=2 border=0>));启动工作流,对应services_order.xml中的
     <service name="processOrder" engine="workflow" location="org.ofbiz.commonapp.order.order" invoke="ProcessOrder">
         <description>Service for testing the workflow engine</description>
         <attribute name="orderId" type="String" mode="IN" optional="false"/>         
         <attribute name="orderStatusId" type="String" mode="INOUT" optional="false"/>
     </service>
 此service的engine为workflow表示是一个工作流的服务,

 service的定义ProcessOrder中的location表示xpdl定义中的package,
  <Package Id="org.ofbiz.commonapp.order.order">
 invoke对应与在orderProcessXPDL.xml中,
        <WorkflowProcess Id="ProcessOrder" Name="Processes incoming orders">


 ======================================

 在ecommerce中下单后,
  在ordermgr中
   此订单的my status的状态为hold
  在workeffort中
   activity status为suspended,my status为accepted,activity name 为Order Not Ready
 准备收钱,点击[receive Payment]
 aciton=ttp://localhost:8080/ordermgr/control/receivepayment?order_id=10000&workEffortId=10002&partyId=admin&roleTypeId=_NA_&fromDate=2003-06-29 10:43:03.0

 在收到钱后,点击[save]
 action=/ordermgr/control/receiveOfflinePayments/orderview?order_id=10000&workEffortId=10002&partyId=admin&roleTypeId=_NA_&fromDate=2003-06-29 10:43:03.0

 此时,orderlist中
  在ordermgr中
   此订单的my status的状态为waiting
  在workeffort中
   activity status为not started,my status为sent,activity name 为Complete Order

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值