订单微服务 接口设计说明

阅读只需要一分钟,转载请注明出处.
(未完成. 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:更新时间
} 

你可能感兴趣的:(订单微服务 接口设计说明)