Java生鲜电商平台-商品无限极目录的设计与架构
Java生鲜电商平台-商品无限极目录的设计与架构
说明:任何一个商品都应该是先属于某一个目录,然后在目录中添加商品,目录理论上最多支持三级,因为级别太多,不容易管理。但是设计中需要设计无限制的级别。
另外,最好用树形结构进行处理,这样非常容易观看与管理。
一般的功能类似以下:
商品分类删除的原则是如下:
1.目前Java开源生鲜电商有两级商品,如果要删除父级,则所有的子级别都是删除状态才可以。(千万不要说父级别删除了,子级别一起删除,这个是错误的)
2. 子级别下面挂有商品,如果子级别下面没有商品,则可以删除,如果有,则先删除商品,再删除子集。
3. 所有的删除都是打标删除,不允许物理删除.
一、产品目录定义
在电子商务系统中,产品目录是组织网店产品的一种分类方式。
产品目录一般为树形结构,结构上支持无限分级,但是最常见的是2~3级,很少4级或者以上的(B2B类网站除外)。
比如有类似京东、卓越一样的百货式商场,目录很丰富,图书/家电/手机数码等,每个一级目录下,还划分二级/三级
子目录等,也是三级就满足了业务需求。
而对于一些专业类的网站,如草莓派/麦包包等,两级就可以了,其它的细分通过扩展属性来满足。
产品目录是用户定位产品最为常见的方式,所以网站设置产品目录需要仔细斟酌,根据网站运营特点来做设置。一般而言,
笔者建议能够两层解决的不必用三层,实在需要三层的,可以将第三层隐含在搜索条件中,总之让顾客尽快的到达产品目录
对应的产品列表页面乃至找到对应的产品。
三、产品目录业务分析
1、主目录
一个产品会属于一个或者若干个目录。
但为了便于维护和统计,会指定其中的一个目录关联为该产品的主目录,并以此作为统计用。
为了满足某些销售策略,产品会在多个目录下出现。
2、 目录模板
对于产品目录至少会有两类模板:
1)一级目录首页
如果网站销售多种类型的产品(图书/家电/数码等),那么每一种类的产品差异很大,所以单靠一个网站首页是无法满足
各类营销手段和内容展示的。所以对于一级目录还需要设计特定首页,来对该目录下的商品进行各种推荐方式。
比如进入图书首页,那么就有最新图书(可以用tab形式分为科技类/军事类/人文。。。),热卖图书,相关促销等等。
2)目录的产品列表页面
当进入2级/3级或者更低的目录时,这时就直接显示该目录以及该目录子目录下的产品列表,提供按价格/各类属性选项/品牌等
方式收窄产品列表数据,直到找到合适产品。
3、SEO相关
对于上面的两个页面均需要特定的SEO相关数据,这样有利于搜索引擎搜索和辨识页面内容。
4、关联推荐
即在该目录对应的模板中进行的各种产品推荐。
比如最新/热卖/特色等等。
有些推荐方式有比较明显的规则,可以采用自动化的形式,有些则只能人工,有些则可以混合两种方式,方便运营设置。
1、产品和产品目录是多对多关系
其中一个关系的“是否主产品”为1(是)
2、 产品目录
包括基础数据、SEO相关、访问权限和其它若干数据等。
3、 产品和模板定制参数是一对多
如果支持多个模板,那么对于这些模板上某些信息是否显示/显示数量/排序等参数可以在这里设置。
4、 产品目录和产品目录统计是一对一
产品目录统计冗余若干统计数据,方便显示。
5、 产品目录和产品目录积分规则
系统会有预设的积分规则,这里可以指定该目录和该目录的子目录的特殊积分规则。
6、 产品目录和产品推荐产品
在该产品目录页面上推荐该目录下或者某个指定的子目录下的推荐产品。
7、 属性扩展
通过框架提供的属性扩展模块实现产品目录实体的自定义属性扩展。
8、 国际化信息
通过框架提供的国际化信息处理模块实现产品目录的数据国际化处理,比如名称/描述/图片等国际处理。
Java生鲜电商平台-商品无限极目录的设计与架构的更多相关文章
- Java开源生鲜电商平台-订单抽成模块的设计与架构(源码可下载)
Java开源生鲜电商平台-订单抽成模块的设计与架构(源码可下载) 说明:订单抽成指的是向卖家收取相应的信息服务费.(目前市场上有两种抽成方式,一种是按照总额的抽成比率,另外一种是按照订单明细的抽成比率 ...
- Java生鲜电商平台-商品基础业务架构设计-商品设计
Java生鲜电商平台-商品基础业务架构设计-商品设计 在生鲜电商的商品中心,在电子商务公司一般是后台管理商品的地方.在前端而言,是商家为了展示商品信息给用户的地方,它是承担了商品的数据,订单,营销活动 ...
- Java生鲜电商平台-商品的spu和sku数据结构设计与架构
Java生鲜电商平台-商品的spu和sku数据结构设计与架构 1. 先说明几个概念. 电商网站采用在商品模块,常采用spu+sku的数据结构算法,这种算法可以将商品的属性和商品的基本信息分离,分开维护 ...
- Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲
Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台: 微服务是当前非常流行的技术框架,通过服务的小型化.原子化以及分布式架构的弹性伸缩和高可用性, ...
- Java生鲜电商平台-商家支付系统与对账系统架构实战
Java生鲜电商平台-商家支付系统与对账系统架构实战 说明:关于生鲜电商平台,支付系统是连接消费者.商家(或平台)和金融机构的桥梁,管理支付数据,调用第三方支付平台接口,记录支付信息(对应订单号,支付 ...
- Java生鲜电商平台-微服务入门与服务的拆分架构实战
Java生鲜电商平台-微服务入门与服务的拆分架构实战 刚开始进入软件行业时还是单体应用的时代,前后端分离的概念都还没普及,开发的时候需要花大量的时间在“强大”的JSP上面,那时候SOA已经算是新技术了 ...
- 点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类(源码可下载)
点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类 (源码可下载) 说明:我们搞过电商的人都可以体会到,搞生鲜电商是最复杂的,为什么复杂呢?我总结了有以下几个业务特性决定的: 1. ...
- Java生鲜电商平台-系统异常状态的设计与架构(APP应用或者生鲜小程序)
Java生鲜电商平台-系统异常状态的设计与架构 说明:在实际开发Java生鲜电商平台的时候,异常状态的设计关系着整体系统的性能问题,架构设计,以及稳定性方面,对此,我根据实际的业务场景,进行了系统设计 ...
- Java开源生鲜电商平台-商品表的设计(源码可下载)
Java开源生鲜电商平台-商品表的设计(源码可下载) 任何一个电商,无论是B2C还是B2B的电商,商品表的设计关系到整个系统架构的核心. 1. 商品基本信息表:用单词:goods做为商品表 2. 商品 ...
随机推荐
- git安装和项目上传到GitHub
重装系统后,Git安装也要来重来 下载 国内下载地址:https://npm.taobao.org/mirrors/git-for-windows 安装忽略 生成密钥 输入然后都是下一步,生成密钥,生 ...
- 关于OC中直接打印结构体(CGRectCGSize、CGPoint、UIOffset)等数据类型
关于OC直接打印结构体,点(CGRect,CGSize,CGPoint,UIOffset)等数据类型,我们完全可以把其转换为OC对象来进项打印调试,而不必对结构体中的成员变量进行打印.就好比我们可以使 ...
- [20190821]关于CPU成本计算.txt
[20190821]关于CPU成本计算.txt --//有人问链接http://blog.itpub.net/267265/viewspace-2653964/中CPU成本如何计算的,实际上一般在优化 ...
- liteos分散加载(十四)
1. 概述 1.1 基本概念 分散加载是一种实现特定代码快速启动的技术,通过优先加载特定代码到内存,达到缩短从系统开机到特定代码执行的时间.可被应用来实现关键业务的快速启动. 嵌入式系统通过uboot ...
- [Go] golang实时监控日志文件的包tail
在linux中有一个tail命令,tail -f可以实时的监控文件新增加的内容,如果用代码实现这个逻辑,可以下载使用这个包go get github.com/hpcloud/tail/... 测试代码 ...
- CentOS离线安装Rust
条件所限,无法在线连接外网,或是下载慢,容易中断时,可以采用. 一,下载离线安装包 https://forge.rust-lang.org/other-installation-methods.htm ...
- 【tyvj1858】xlkxc(拉格朗日插值)
传送门 题意: 求\(\sum_{i=0}^n\sum_{j=1}^{a+id}\sum_{k=1}^{j}k^K,n,a,d\leq 10^9,K\leq 100\). 思路: 最右边这个和式为一个 ...
- 6. Go语言—字符串操作
一.字符串支持的转义字符 \r 回车符(返回行首) \n 换行符(直接跳到下一行的同列位置) \t 制表符 \' 单引号 \" 双引号 \\ 反斜杠 \uXXXX Unicode字符码值转义 ...
- 19.8.2 luogu 夏令营 游
人生第一次游记....是在学校机房,在luogu网校,在炎炎夏日,在薯条汉堡,在自己的博客里... 十二天快吗? 刚上课那会真的比较兴奋,把每天的计划都排的满满的,希望这十二天慢点,再慢点,我得好好过 ...
- 关于使用LocalDateTime进行存储,时间相差比较多的问题。
可以在设置数据库中的连接, characterEncoding=UTF8&useSSL=false&serverTimezone=GMT%2b8