当前位置: 首页 > news >正文

【电商】后台订单生成

结合商品流转的电商系列介绍了一些了,商品已经采购入库、价格税率设置好了、活动及相关模板也已经准备完毕,下面就应该上架销售了,现在接着聊下订单的生成。

在这里插入图片描述
订单从产生到最终的关闭需要经历很多的环节,订单也是电商系统的核心数据,有销售才有收入,所有的工作都是围绕着订单开展的,为订单服务的。

订单生成流程

在这里插入图片描述
上面这个流程相信接触到电商或经常购物的人都特别熟悉,特别简单,在设计开发时要我个人觉得要从以下三方面考虑。

首先,我们要清楚从搜索选择商品到加入购物车,然后提交订单,再到用户支付完成。就这么几步,你在淘宝、京东等任何一定电商网站也要遵循这个过程,所以这个过程比拼的是用户体验以及系统的稳定与性能。

其次,从产品运营的角度来讲,应该要考虑到用户在进入到哪个环节了,应该如何留住用户,最终让用户下单并支付。所以在产品与运营要兼顾考虑,不能脱离开。

最后,订单生成流程中用户的浏览、点击等行为都需要保存,每个过程要进行数据埋点,后台最终要计算出其页面PV、UV、以及订单转化率等指标,用于后续持续改进的依据。

下面结合自己的认识来说下各个环节,有不对的欢迎大家留言指正。

购买渠道

这里说的渠道,可以理解为下单来源即用户从哪挑选商品并下单购买的,先看下下图。
在这里插入图片描述
用户下单的来源可以分为内部(公司开发的相关产品)与外部(与第三方平台的对接)两种。

外部渠道,需要我们与第三方平台进行对接(目前都有第三方开放平台),将生成的订单导入到我们内部平台,然后进行履单。

这里涉及商品对接及库存(此部分是要求实时共享还是划拨渠道库存的方式,需要根据业务要求而确定,系统的实现是不一样的)、单据对接(转单、订单状态的更新等、查询),一般的平台都有开放平台,功能和架构都比较成熟,只要按业务进行调整设计应该就可以。

涉及支付结算、活动优惠的计算等,这些都与财务系统FMS息息相关,但是在产生订单的时候要将关键信息记录完整,要求可追溯而且要不可变(有调整要走逆向流程或系统补偿方案),代收和佣金的结算流程要结合合同与财务流程进行设计。

对于大的电商公司如果有一定的技术积累,外部渠道只是为了扩大影响力,用于引流和增加销售额,真正的收入还应该是内部渠道。

内部渠道,这是公司的主营业务销售渠道,涉及公司一些技术产品开发,而且这些应用产品就是公司的名片。

目前,零售公司都在实行线上+线下的方式,以用户为中心进行社区化的经营,本质上就是为了卖货。线上以APP+小程序为主,网站目前应该以引流和宣传为主了,移动端的产品是核心产品。

线下就是便利店模式,但现在如何经营好门店是众多零售企业在追寻的,线上销售无边界,线下销售有经营半径,所以对于产品的建设也不同。

APP+小程序要求有效的利用移动设备的界面,更注重的产品的展示和整个购物流程的流畅性,但便利店应该以商品货架的规划、用户的亲身体验以及服务为主,服务应该更重要。

聊到这里小结下,渠道就是根据公司的战略来开发公司的技术产品,也是商品在哪个平台上进行销售的渠道。下面正式来说下订单产生时每个环节的一点理解。

商品搜索

用户下单前首先要查询需要的商品,商品有库存并且已经上架销售了,如何在前端APP上让用户快速的查看到是需要详细规划与设计的。

搜索需要用到搜索引擎,要设置关键字,对于商品名称等要进行分词,这部分是要通过搭建搜索平台来实现。

此外,商品展示时有导航,要有分类,要根据不同的楼层展示不同的商品,比如有促销的可以单独做活动页、可以归集在一个楼层里。

搜索具体咋做没接触过,但现在在APP或小程序上我个人感觉都通过分类或导航去找商品的,在淘宝或京东这种品类多的网站还是需要输入关键词查找商品的。所以对于SKU不多企业,搜索可以稍弱化点,更多的采用引导方式去寻找商品(不知道我的这种想法是否正确的,目前我很多时候是闭门造车哈哈)。

选择商品

商品查到了,如何选择商品呢?

