美文网首页
订单微服务 接口设计说明

订单微服务 接口设计说明

作者: KennethChen93 | 来源:发表于2017-08-30 14:22 被阅读694次

    阅读只需要一分钟,转载请注明出处.
    (未完成. v0.1.0)

    api.qrder.dotnet.sdao

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

    订单微服务 接口设计说明

    • 文档介绍###

      订单:是一个用户产生购买商品行为的快照/定格

      侧重看 用户 购买 商品 行为 快照

    • 设计思路概要描述###

      先用用户主体入手,一个订单一般默认会有一个下单的用户,第一种是匿名用户,第二种是注册用户。匿名代表输入手机号就可以购买。这里设计的时候应该有一个用户Id.

      这里有另外的主体,用户购买商品,商品在订单里面通常是一个合集。它有产品的Id,名称,价格,数量,shopId(哪个商店购买的),店
      名。购买商品这个行为除了本身,怎么才能产生商品的购买行为呢?

      写自己的配送信息,一个支付行为,还有一个物流。另外还有一个促销行为(满500-10等等)。

      关注 快照 。一旦这个订单发生了,它的所有信息都必须被记录,而不是只保持一个关系,比如说某一款商品,我们拿到它的价格和它的名称这些,那一旦产生订单后,在商城里的商品是可变的,它一会调价,一会修改名称,订单一旦产生后就是不变的。

      Order都是一个行为的快照,这个快照有另外的概念,用的什么支付,用的什么物流,用的什么促销都是不变的。但是有几个:是不是支付完成(不确定),物流状态不确定,等等这些都是由状态可修改的。促销和商品都不能改,除非从新下单。

      订单具备状态:

      划分状态,最好是划分为互斥的,原子化的东西,互不相关的东西。

      下单:是否

      是:存在数据库中,默认下单状态就是:是。不允许再修改商品,价格等等的信息了。

      否:存为草稿状态(是否存在数据库中.前期存草稿不放到数据库中,但是保留这个能力。)

      支付:是否支付(一旦确认完成,支付完成,下单状态才修改未是)

      物流:发货(是否) 收货(是否)。(不用关注第三方物流的状态)

      评论

      退货

      发起退货(是否)

      接受退货(是否)

      退货已发送(是否)

      退货已收(是否)

      发票:是否已开发票(是否)

      其他待定...

    进过设计,一下是它的数据库,但是总觉得有很大的瑕疵,但也说不上来,我项目是用的EF Core code firrst写的。以下待修改。

    数据库表:Order ,一开始做的时候我只需要先着重写 ”快照这个“

    {
       id:自增Id
       in_trade_no:平台内部订单号
       ProductItems: 下单商品合集(订单(一) 对 产品(多))
    
       //以下是收货信息
       ReceiveUserName:收货人名称
       ReceiveUserAddressId:收货人地址编号
       ReceiveUserAddressName:收货人地址名称
       receiveUserPhone:收货人手机号
       receiveZipCode:收货邮政编码
    
       totalFee:订单总额
       comments:补充留言
    
      //支付信息(未确定)
       paymentMethodId:支付方式
    
      //促销信息(未确定)
    
      //订单具备状态
       orderStatus:下单状态(草稿,下单)
       payStatus:支付状态(已支付,未支付)
       logisticsStatus:物流状态(发货:未发货,已发货; 收货:未收货,已收货)
       salesReturnStatus:退货状态:(退货寄送:已寄送,未寄送.退货收取:已收取,未收取)
       invoiceStatus:发票状态:已开发票,未开发票
    
       order_Time_Expired:订单预支付失效时间要大于五分钟,目前商家服务器端未设置(需要在预支付请求中设置。)
    
       isdelete:是否删除:1删除,0未删除
       createuserid:创建用户编号(谁下的订单)
       createtime: 创建时间(下单时间)
       updateuserid:更新用户编号
       updatetime:更新时间
    }
    

    --商品合集:ProductItem

    商品合集:ProductItem
    {
       id:自增Id
       orderId:属于哪个订单
       packageName:包裹名称(可以为空)每款商品可能发不同的包裹
       productName:产品名称
       shopId:商店编号
       shopName:商店名称
       price:价格
       quantity:产品购买数量
       properties:产品属性:食品口味:混合口味 剩余保质期:6个月以上
       service:服务:7天内质量问题可退款
       discounts:优惠信息:促销价:省 4.90 元
       
       isdelete:是否删除:1删除,0未删除
       createuserid:创建用户编号
       createtime: 创建时间
       updateuserid:更新用户编号
       updatetime:更新时间
    }
    

    --支付方式:PaymentMethod

    支付方式:PaymentMethod
    {
      id:自增编号
      name:名称
      displayName:显示的名称
    
      isdelete:是否删除:1删除,0未删除
      createuserid:创建用户编号
      createtime: 创建时间
      updateuserid:更新用户编号
      updatetime:更新时间
    } 

    相关文章

      网友评论

          本文标题:订单微服务 接口设计说明

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