一、最简单的电商流程

作者: Miridescent | 来源:发表于2017-07-11 18:50 被阅读205次

    简单的写作缘由介绍

    最近在做一个电商项目,这里将电商项目的后台数据架构记录一下

    电商系统很复杂,涉及的东西很多,举个例子,简单的一个商品,涉及的状态就有很多,例如:库存、商品性质(实物、虚拟物品、票卷等)、商品状态、商品规格、销售开始及结束时间、系统排序、收藏、评论、是否限购、价格信息(市场价格、真实价格、实际售价、显示价格、规格价格、阶梯价格等等)、是否绑定物流信息、供应商等等,这里不一一列举。

    由于电商的复杂性,这个系列会由最简单的场景开始介绍,然后不断的延伸功能,方便理解,所以可能会写好几篇

    1.从最基础的开始

    场景描述:

    最简单电商流程.png

    下面针对上面的最简单的电商流程设计一下数据表

    • 用户(user)是一条数据,也有表结构,但是这里不做介绍,我们暂且用一窜数字代表一个用户uid=123456(user id),实际上根据这个uid可以查到一个用户的所有信息
    • 商品(item)下面列举一下在这个场景中商品要用到的属性
    字段 类型 说明
    id num 数据id
    name string 商品名称
    sub_name string 商品副标题
    title_pics array 商品封面图片数组
    item_desc string 商品介绍
    item_price num 商品价格
    state num 商品状态:-2=删除,-1=下架,0=编辑状态,1=已提交,2=已上架,3=审核中,4=审核不通过,5=审核通过
    storage num 库存
    sales_count num 销售数量

    有上面的这些字段,大致就可以满足最简单的电商流程场景,更详细的关于商品还有很多字段,例如:view_count(浏览量)、like_count(收藏量)、sys_index(系统排序参数)等等

    • 订单(order)列举订单字段
    字段 类型 说明
    id num 数据id
    state num 商品状态:-1=删除,0=在购物车中,1=待付款,2=已支付(待发货),3=已发货(待收货),4=待评价,5=已完成,6=已取消,7=维权中(申请退货)
    item_id num 订单对应的商品id
    name string 商品名称
    sub_name string 商品副标题
    title_pics array 商品封面图片数组
    total_count num 购买商品数
    item_price num 订单中商品价格
    settlement_price num 结算价格
    uid num 购买者id

    下面我们根据上面的数据表创建对应的数据
    根据商品结构表item,我们可以生成一条商品数据

    {
      "id": 1299477521563661,
      "state": 2,
      "name": "可口可乐",
      "sub_name": "可口可乐真好喝",
      "title_pics": ["我是图片连接","我是图片连接"],
      "item_desc": "我是商品介绍",
      "sales_count": 0,
      "item_price": 1,
      "storage": 1000
    }
    
    • id字段是商品的数据id,不可以重复
    • state字段标示了商品当前的状态,根据state我们可以对商品进行管理(主要作用的为了电商的管理后台管理商品),例如:上架操作、删除操作等等

    有了上面的商品信息之后,当用户购买商品下单的时候,可以生成一条order数据

    {
      "id": 1299477521523456,
      "state": 0,
      "item_id":1299477521563661,
      "name": "可口可乐",
      "sub_name": "可口可乐真好喝",
      "title_pics": ["我是图片连接","我是图片连接"],
      "total_count": 10,
      "item_price": 1,
      "settlement_price": 100,
      "uid": 123456
    }
    
    • id字段是订单的id,不可以重复
    • state字段标示了订单的状态,这里具体的介绍一下,当用户选中商品,到支付页面的时候,这时候订单状态是1(待付款),用户付款后订单状态变为2(已付款),以此类推,根据不同的操作,将订单标示为不同的状态,这样根据state字段可以分类查找出不同状态的订单
    • item_id字段,商品的id,可以根据此id查询出商品的所有信息
    • uid字段,每个订单都对应一个用户
    • 这里将商品的namesub_nametitle_pics拷贝,是为了展示订单信息的时候方便直接展示,这样就可以不用再查询item表,省去一步查询操作

    注意在用户购买付款后,对商品的storagesales_count字段进行update,实现相应的库存增减

    以上的操作,大致就是一个最简单的电商流程,对应到实际的购物流程中就是,商品 -> 立即购买 (注意,这里没有将商品添加到购物车),在下一篇中,会介绍最简单的购物车下单流程

    相关文章

      网友评论

      • 王阿觉:谢谢大佬分享,现在还有做电商的项目吗?期待你的新文章。

      本文标题:一、最简单的电商流程

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