这也需要我们的系统提供必要的信息。

  1. 商品详情页,此部分在前面介绍商品系统时说过,首先每个商品要根据上传的图片,商品的模板生成商品详细信息。由于网上购物是看不到实物的,所以只能通过图片或小视频来显示,这是最直接有效的信息传递方式。其次,要有规格参数的描述,如材质、大小等特性要突出;最后就是关于商品的服务条款,如保修、质量及使用说明等。
  2. 用户评论,目前商品的好评率是用户非常关注的,因为零售企业售卖的不仅是商品,更重要的是服务,但服务的好与坏是通过用户来反馈的。评论要从商家服务水平、商品质量、商品使用情况等不同维度进行。用户评论是与客服相关的,所以要有专门的人针对商品评论进行及时回馈与问题的解决,尽可能的真实的显示用户评论,降低差评,给用户真实的信息。
  3. 价格,在商品价税管理中介绍过商品的售价如何制定,依赖于哪些指标,最主要的是毛利率以及竞争对手的价格。低价不一定是好的选择,价格是要与商品品质及服务关联的。价格要醒目的展示给用户,要有对比,让用户感觉到优惠力度,价格的变动有严格的审核流程且要及时生效,避免用户投诉。
  4. 促销活动,没有哪个网站不搞促销的,促销的玩法前段时间整理过一篇,大家可以参照《促销活动一览表》。
    经历了上面的一系列操作,此时就可以加入购物车了。

购物流程

购物流程直接影响用户体验的。

首先,虽然都是选品>加入购物车>提交订单>支付结算,但不同的商品我们应该有所区别,比如秒杀商品就可以直接生成订单,不需要加入购物车。

其次,在购物流程中,我们应该更侧重于营销引导即让用户根据添加到购物车的商品给予相关推荐。因为用户走到这个流程,购买的愿望已经很强了,如果能够给出一些更好的建议或优惠,可以更好促进订单的达成,提高转率。

第三,在购物车中每次的商品的增与减都需要实时的获取商品的价格信息、库存信息以及优惠活动信息。这些金额的计算,促销活动的获取、订单优惠重新计算对系统要求是非常高的,响应慢了用户体验不好,数据获取不准确会造成用户的投诉,都会导致订单的流失。

第四,在系统设计时要考虑系统耦合度及功能的扩展性。如果这部分耦合度太高,会增加后续项目的难度,要合理划分功能。同时要注重时序性;有的服务先调、有的后调这些都要综合考虑。

购物流程组对产品、技术要求都很高,代码的好坏只有自己知道,说与做要做到知行合一,这部分也考验一个人的技术水平和抗压能力。因为与用户有关的功能出现问题要能够及时去解决,并对已有错误数据要快速修复。

一直参与的是后端系统的业务与系统设计,对前端的这部分的流程也在学习和梳理中,但此部分是我觉得最核心的如购物车的数据如何保存,用户的SessionId如何保存,活动如何防止超卖等等。

订单结算

1)结算页

首先是支付方式的选择,支付方式有很多种,目前很少有现金支付了,即便是货到付款也是支付宝、微信或刷卡了。

这里说的支付方式有以下几种:支付宝、微信、银行卡、优惠券、积分、礼品卡或红包等。不同的支付方式需要调用不同的支付接口,这时没有提交订单还没有到支付的环节。

2)优惠的重新计算

这里主要就是进行订单级别的优惠计算,是否有满减等优惠等。此部分也是购物流程的一部分。

3)运费计算

这个需要调用前期商品的运费模板进行计算,是否免邮还要结合会员等级等信息。

4)订单的提交

只有提交了才产生用户订单。对于订单有哪些信息需要记录?

  • 订单的头信息,即订单号等基本信息,用户的基本信息,订单的来源,订单的生成时间,订单级的活动信息记录。
  • 订单的行信息即商品信息,商品的购买数量、商品编码、商品原价、售价、优惠价以及商品级的促销活动信息。

如果是外部渠道的订单,还需要记录外部订单号、合作平台标识等

在此阶段,订单应该处于第一个状态即待支付状态,此时订单虽然创建,但是仍可以取消。

订单创建后就占有商品库存了,此时要给用户支付的时间,这个也要区分场景。普通订单可以30分钟内支付,秒杀订单需要立即支付,限时抢购订单可以设置1分钟或5分钟内支付,否则订单就需要系统自动取消,释放库存。

用户主动取消订单,在”待支付”状态一般没有限制,取消后即可释放库存。

还有一个问题,需要在此说明,即此时的订单保存在哪里?肯定是数据库,要确定的是订单此时保存在前端订单库中,还不需要向后台ERP系统传递,前端主库与后端订单号之间需要有一个拉单服务。

早在十几年前自己负责过这个拉单服务的开发,这么多年好似只是技术的不断升级,业务方式没有太大变化。主要是仍是采用多线程方式及时快速的将前端产生订单拉到后端生产库用以后序的作业。

