点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类(源码可下载)
Java生鲜电商平台-商品基础业务架构设计-商品分类设计
说明:我们搞过电商的人都可以体会到,搞生鲜电商是最复杂的,为什么复杂呢?我总结了有以下几个业务特性决定的:
1. 业务本身比较复杂。
2. 商品都是非标准化的商品。
3. 各种售后问题层出不穷.
4. 人心善变,各种变化.
好了,不多说废话了。我们开始聊下今天的商品分类的架构设计。
名称简介: 商品分类也叫做商品类目。核心的意义就是把商品按照某种分类区分开,方便客户寻找自己的商品。
要理解生鲜电商的商品分类,请先读懂以下对话:
1.客户: 你这个小白菜多少钱一斤呢?老板
2.老板:2.7元一斤,10元4斤.
3.客户:你这个小白菜是哪个产的呢?
4.老板:这个是襄阳的生产的,非常的甜,冬天下面条非常好吃,你看看,这个都是刚批发回来的,很新鲜.
5.客户: 好的,那老板你跟我装10斤吧。
6.老板:好的,稍等下就跟你装。
7.老板:装好了,请问你是支付宝还是微信支付,还是现金支付呢?
8.客户:我用支付宝吧,我来扫你。
9.老板:好的。
10.支付宝:支付宝喊话:支付宝到账10元。
11.老板:那你拿好,慢走。
12.客户:好的。
业务分析:上面是很简单的一句对话,我们从中需要理解以下几种设计架构:
1. 从第一句话:(1.客户: 你这个小白菜多少钱一斤呢?老板),客户是在选购商品,是通过肉眼来选择的,那么老板是根据分类来进行摆放的,左手边是常见蔬菜,右手边是土豆等其他品类的蔬菜,其中卖得好的都放在眼前.
2. 从第二句话:(2.老板:2.7元一斤,10元4斤.),这个是商品的售卖规格,同一个商品(SPU),有几种售卖规格(SKU), 理论上买4斤是需要10.8元的,但是老板为了卖得快,吸引客户,所以采用了满减的促销手段,目前就是快速的销售自己是商品,减少库存.
3. 从第三,四句话:(3.客户:你这个小白菜是哪个产的呢?4.老板:这个是襄阳的生产的,非常的甜,冬天下面条非常好吃,你看看,这个都是刚批发回来的,很新鲜.)这个是问商品的产地以及品牌。
4. 从第五句话:(5.客户: 好的,那老板你跟我装10斤吧。),这个就是商品的下订单的过程.
5. 从第7句话:(7.老板:装好了,请问你是支付宝还是微信支付,还是现金支付呢?) 这个就是订单的支付问题。
6. 从最后两句话:(11.老板:那你拿好,慢走。12.客户:好的。) 这个就是物流问题,是自取还是要配送.
业务总结:
根据以上分析,我们得出了以下几个流程:
客户选购商品--->选择购买规格--->下订单--->支付订单---->配送完成--->交易完成
这个就是大家的购物流程。平常的几句对话就可以分析出来.
业务架构:
我们业务架构需要涉及到那几个方面的内容呢?
1. 商品分类。
2. 商品.
3. 商品的售卖规格。
4. 商品的配送
5. 商品的订单。
6. 订单的支付.
今天这篇博客不可能讲解完所有的,那么我们就先讲解分类:
1. 商品的分类设计
基础属性设计:分类ID,分类编码,分类名称,父类ID,状态,分类排序,分类备注,分类状态,创建时间。
CREATE TABLE `goods_category` (
`category_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键(自增ID)',
`category_code` varchar(60) DEFAULT NULL COMMENT '编码',
`category_name` varchar(60) DEFAULT NULL COMMENT '名称',
`parent_id` int(11) DEFAULT NULL COMMENT '父级ID',
`category_seq` int(11) DEFAULT NULL COMMENT '分类排序',
`category_status` tinyint(4) DEFAULT NULL COMMENT '状态(1在用,2停用)',
`category_remarks` varchar(255) DEFAULT NULL COMMENT '分类备注',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`category_id`)
) ENGINE=InnoDB AUTO_INCREMENT=282 DEFAULT CHARSET=utf8;
简介说明:
1.category_id 数据库自动增加,属于分类的ID.
2.category_code,这个是属于分类的编码,比如 我们理解为一级分类为:01,目的是为了方便记忆与寻找。
3.category_seq 这个是为了方便分类的排序用的。一般用小到大排序。
4.category_status 这个是为了表示分类可用于不可用的,有些分类需要就需要打标删除,实际的业务场景中是不会用delete 这种物理删除的。
5.category_remarks 这个是分类的备注,备注的核心意义就是特殊性质的特别补充说明
6. create_time 这个就是常见时间。
这个表设计是否存在问题呢?
1. 分类名称与分类编码不可重复,需要常见唯一键的索引。
2. 一级别的分类,parentId默认就是0,所以需要增加默认值。
3. 分类状态默认就是可用的,所以需要加默认值。
4. 很多数据不能为空需要加上不为空的设计,
综合以上分析,我们最终设计出来了下面的表:
CREATE TABLE `goods_category` (
`category_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键(自增ID)',
`category_code` varchar(60) NOT NULL COMMENT '编码',
`category_name` varchar(60) NOT NULL COMMENT '名称',
`parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '父级ID,默认为0',
`category_seq` int(11) DEFAULT '0' COMMENT '分类排序',
`category_status` tinyint(4) DEFAULT '1' COMMENT '状态(1在用,2停用)',
`category_remarks` varchar(255) DEFAULT NULL COMMENT '分类备注',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`category_id`),
UNIQUE KEY `unique_code` (`category_code`),
UNIQUE KEY `unique_name` (`category_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
总结:对事物的学习与架构需要在足够了解业务的基础上才可用设计得很好,多思考,多总结
联系QQ:137071249
QQ群:793305035
点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类(源码可下载)的更多相关文章
- Java生鲜电商平台-商品基础业务架构设计-商品设计
Java生鲜电商平台-商品基础业务架构设计-商品设计 在生鲜电商的商品中心,在电子商务公司一般是后台管理商品的地方.在前端而言,是商家为了展示商品信息给用户的地方,它是承担了商品的数据,订单,营销活动 ...
- 点菜网---Java开源生鲜电商平台-系统架构图(源码可下载)
点菜网---Java开源生鲜电商平台-系统架构图(源码可下载) 1.点菜网-生鲜电商平台的价值与定位. 生鲜电商平台是一家致力于打造全国餐饮行业智能化.便利化.平台化与透明化服务的创新型移动互联网平台 ...
- 点菜网---Java开源生鲜电商平台-技术选型(源码可下载)
点菜网---Java开源生鲜电商平台-技术选型(源码可下载) 1.内容简介 点菜网目前选用的是最流行的微服务架构模式,采用前后端分离的开发模式,具备高可用,高负载,支持千万级别的数据量的请求. 2. ...
- Java生鲜电商平台-优惠券系统的架构设计与源码解析
Java生鲜电商平台-优惠券系统的架构设计与源码解析 电商后台:实例解读促销系统 电商后台系统包括商品管理系统.采购系统.仓储系统.订单系统.促销系统.维权系统.财务系统.会员系统.权限系统等,各系统 ...
- Java生鲜电商平台-促销系统的架构设计与源码解析
Java生鲜电商平台-促销系统的架构设计与源码解析 说明:本文重点讲解现在流行的促销方案以及源码解析,让大家对促销,纳新有一个深入的了解与学习过程. 促销系统是电商系统另外一个比较大,也是比较复杂的系 ...
- Java开源生鲜电商平台-商品表的设计(源码可下载)
Java开源生鲜电商平台-商品表的设计(源码可下载) 任何一个电商,无论是B2C还是B2B的电商,商品表的设计关系到整个系统架构的核心. 1. 商品基本信息表:用单词:goods做为商品表 2. 商品 ...
- Java开源生鲜电商平台-财务系统模块的设计与架构(源码可下载)
Java开源生鲜电商平台-财务系统模块的设计与架构(源码可下载) 前言:任何一个平台也好,系统也好,挣钱养活团队这个是无可厚非的,那么对于一个生鲜B2B平台盈利模式( 查看:http://www.cn ...
- Java开源生鲜电商平台-系统简介
Java开源生鲜电商平台-系统简介 1.生鲜电商平台的价值与定位. 生鲜电商平台是一家致力于打造全国餐饮行业智能化.便利化.平台化与透明化服务的创新型移动互联网平台,连接买家与卖家之间的一个平台 看以 ...
- Java开源生鲜电商平台-盈利模式详解(源码可下载)
Java开源生鲜电商平台-盈利模式详解(源码可下载) 该平台提供一个联合买家与卖家的一个平台.(类似淘宝购物,这里指的是食材的购买.) 平台有以下的盈利模式:(类似的平台有美菜网,食材网等) 1. 订 ...
随机推荐
- BigTable读后笔记
BigTable读后笔记 GFS可能出现重复记录或者padding,Bigtable如何处理这种情况使得对外提供强一致性模型? ANS: Bigtable写入GFS的数据分为两种: 1)操作日志,当T ...
- BZOJ 3329 Xorequ 数字DP+矩阵乘法
标题效果:特定n,乞讨[1,n]内[1,2^n]差多少x满足x^3x=2x x^3x=2x相当于x^2x = 3x 和3x=x+2x 和2x=x<<1 因此x满足条件IFFx&(x ...
- 发现意外之美 - SwiftyJSON 源码学习 | 咖啡时间
SwiftyJSON 是一个很优秀 Swift 语言第三方库.我们在之前的文章中对它有过介绍.相信大家对它也有了一些了解.提升开发功力最好的方式就是学习优秀的源代码了,记得大神 TJ Holowayc ...
- SyncML协议简述(和HTTP协议有点类似)
目前,移动计算和通信设备的流行很大部分原因是因为它们具有一些方便的功能,比如说在需要时可以发送信息给其他用户,用户希望随时随地都可以利用掌上设备访问信息和执行应用程序,甚至在飞行中也可以获得和更新信息 ...
- VS发布到IIS Express外网Debug(如微信开发)
主要效果是本机调试网站,将网站发布到某域名(如m16758r728.iok.la),可以进入VS断点,不必再用远程调试!!! 环境 VS2015windows 10操作系统花生壳(可以用其他内网穿透的 ...
- C++的中英文字符串表示(string,wstring),使用wcout.imbue(std::locale("chs"));本地化解析编码
在C++中字符串类的string的模板原型是basic_string template <class _Elem, class traits = char_traits<_Elem> ...
- C# GC Finalizer IDispseable,.Net的垃圾回收机制
1.GC只能回收堆里的托管资源 2.GC 回收,"代"的概念 .net 托管资源分三代,代数越大 资源的生命周期越长. 0 代 和1代的资源比较少可以比较频率的回收, 回收2代以上 ...
- 2017-01-11&2017-01-12
江门警情协作需求. 连续两天搞到超过十点半,所以今天来一并写一下这两天的记录吧. 1.11号明显的进展算是把通讯调通了,还有重新把协作请求的界面按一开始的设想嵌到主界面中. 2.今天12号貌似进展要大 ...
- Win10《芒果TV》送7天免费会员,邀您抢先看萌心自制《妈妈是超人3》
<妈妈是超人>第三季萌心归来,霍思燕,贾静雯,黄圣依,邓莎联合释放"妈妈的声音",嗯哼,咘咘,波妞,安迪,大麟子五位萌娃共同出镜,萌化屏幕.Win10<芒果TV& ...
- 读unp并动手实践
经过三个月的学习,我发现进度比较慢.照这个进度下去,平均一周花费5-6小时,还不知道读完全书需要多久. 现在做个计划,全书除开简介部分分为 基础 和 高级 套接字编程两部分,其中 基础可以分为 TCP ...