美文网首页
订单分拆退单

订单分拆退单

作者: 彭天自 | 来源:发表于2016-05-12 11:19 被阅读0次

    BossService层的方法

    • backOrder(orderID,backOrderDetail);

      • 参数说明:

        • orderID 订单ID;
        • backOrderDetail 退菜明细,结构如下:

    [{
    dishID:10001,
    num:1
    },{
    dishID:10002,
    num:1
    }]

    * #### 处理逻辑:
    1.往dishrefund表插入一条记录,需要生成退单的单号,用作支付退款时的外部业务号;
    2.往dishrefundetail表插入一条记录,关联新建的dishrefund,实退菜金额的计算得考虑当天的优惠政策,计算工式:实退菜金额=订单实付金额/订单原金额*原退菜金额,场景:平台优惠政策:9.5折,商家优惠政策:9.7拆,订单金额:¥230,实付订单金额:¥225, 225/230*20 =实退菜金额;
    3.往bill表插入一条记录,这里需要金额设置为负数,用来抵消原账号金额数;
    4.往billdetail插入一条记录,关联新建的bill;
    5.更新订单表的状态与明细表记录状态及退品数;
    6.向支付平台退款服务申请退款,这里需要用到分批退款
    
    * ### 时序图
      * #### 分拆退单
     ![订单分拆退单](https://img.haomeiwen.com/i1637907/a4cf9eb47a2272a3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
     商户老板点退菜时,调用`BossService.backOrder`;

    相关文章

      网友评论

          本文标题:订单分拆退单

          本文链接:https://www.haomeiwen.com/subject/vwzurttx.html