最后,订单创建完成后,需要用户支付。此时支付多少钱、如何支付、支付需要对接哪些支付平台这个也是需要进行详细设计的。涉及到钱的就没有小事,这点对于我们技术产品尤为重要。

举个例子:

如果我们在做跨境电商,用户用人民币支付,但是支付宝国际需要转化为港币,那么在调用支付宝国际时就需要将汇率记录下来,并进行人民币与港币的转换。如果此部分汇率获取的不对或记录错误,直接影响到交易的金额,对后续的财务结算等都会产生影响。

在支付过程中,由于调用第三方的支付接口,支付成功与否的状态回传可能会有延时,所以此时需要对回传状态要尝试多次,同时我们要将订单进行状态锁定,防止用户重复支付。

如果用户支付成功,那么这时要记录哪些信息呢?

支付流水号、第三方交易号码、支付时间、支付状态、支付金额等,此部分信息第一是为了保证信息的完整性,第二是用于与第三方进行对账即财务系统中的应收对账部分,第三是用于用户的退换货等后续退款等。

此部分信息要在不影响支付流程的效率前提下,尽可能的详细记录,可以采用异步方式进行,但不能少记或不记,在涉及金额的信息我认为数据的冗余是必要的,多比少好。

至此,订单支付成功了,订单的状态应该是“待发货”状态。订单会经过拉单、拆单等操作向下流转,后续会接着总结。

相关文章:

【电商】后台订单生成

结合商品流转的电商系列介绍了一些了,商品已经采购入库、价格税率设置好了、活动及相关模板也已经准备完毕,下面就应该上架销售了,现在接着聊下订单的生成。 订单从产生到最终的关闭需要经历很多的环节,订单也是电商系统的核心数据…...

作为公司,这个5款在线软件工具赶紧安利起来!

2023年了 ,您的企业还没使用在线软件工具吗?自从用了在线工具之后,感觉打开了新办公世界的大门,效率蹭蹭蹭地往上涨啊。对于喜欢追求效率和便捷的我来说,在线实在是太棒了!今天安利几个非常不错的在线软件工…...

面试(七)为什么一般希望将析构函数定义为虚函数

