跳到主要内容

电商系统

电商系统主要有两个类别:

一是平台电商,就是说平台上有很多卖货的商家和购物的消费者,典型的就是淘宝。平台电商系统需要有承载多商家的能力,大概如下:

  • 多组织功能:每个商家都有独立的商品管理、订单管理、客服接入、会员体系等等;
  • 交易保障体系:由于入驻商家的交易和行为不可控,需要有商品审核、投诉处理、交易争端、押金保障、信用管理等等;
  • 分类排序系统:多商家同样也带来更多商品,无法手动处理分类排序,要引入推荐系统、分类系统、排名系统、广告系统、防作弊等等;
  • 精细化的权限:由于引入商家端,所以不仅需要自身的平台管理系统,也要有商家端的权限系统,而商家的组织权限有时候也分的很细,处理客服的,处理订单的,处理商品的等等,都需要做处理;
  • 复杂的交易系统:不同于独立电商直接支付给自己企业,平台电商需要处理多商家的资金,要有保障,有层级,有风险管控等等;
  • 当然还有很多诸如流量分成、分销体系、反作弊刷单、搜索引擎、抢购秒杀、社交团购等等功能不必多提,魔鬼全在细节。

二是独立电商,即自己卖货给消费者,比如小米商城,交易额常年位列前五。这里要注意,自己卖货不仅仅是卖自己生产的,也可以卖渠道商供应链的,比如唯品会这种统一采购统一售卖。有些也可以将商品物流等交给供应链,自身只将订单信息同步过去。基本上独立电商也是现在的企业首选,毕竟平台型的投入极大,不是随便就能做的。对于有品牌有产品或者有供应链能力的企业,都建议搭建独立电商:

  • 品牌:有自身商城的企业在品牌形象上肯定比没有的好,能轻易赢得消费者的信心,很多时候哪怕自身商城销量很少,但单一个展示的效果都大于广告百万投放;
  • 可控:数据可控、展示可控、用户可控、成本可控、风险可控;
  • 国际化:出海必备不用多说;
  • 利润:自营的边际成本肯定比平台电商抽成低(以前初始成本高,但现在清林云 BaaS 解决了这个问题),另外也可以自身作为渠道商售卖供应链商品,将流量变现。

总之平台电商是一个及其复杂的系统,需要考虑很多点,也要根据不同的需求来裁剪定制各部分功能,这里就暂时不演示了,我们会在后续更新一个平台电商系统应用,敬请期待。而本章节我们为了演示清林云 BaaS 自定义应用能力,将设计一个基础的独立电商系统。该版本能满足大部分独立电商的基础需求,但是每家组织的电商流系统需求都不相同,所以你也可以在这个基础上再自行添加更多高级的个性化功能。

需求

首先我们看需求,其实很简单:企业有一些商品,能将它们展示给消费者,然后消费者可以购买就行。

企业能在控制台或者利用 API 处理订单。

为了保障消费者的体验,用户侧还需要能查看订单、查看物流、进行售后。

功能分析

分析独立电商的基础功能,并将他们拆分成不同的功能,类似于微服务的概念:

  • 商品系统:处理商品的创建、更新、查询、下架、分类、搜索、排序等;
  • 用户系统:参考用户系统章节,处理用户注册登录等;
  • 支付系统:便于用户安全便捷地使用支付功能购买商品;
  • 订单系统:为支付系统提供基础,并能通过订单状态来打通购买、物流、售后等;

注意:该版本是 mvp 最小实现,能满足独立电商的基本需求,如果你想要更多功能比如客服、评价、购物车、多 SKU、抢购、物流、限购、秒杀、拼团、分销等,后续可以自行在应用市场中查找相关应用组合实现。

数据库结构

Goods 商品

不带 SKU 的商品比较简单,直接把价格和库存放在上面即可。另外,设置一些用来分类和搜索的字段。

goods

Order 订单

订单在很多时候是企业的核心系统,连接对外对内各部门环节,你可以在这个基础上添加符合你公司业务的其他需求,这样就能灵活且落地。

其中 goodsList 是一个数组,在有购物车功能的情况下,一个订单可以包含很多商品,当然在这里我们放一个即可,根据实际情况判断。

order

Apply 售后申请

如果发生售后情况,则用户填写售后申请,然后组织成员在控制台查看后进行确认,之后再对接退款 API。

apply

API

商品系统

createGoods

createGoods

updateGoods

updateGoods

deleteGoods

deleteGoods

getGoods

getGoods

searchGoods

searchGoods

订单系统

createOrder

用户在下单时,会判断金额是否大于 0,如果不为 0,则根据传入的支付渠道参数调用不同的支付方,此处为演示,只有微信的 native 支付和支付宝的网页支付。你可以根据自己的业务自行完成一个下单 API,然后调用符合自身要求的支付方式。

createOrder1

createOrder2

createOrder3

updateOrder

updateOrder

deleteOrder

deleteOrder

getOrder

getOrder

searchOrder

searchOrder

confirmReceived

confirmReceived

wxpayCallback

这个 API 用于支付渠道的回调,当用户支付成功时,只有设置回调地址为:https://cn-east-1.baasapi.com/webhook/环境ID/密匙ID/应用ID/应用API/API版本/即可将请求以转发至该 API,完成支付确认。

转发给该 API 的参数为 headers path data 对应调用该 webhook 地址的 headers path body

另外,这个回调是给没有自身服务器的客户所设,如果你方有自己的回调处理服务,则可以在支付系统中配置回调地址为自身的服务地址。

注意:使用回调时需要在微信、支付宝等控制台配置回调域名为https://环境地域.baasapi.com/

wxpayCallback1

wxpayCallback2

alipayCallback

作用同上。

alipayCallback1

alipayCallback2

售后系统

createApply

createApply

updateApply

updateApply

deleteApply

deleteApply

getApply

getApply

支付系统

这里的支付系统主要是对接第三方,比如微信、支付宝等(后续更新银联云闪付、京东、美团、百度等)。通过配置相关密匙连接他们的 API,从而在网页端或手机端调起支付能力。

支付系统必须有相应的订单系统,这是第三方支付渠道通用的要求,因为需要自己有一个简单的订单系统能够对应到第三方的支付记录。可以是上面的那个订单系统,也可以自行设计一个符合自身需求的。

由于人手问题,此处我们仅实现了微信和支付宝的一些功能,用于展示部分场景,如有更多需求请联系客服,当然如果足够了解也可以自行设计。

相关配置

由于支付渠道的要求,你需要提前在应用配置中设置一些参数,如下所示。

payConfig

wxNativePay

wxNativePay

wxPayQuery

wxPayQuery

aliPagePay

aliPagePay

aliPagePay2

aliPayQuery

此处封装了 alipay-sdk 为自定义函数,data 为调用该库的参数。

aliPayQuery

aliPayQuery2

refund

退款功能暂时可以前往支付渠道控制台操作,再在订单数据页修改订单状态即可。后面清林云将推出完整的电商系统 SaaS 版,提供完整功能。

物流系统

物流的查询、订阅 API 暂未上线,如有需求可以自行设计或联系客服开通。

界面

清林云的环境 RU 充值页面就使用了该系统,和用户系统、组织系统同样开源在一个仓库。