zoukankan      html  css  js  c++  java
  • 订单合并付款之后,是否需要拆分支付流水?

    1.表

    • 1.主订单表
    • 2.子订单表
    • 3.商品信息表
    • 4.支付流水表

    2.订单

    1.订单的基本设计

    2.拆单

    所谓拆单一般指的是拆订单,而不是拆支付流水。一个订单中包含多个商品时,需要把其中一个或者几个商品进行分组,生成子订单。即一次支付对应多个订单的情况。

    拆单的形式:

    • 便于后期结算,按商家拆单。
    • 便于商品发货,按仓库拆单。

    拆单后涉及到一个问题,在付款的时候,虽然拆分多个订单,但是可能涉及到合并付款的情况。

    需要注意的地方,所有的合并付款,拆单都是基于订单,不涉及到付款模块。

    拆单设计到的问题

    • 1.积分,优惠券,红包怎么分配到多个订单上
    • 2.对账的时候,按主订单对账

    主订单,子订单,商品表之间的关系

    • 1.主订单
      在支付的时候,使用的订单号是主订单号。
      在对账的时候,按照主订单来对账。这样的话就不需要拆分支付流水了。
      一个支付流水对应一个主订单,支付流水和其他子订单没有关系。

    • 2.子订单
      记录该订单所有关联的商品信息。
      一个主订单可能有一个或者多个子订单。

    • 3.商品信息表
      记录商品信息,商品数量,商品价格等等。

    3.支付流水

    订单和支付实际上是两个业务,支付唯一影响订单的应该是订单的支付状态以及交易流水号等。
    我们应该将订单和支付彻底分开,不要混在一起,即支付不需要考虑具体的订单的拆单。

    4.退单

    可能退子订单,也可能退整单。
    用户选择要退款的商品,形成退款订单。
    订单生成规则和正常购买订单的规则一样。根据商家判断是否形成多个子订单。

    需要注意的点

    退单的时候,多个子订单,涉及到了积分的使用。退的方式的要怎么处理。

    5.流程

    1.用户购买商品

    同一个商家,形成一个主订单和一个子订单
    N个商家,形成一个主订单和N个子订单

    2.用户支付

    修改主订单的支付状态

    3.用户退款

    生成退款订单

    4.发货

    根据子订单来发货

    5.结算

    根据订单状态和商家生成结算数据即可。

  • 相关阅读:
    install jprofiler for ubuntu
    android manifest相关属性
    install nginx for ubuntu
    Android shape
    mobile web for no cookie session
    Android布局属性
    什么是强类型,强类型集合
    radl (三) (转)
    几个.net 基础问题,自己回答了一些,请大家指教
    c#接口和抽象类的区别
  • 原文地址:https://www.cnblogs.com/snakejia/p/8511736.html
Copyright © 2011-2022 走看看