class B { public:~B() // 基类析构函数不为虚函数{cout << "B::~B()" << endl;} };class D : public B { public:~D(){cout << "D::~D()" << endl;} };void Test(B* t) {delete t;t nullptr; }int main() {B *pb new B;Test…...

MySQL必会四大函数-时间函数

一、时间日期获取函数 获取当前日期&#xff08;date&#xff09;函数&#xff1a;curdate() mysql> select curdate(); 2023-02-09 获取当前时间&#xff08;time&#xff09;函数&#xff1a;curtime() select curtime(); 08:49:27 获取当前时间戳&#xff08;date &…...

震惊!邻桌的程序猿做可视化报告竟然比我还快,带着好奇心我打开了他的电脑,发现惊天秘密,原因竟是...

其实&#xff0c;本文就是想分享一个做可视化的捷径&#xff01; 制作可视化的方式有千千万。 Excel 控若能轻车熟路驾驭 VBA&#xff0c;能玩出各种花来&#xff0c;再不济借助图表插件外援也能秒杀一众小白选 手。 会编程的&#xff0c;Echarts 几十行代码&#xff0c;分分…...

mathtype7与word冲突,无法安装,不显示工具栏的问题解决

首先无法安装&#xff0c;或安装出错时&#xff0c;要清理注册表防止以后再次出现该问题&#xff0c;以此记录留作备份。打开注册表的方法是键盘winr键同时按&#xff08;win就是Alt旁边像窗户图标的键&#xff09;&#xff0c;正常的话会跳出一个叫“运行”的家伙&#xff0c;…...

IBM AIX 升级Openssh 实现篇(编译安装)

升级成功佐证 !!!本文所有内容仅作参考,请在测试环境中具体测试完毕后才能应用于生产环境!!! [1]备份和恢复方案 开启telnet 服务,防止ssh 掉线后无法重连维护。在修复漏洞后关闭telnet。 备份该服务相关的所有文件,以便恢复。 root@TEST:/etc# vi inetd.conf #ftp…...

linux的睡眠框架及实现

睡眠 4 种模式&#xff1a;S2I (Suspend-to-Idle)&#xff1a; 挂起系统&#xff0c;IO进入低功耗模式。需配置CONFIG_SUSPEND。Standby&#xff1a;执行S2I后&#xff0c;把AP (nonboot CPU) 离线。除了CONFIG_SUSPEND的支持外&#xff0c;还需要向suspend子系统注册&#xff…...

Java面试知识点

工作也有好些年了&#xff0c;从刚毕业到前几年看过无数的面试题&#xff0c;总想着自己写一个面试总结&#xff0c;随着自我认识的变化&#xff0c;一些知识点的理解也越来越不一样了。写下来温故而知新。很多问题可能别人也总结过&#xff0c;但是答案不尽相同&#xff0c;如…...

PTA Advanced 1159 Structure of a Binary Tree C++

目录 题目 Input Specification: Output Specification: Sample Input: Sample Output: 思路 代码 题目 Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, a binary tree can be un…...

CDN绕过技术总汇

注 本文首发于合天网安实验室 首发链接&#xff1a;https://mp.weixin.qq.com/s/9oeUpFUZ_0FUu6YAhQGuAg 近日HVV培训以及面试&#xff0c;有人问了CDN该如何绕过找到目标真实IP&#xff0c;这向来是个老生常谈的问题&#xff0c;而且网上大多都有&#xff0c;但是有些不够全面…...

算法训练营DAY51|300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

本期是求子序列的新的一期&#xff0c;题目前两道有一些相似之处&#xff0c;思路差不多&#xff0c;第三道有一点难度&#xff0c;但并不意味着第一道没有难度&#xff0c;没有做过该类型题的选手&#xff0c;并不容易解出题解。 300. 最长递增子序列 - 力扣&#xff08;Leet…...

mac:彻底解决-安装应用后提示:无法打开“XXX”,因为无法验证开发者的问题;无法验证此App不包含恶意软件

mac从浏览器或其他电脑接收了应用&#xff0c;但是打开报错 目录报错解决办法一次性方法永久解决方法验证恢复应用验证报错 截图如下&#xff1a; 错误信息 无法打开“XXX”&#xff0c;因为无法验证开发者的问题&#xff1b;无法验证此App不包含恶意软件 解决办法 一次性方…...

CPU 指标 user/idle/system 说明

从图中看出&#xff0c;一共有五个关于CPU的指标。分别如下&#xff1a; User User表示&#xff1a;CPU一共花了多少比例的时间运行在用户态空间或者说是用户进程(running user space processes)。典型的用户态空间程序有&#xff1a;Shells、数据库、web服务器…… Nice N…...

Thinkphp大型进销存ERP源码/ 进销存APP源码/小程序ERP系统/含VUE源码支持二次开发

框架&#xff1a;ThinkPHP5.0.24 uniapp 包含:服务端php全套开源源码&#xff0c;uniapp前端全套开源源码&#xff08;可发布H5/android/iod/微信小程序/抖音小程序/支付宝/百度小程序&#xff09; 注&#xff1a;这个是全开源&#xff0c;随便你怎么开&#xff0c;怎么来&a…...

hgame2023 WebMisc

文章目录Webweek1Classic Childhood GameBecome A MemberGuess Who I AmShow Me Your BeautyWeek2Git Leakagev2boardSearch CommodityDesignerweek3Login To Get My GiftPing To The HostGopher Shopweek4Shared DiaryTell MeMiscweek1Where am I神秘的海报week2Tetris Master…...

67. Python的绝对路径

67. Python的绝对路径 文章目录67. Python的绝对路径1. 准备工作2. 路径3. 绝对路径3.1 概念3.2 查看绝对路径的方法4. 课堂练习5. 用绝对路径读取txt文件6. 加\改写绝对路径6.1 转义字符知识回顾6.2 转义字符改写7. 总结1. 准备工作 对照下图&#xff0c;新建文件夹和txt文件…...

VHDL语言基础-组合逻辑电路-加法器

目录 加法器的设计&#xff1a; 半加器&#xff1a; 全加器&#xff1a; 加法器的模块化&#xff1a; 四位串行进位全加器的设计&#xff1a; 四位并行进位全加器&#xff1a; 串行进位与并行进位加法器性能比较&#xff1a; 8位加法器的实现&#xff1a; 加法器的设计&…...

内存检测工具Dr.Memory在Windows上的使用

之前在https://blog.csdn.net/fengbingchun/article/details/51626705 中介绍过Dr.Memory&#xff0c;那时在Windows上还不支持x64&#xff0c;最新的版本对x64已有了支持&#xff0c;这里再总结下。 Dr.Memory源码地址https://github.com/DynamoRIO/drmemory&#xff0c;最新发…...

J6412四网口迷你主机折腾虚拟机教程

今天给大家做一个四网口迷你主机折腾虚拟机的安装教程&#xff0c;主机采用的是maxtang大唐NUC J6412 intel i226V四网口的迷你主机&#xff0c;这款主机它是不能直接装上NAS的&#xff0c;必须使用虚拟机系统&#xff0c;近期研究了下然后做了一个教程分享给大家。 首先需要做…...

电子招标采购系统—企业战略布局下的采购寻源

​ 智慧寻源 多策略、多场景寻源&#xff0c;多种看板让寻源过程全程可监控&#xff0c;根据不同采购场景&#xff0c;采取不同寻源策略&#xff0c; 实现采购寻源线上化管控&#xff1b;同时支持公域和私域寻源。 询价比价 全程线上询比价&#xff0c;信息公开透明&#xff…...

elasticsearch 之 mapping 映射

当我们往 es 中插入数据时&#xff0c;若索引不存在则会自动创建&#xff0c;mapping 使用默认的&#xff1b;但是有时默认的映射关系不能满足我们的要求&#xff0c;我们可以自定义 mapping 映射关系。 mapping 即索引结构&#xff0c;可以看做是数据库中的表结构&#xff0c…...

2023年rabbitMq面试题汇总2(5道)

一、如何确保消息接收⽅消费了消息&#xff1f;接收⽅消息确认机制&#xff1a;消费者接收每⼀条消息后都必须进⾏确认&#xff08;消息接收和消息确认是两个不同操作&#xff09;。只有消费者确认了消息&#xff0c;RabbitMQ才能安全地把消息从队列中删除。这⾥并没有⽤到超时…...

电视剧《狂飙》数据分析,正片有效播放市场占有率达65.7%

哈喽大家好&#xff0c;春节已经过去了&#xff0c;朋友们也都陆陆续续开工了&#xff0c;小编在这里祝大家开工大吉&#xff01;春节期间&#xff0c;一大批电视剧和网剧上映播出&#xff0c;其中电视剧《狂飙》以不可阻挡之势成功成为“开年剧王”。这里小编整理了一些《狂飙…...

cas单点登录后重定向次数过多问题以及调试cas-dot-net-client

问题描述&#xff1a; web项目应用cas作为单点登录站点&#xff0c;登录后无法打开WEB项目的页面&#xff0c;报错&#xff0c;说重定向次数过多。 老实说&#xff0c;这种问题&#xff0c;以前遇到过不少&#xff0c;是我这种半桶水程序员的噩梦。解决这种问题&#xff0c;不…...

【监控】Prometheus(普罗米修斯)监控概述

文章目录一、监控系统概论二、基础资源监控2.1、网络监控2.2、存储监控2.3、服务器监控2.4、中间件监控2.5、应用程序监控&#xff08;APM&#xff09;三、Prometheus 简介3.1、什么是 Prometheus3.2、优点3.3、组件3.4、架构3.5、适用于什么场景3.6、不适合什么场景四、数据模…...

opencv+python物体检测【03-模仿学习】

仿照练习&#xff1a;原文链接 步骤一&#xff1a;准备图片 正样本集&#xff1a;正样本集为包含“识别物体”的灰度图&#xff0c;一般大于等于2000张&#xff0c;尺寸不能太大&#xff0c;尺寸太大会导致训练时间过长。 负样本集&#xff1a;负样本集为不含“识别物体”的…...

计算机科学基础知识第二节讲义

课程链接 运行环境&#xff1a;WSL Ubuntu OMZ终端 PS&#xff1a;看到老师终端具有高亮和自动补全功能&#xff0c;我连夜肝出oh-my-zsh安装教程&#xff0c;实现了此功能。 这节课主要讲变量的语法、控制流程、shell功能等内容。 修改终端用户名&#xff0c;输入密码后重启…...

openssl genrsa 命令详解

文章目录一、openssl genrsa 命令介绍二、openssl genrsa 命令的语法及选项三、实例1、生成512位的 RSA 秘钥&#xff0c;输出到屏幕。2、生成512位 RSA 私钥&#xff0c;输出到指定的文件 genrsa.txt3、生成 1024 位 RSA 秘钥&#xff0c;采用 des 算法加密&#xff0c;加密密…...

C语言标准 —— C89(C90)、C99、C11、C17、C2X

C语言主要的三个标准&#xff1a;C89&#xff08;C90&#xff09;、C99、C11、K&#xff06;R C 指的是 C 语言的原始版本。1978年&#xff0c;C 语言的发明者丹尼斯里奇&#xff08;Dennis Ritchie&#xff09;和布莱恩柯林&#xff08;Brian Kernighan&#xff09;合写了一本…...