Java生鲜电商平台-生鲜电商订单结算系统的深入解析与反思总结 说明:最近疫情影响,生鲜电商这个行业被彻底的激活了,全中国人民都知道用小程序或者APP可以进行买菜了,但是可惜的是,我的生鲜电商在去年经营了两年半左右的时候因为 一些原因被暂停搁置了,回顾在六年的生鲜电商职业生涯过程中,我想有没有什么值得跟大家学习与思考的东西呢? 这是笔者2018年上半年负责的企业订单结算系统,虽然题目写的是订单结算系统,但里面也涉及到了订单系统.发票系统.投入产出系统,四个系统互相联动.在产品设计过程中,碰到 了…
Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享 说明:任何一个电商行业都涉及到退货与退款的问题,但是生鲜电商行业还设有一个显著的特点,那就是换货.在人性面前,各种各样的退货,退款,换货的售后问题,层出不穷,那么应该如何架构与设计呢?请看下文. 由于涉及到的东西比较多,目前只讲退款的架构设计与代码分享. 退款,是一个易造成负体验的业务产品.原因是商户对于退款的要求务必退款成功.高效.快,而且又得很好地支撑业务,否则就容易招来吐槽. 退款,一个看似简单,但充满复杂性的产品. 要想做好退款…
Java生鲜电商平台-生鲜系统中商品订单系统售后系统设计(服务订单履约系统) 说明: 电商之下,我们几乎能从电商平台上买到任何我们日常需要的商品,但是对于很多商品来说,用户购买发货后,只是整个交易流程开始的第一步,后续商家提供的上门服务才是整个交易过程中用户对商品和品牌感知力最强的时候,如何抓住这最后一公里实现用户体验和商品品牌效益最大化,是各个品牌商打造占领品牌核心竞争力和占领口碑的战略高地时不得不考虑的关键.本文将与你探讨以location为中心的生活服务平台的核心——服务订单履约系统. 什…
Java生鲜电商平台-生鲜系统中微服务架构设计与分析实战 说明: Java生鲜系统中微服务的拆分应该如何架构设计与分析呢?以下是我的实战中的设计与经验分析. 目录 1. 微服务简介2. 当前现状3. 特点4. 原则5. 目标6. 总体架构设计6.1. 业务架构6.2. 逻辑架构6.3. 应用架构6.4. 数据架构6.5. 数据层次划分6.6. 技术架构6.6.1. 分层设计6.6.2. 逻辑技术架构 1. 微服务简介 近年来,在生鲜行业,生鲜电商软件开发领域关于微服务的讨论呈现出火爆的局面,越来…
Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战 说明:Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战经验分享 凡是涉及到购物,必然是建立在商品的基础之上. 作为交易的基础,商品管理可以说是电商系统最中重要的部分,它是连接前端用户,平台商户,后台系统的桥梁,商品管理系统与采购系统PMS.订单管理系统OMS.仓储管理系统WMS.促销活动系统.物流配送系统TMS等有着紧密的联系. 商品管理体系的延展性,对于平台的运营维护有直接的影响,它在一定程度上决…
Java生鲜电商平台-高并发核心技术订单与库存实战 一. 问题 一件商品只有100个库存,现在有1000或者更多的用户来购买,每个用户计划同时购买1个到几个不等商品. 如何保证库存在高并发的场景下是安全的? (1)不多发 (2)不少发     二. 下单的步骤 (1)下单 (2)下单同时预占库存 (3)支付 (4)支付成功真正减扣库存 (5)取消订单 (6)回退预占库存 三. 什么时候进行预占库存? (1)方案一:加入购物车的时候去预占库存 (2)方案二:下单的时候去预占库存 (3)方案三:支付…
Java生鲜电商平台-生鲜供应链(采购管理) 在生鲜供应链系统中采购中心这一模块,它是电商公司管理采购的模块,包含供应商管理,采购订单管理,采购商品管理,在该模块中采购订单是采购中心的核心模块.在其他的比如供应商的管理,采购商品的管理,都始终围绕着订单管理为中心进行.本文将围绕电商后台中采购中心的供应商管理,采购订单管理,采购商品管理三个模块进行讲解. 在设计电商后台尤其需考虑公司的组织架构,考虑公司的个部门之间的业务流转,在设计后台尤其需要结合公司自身的组织架构和自身的业务需求,尽量精简业务流…
Java生鲜电商平台-生鲜电商高并发下的接口幂等性实现与代码讲解 说明:Java生鲜电商平台-生鲜电商高并发下的接口幂等性实现与代码讲解,实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果.例如: 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱: 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的: 创建业务订单,一次业务请求只能创建一个,创建多个就会…
Java开源生鲜电商平台-系统简介 1.生鲜电商平台的价值与定位. 生鲜电商平台是一家致力于打造全国餐饮行业智能化.便利化.平台化与透明化服务的创新型移动互联网平台,连接买家与卖家之间的一个平台 看以下的图标:(商业模式) 名称解释: 买家:所有的大中小型餐馆,酒店等餐饮行业都属于我们常说的买家. 生鲜电商APP: 买家通过在APP上点菜,然后支付相应的费用的一种交易平台. 卖家:附近10公里内,在集贸市场有摊位的所有卖菜的商户 物流平台:公司平台运用自己的物流车辆把买家所需要的菜从卖家手里运输…
Java开源生鲜电商平台-系统架构与技术选型(源码可下载) 1.  硬件环境 公司服务器 2.   软件环境 2.1  操作系统 Linux CentOS 6.8系列 2.2 反向代理/web服务器 Nginx 2.3 应用服务器 Jdk7+ Tomcat 7 2.4 数据库 Mysql 5.6.x 2.5 消息队列(可选) Rabbitmq/rocketmq 2.6 缓存(可选) Redis 3.x 3.工程构建和管理工具 1.Maven 开发人员已经很熟悉了.此处略 2.Jenkins Je…
Java开源生鲜电商平台-盈利模式详解(源码可下载) 该平台提供一个联合买家与卖家的一个平台.(类似淘宝购物,这里指的是食材的购买.) 平台有以下的盈利模式:(类似的平台有美菜网,食材网等) 1. 订单压款     我们知道美团或者饿了么或者其他的一些平台都具备压款功能.(一个月跟商户结算一次),这个平台可以提供一某一样的功能,压款功能, 可以灵活的设置压款7天,10天,15天,20天,30天或者自己定义的时间进行客户结算. 可能有人要问,这个压款如何盈利呢?请大家想想摩拜单车与OFO等单车你就…
Java开源生鲜电商平台-用户表的设计(源码可下载) 说明:由于该系统属于B2B平台,不设计到B2C的架构. 角色分析:买家与卖家. 由于买家与卖家所填写的资料都不一样,需要建立两站表进行维护,比如:buyer,seller. 这样进行数据库的解耦,任何一方的变动都互不影响,但是我想集中式管理,以及一些业务个性化要求,我就增加了一个users表.表结构如下: 账号唯一键,所以做了唯一键索引, 账号的准确性采用手机短信验证. 根据类型区分买家与卖家,登陆的时候,采用的就是users这种表进行维护…
Java开源生鲜电商平台-商品表的设计(源码可下载) 任何一个电商,无论是B2C还是B2B的电商,商品表的设计关系到整个系统架构的核心. 1. 商品基本信息表:用单词:goods做为商品表 2. 商品分类信息表: 说明:商品分类信息表存在父子级关系,采用parent_id来做父类,默认是0表示顶级.可以无限极,但是实际应用中,我们只限三级 比如: 1级别:新鲜蔬菜 2级别:叶菜类 3级别:娃娃菜,秧子菜,菜心 根据最终的一个级别显示具体的菜 3. 商品图片信息表: 说明:由于每个商品都需要有一些…
Java开源生鲜电商平台-订单表的设计(源码可下载) 场景分析说明: 买家(餐馆)用户,通过APP进行选菜,放入购物车,然后下单,最终支付的流程,我们称为下单过程. 买家可以在张三家买茄子,李四家买萝卜,王五家买白菜,赵六家买猪肉等 那么买家就应该有个订单主表,我们称为订单表,同时还有 上面所说的具体的订单明细表,清楚的查看自己买了什么菜,多少元一斤,买了多少斤等. 1. 订单表的设计: 补充说明:交易状态:存在下了单子没付款,付款了没结算等状态. 付款状态:存在未付款,已经付款.线下付款.(线…
Java开源生鲜电商平台-支付模块的设计与架构(源码可下载) 开源生鲜电商平台支付目前支持支付宝与微信.针对的是APP端(android or IOS)   1. 数据库表设计. 说明:无论是支付宝还是微信支付,都会有一个服务端的回调,业务根据回调的结果处理相应的业务逻辑. pay_logs这个表主要是记录相关的用户支付信息.是一个日志记录. 比如:谁付款的,什么时候付款的,订单号多少,是支付宝还是微信,支付状态是支付成功还是支付失败,还是未支付.                   特别注意:…
ava开源生鲜电商平台-购物车模块的设计与架构(源码可下载) 说明:任何一个电商无论是B2C还是B2B都有一个购物车模块,其中最重要的原因就是客户需要的东西放在一起,形成一个购物清单,确认是否有问题,然后再进行下单与付款. 1. 购物车数据库设计: 说明:业务需求: 1>购物车里面应该存放,那个买家,买了那个菜品的什么规格,有多少数量,然后这个菜品的加工方式如何.(如果存在加工方式的话,就会在这里显示处理.) 2>买家存在购物起送价.也就是用户放入购物车的商品的总价格如果低于配置的起送价,那么…
Java开源生鲜电商平台-推荐系统模块的设计与架构(源码可下载) 业务需求: 对于一个B2B的生鲜电商平台,对于买家而言,他需要更加快速的购买到自己的产品,跟自己的餐饮店不相关的东西,他是不关心的,而且过多无用的东西掺杂在一起,反而不便 于买家下单,用户体验也很差,严重的会因此丢了客户.(客户觉得太难用了.一般都就会放弃使用.) 对于卖家而言,他自己就调整下自己的商品的上架与下架,然后就是调整下自己商品的价格.(蔬菜类的商品会随着市场的供求关系会有相应的波动.) 业务分析: 推荐系统:根据买家的…
Java开源生鲜电商平台-财务系统模块的设计与架构(源码可下载) 前言:任何一个平台也好,系统也好,挣钱养活团队这个是无可厚非的,那么对于一个生鲜B2B平台盈利模式( 查看:http://www.cnblogs.com/jurendage/p/9016411.html)而言, 其中财务模块无论是对于买家而言还是卖家而言都至关重要,老百姓对钱的看重是没有经历的人想不到的,一句话说清楚了:一分钱也不能少. 买家或者卖家对财务模块的要求很简单: 1. 账清楚明白. 2. 消费清清楚楚. 3. 计算准确…
Java开源生鲜电商平台-账单模块的设计与架构(源码可下载) 补充说明:Java开源生鲜电商平台-账单模块的设计与架构,即用户的账单形成过程. 由于系统存在一个押账功能的需求,(何为押账,就是形成公司的资金池,类似摩拜单车,ofo单车等等).目前B2B平台也是采用押账的这种功能策略. 这里有个特别说明的押账方式:就是比如有个卖家张三,他是5月1日跟我们平台签约开始入住平台卖菜,我们约定好押账7天,那么他5月1日的金额会在5月2日存入 他自己的余额里面,但是这个钱不能马上提取出来,需要等一个星期,…
Java开源生鲜电商平台-订单抽成模块的设计与架构(源码可下载) 说明:订单抽成指的是向卖家收取相应的信息服务费.(目前市场上有两种抽成方式,一种是按照总额的抽成比率,另外一种是按照订单明细的抽成比率)            由于生鲜电商的垂直领域的特殊性质,总额抽成不切合实际,所以按照订单的明细抽成. 1. 订单抽成,是按照一个区的维度,以及菜品的二级分类类抽点的. 举例说明:比如武汉光谷区,佛祖岭区,虽然都是属于东湖高新,但是光谷区的物价以及消费水平肯定是高于佛祖岭区的,因此它是按照一个区的…
Java开源生鲜电商平台-搜索模块的设计与架构(源码可下载) 说明:搜索模块针对的是买家用户,在找菜品找的很费劲下的一种查询方面.目前也是快速的检索商品. 对于移动端的APP买家用户而言,要求的速度在3秒内完成.支持模糊查询,由于业务实战表面,整个搜索频率不到18%-25%之间 同时业务也不算很大,所以并没采用java全文检索技术.(lucene等).这里采用的就是基本的模糊查询. 1. 搜索维度的是思考. 1.1  买家搜索的内容很有可能是针对菜品的本身属性而言,所以涉及到的内容有商品名称,商…
Java开源生鲜电商平台-售后模块的设计与架构(源码可下载) 说明:任何一个的电商平台都有售后服务系统,那么对于我们这个生鲜的电商平台,售后系统需要思考以下几个维度. 1. 买家的需求维度 说明:买家在平台上没找到自己想要的东西,我们需要提供给他一个入口,告诉我们他有这个需求,我们进行改进.系统需要有记录这种情况,同时也有回复客户的情况. 2. 投诉入口 说明:有客户性子比较急,他有问题,就会马上打电话给客服,客服需要解答与回答,维护客户关系.对于系统而言,需要记录这种情况,然后分析问题与解决问…
Java开源生鲜电商平台-监控模块的设计与架构(源码可下载) 说明:Java开源生鲜电商平台-监控模块的设计与架构,我们谈到监控,一般设计到两个方面的内容: 1. 服务器本身的监控.(比如:linux服务器的CPU,内存,磁盘IO等监控) 2. 业务系统的监控.  (比如:业务系统性能的监控,SQL语句的监控,请求超时的监控,用户输入的监控,整个请求过程时间的监控,优化等等) 1. 服务器本身的监控 说明:由于Java开源生鲜电商平台采用的是阿里云的linux CentOS服务器,由于阿里云本身…
Java开源生鲜电商平台-异常模块的设计与架构(源码可下载) 说明:任何一个软件系统都会出现各式各样的异常与错误,我们需要根据异常的情况进行捕获与分析,改善自己的代码,让其更加的稳定的,快速的运行,那么作为一个 B2B的Java开源生鲜电商平台,我们的异常需要思考以下几个维度. 1. 运行的代码异常     说明:代码在运行的过程中,难免出现各种异常与错误,我们采用Log4j进行日志的记录.               在分层代码解耦过程中,我们统一在Controller进行异常的捕获与日志记录…
Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构(源码可下载) 说明:Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构,我采用以下三种维度来讲解 1.  代码层面. 2.  数据库层面. 3.  服务器层面 诚然,性能优化这个方面的确是一个长期的过程,并不是大伙们看了我的文章后就觉得可以做的很好的,我这边只是起一个抛砖引玉的作用,给大伙一种解决问题的思路与方向. 1. Java代码层面优化 补充说明:Java代码层面优化,你需要知道的是,那些代码需要优化,我们知道八二定律…
Java开源生鲜电商平台-安全设计与架构(源码可下载) 说明:Java开源生鲜电商平台是一个B2B的生鲜电商平台,由于是APP的一种模式,所以安全方面一般会思考以下几个维度: 1.数据安全. 2.传输安全. App与服务器的通信接口如何设计得好,需要考虑的地方挺多的,在此根据我的一些经验做一些总结分享,旨在抛砖引玉. 安全机制的设计 现在,大部分App的接口都采用RESTful架构,RESTFul最重要的一个设计原则就是,客户端与服务器的交互在请求之间是无状态的,也就是说,当涉及到用户状态时,每…
Java开源生鲜电商平台-优惠券设计与架构(源码可下载) 说明:现在电商白热化的程度,无论是生鲜电商还是其他的电商等等,都会有促销的这个体系,目的就是增加订单量与知名度等等 那么对于Java开源生鲜电商平台而言,我们采用优惠券的这种方式进行促销.(补贴价格战对烧钱而言非常的恐怖的,太烧钱了) 1. 优惠券基础信息表 说明:任何一个优惠券或者说代金券都是有一个基础的说明,比如:优惠券名称,类型,价格,有效期,状态,说明等等基础信息. CREATE TABLE `coupon` ( `id` big…
Java开源生鲜电商平台-通知模块设计与架构(源码可下载) 说明:对于一个生鲜的B2B平台而言,通知对于我们实际的运营而言来讲分为三种方式:           1. 消息推送:(采用极光推送)           2. 主页弹窗通知.(比如:现在有什么新的活动,有什么新的优惠等等)           3. 短信通知.(对于短信通知,这个大家很熟悉,我们就说下我们如何从代码层面对短信进行分层的分析与架构) 1. 消息推送 说明:目前市场上的推送很多,什么极光推送,环信,网易云等等,都可以实现秒…
Java开源生鲜电商平台-团购模块设计与架构(源码可下载) 说明:任何一个电商系统中,对于促销这块是必不可少的,毕竟这块是最吸引用户的,用户也是最爱的模块之一,理由很简单,便宜. 我的经验是无论是大的餐饮点还是小的餐饮店,优惠与折扣永远是说福他们进入平台的最好的手段之一.(大企业叫做节约成本,小企业叫做贪便宜.) 1.Java开源生鲜电商平台中,团购模块,我们采用以下几种维度思考.      1.1  针对的是生鲜中的标品.(米面粮油,我们要求买家可以自己发送团购,但是团购有次数,与时间以及买家…
点菜网---Java开源生鲜电商平台-系统架构图(源码可下载) 1.点菜网-生鲜电商平台的价值与定位. 生鲜电商平台是一家致力于打造全国餐饮行业智能化.便利化.平台化与透明化服务的创新型移动互联网平台,连接买家与卖家之间的一个平台 名称解释: 买家:所有的大中小型餐馆,酒店等餐饮行业都属于我们常说的买家. 平台: 买家通过在APP上点菜,然后支付相应的费用的一种交易平台. 卖家:附近10公里内,在集贸市场有摊位的所有卖菜的商户 物流平台:公司平台运用自己的物流车辆把买家所需要的菜从卖家手里运输到…