Java生鲜电商平台-商品无限极目录的设计与架构

摘要:
Java生鲜电子商务平台-无限商品目录的设计和架构:任何产品都应该首先属于某个目录,然后将产品添加到目录中。理论上,目录最多支持三个级别,因为要管理的级别太多。一般功能如下:删除产品类别的原则如下:1.目前,Java开源生鲜电商有两个级别的产品。如果要删除父级,则所有子级必须处于删除状态。

Java生鲜电商平台-商品无限极目录的设计与架构

说明:任何一个商品都应该是先属于某一个目录,然后在目录中添加商品,目录理论上最多支持三级,因为级别太多,不容易管理。但是设计中需要设计无限制的级别。

           另外,最好用树形结构进行处理,这样非常容易观看与管理。

一般的功能类似以下:

 商品分类删除的原则是如下:

  1.目前Java开源生鲜电商有两级商品,如果要删除父级,则所有的子级别都是删除状态才可以。(千万不要说父级别删除了,子级别一起删除,这个是错误的)

       2. 子级别下面挂有商品,如果子级别下面没有商品,则可以删除,如果有,则先删除商品,再删除子集。

      3.  所有的删除都是打标删除,不允许物理删除.

一、产品目录定义

在电子商务系统中,产品目录是组织网店产品的一种分类方式。

产品目录一般为树形结构,结构上支持无限分级,但是最常见的是2~3级,很少4级或者以上的(B2B类网站除外)。

比如有类似京东、卓越一样的百货式商场,目录很丰富,图书/家电/手机数码等,每个一级目录下,还划分二级/三级

子目录等,也是三级就满足了业务需求。

而对于一些专业类的网站,如草莓派/麦包包等,两级就可以了,其它的细分通过扩展属性来满足。

产品目录是用户定位产品最为常见的方式,所以网站设置产品目录需要仔细斟酌,根据网站运营特点来做设置。一般而言,

笔者建议能够两层解决的不必用三层,实在需要三层的,可以将第三层隐含在搜索条件中,总之让顾客尽快的到达产品目录

对应的产品列表页面乃至找到对应的产品。

Java生鲜电商平台-商品无限极目录的设计与架构第1张

三、产品目录业务分析

1、主目录

一个产品会属于一个或者若干个目录。

但为了便于维护和统计,会指定其中的一个目录关联为该产品的主目录,并以此作为统计用。

为了满足某些销售策略,产品会在多个目录下出现。

2、 目录模板

对于产品目录至少会有两类模板:

1)一级目录首页

如果网站销售多种类型的产品(图书/家电/数码等),那么每一种类的产品差异很大,所以单靠一个网站首页是无法满足

各类营销手段和内容展示的。所以对于一级目录还需要设计特定首页,来对该目录下的商品进行各种推荐方式。

比如进入图书首页,那么就有最新图书(可以用tab形式分为科技类/军事类/人文。。。),热卖图书,相关促销等等。

2)目录的产品列表页面

当进入2级/3级或者更低的目录时,这时就直接显示该目录以及该目录子目录下的产品列表,提供按价格/各类属性选项/品牌等

方式收窄产品列表数据,直到找到合适产品。

3、SEO相关

对于上面的两个页面均需要特定的SEO相关数据,这样有利于搜索引擎搜索和辨识页面内容。

4、关联推荐

即在该目录对应的模板中进行的各种产品推荐。

比如最新/热卖/特色等等。

有些推荐方式有比较明显的规则,可以采用自动化的形式,有些则只能人工,有些则可以混合两种方式,方便运营设置。

Java生鲜电商平台-商品无限极目录的设计与架构第2张

1、产品和产品目录是多对多关系

其中一个关系的“是否主产品”为1(是)

2、 产品目录

包括基础数据、SEO相关、访问权限和其它若干数据等。

3、 产品和模板定制参数是一对多

如果支持多个模板,那么对于这些模板上某些信息是否显示/显示数量/排序等参数可以在这里设置。

4、 产品目录和产品目录统计是一对一

产品目录统计冗余若干统计数据,方便显示。

5、 产品目录和产品目录积分规则

系统会有预设的积分规则,这里可以指定该目录和该目录的子目录的特殊积分规则。

6、 产品目录和产品推荐产品

在该产品目录页面上推荐该目录下或者某个指定的子目录下的推荐产品。

7、 属性扩展

通过框架提供的属性扩展模块实现产品目录实体的自定义属性扩展。

8、 国际化信息

通过框架提供的国际化信息处理模块实现产品目录的数据国际化处理,比如名称/描述/图片等国际处理。

免责声明:文章转载自《Java生鲜电商平台-商品无限极目录的设计与架构》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于deciaml的类型转换问题菜鸟python---格式化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

powerdesigner与数据库之间的连接

useUnicode=true&characterEncoding=UT8&serverTimezone=UTC 9JDBCdriverjarfiles:指定连接的jar包路径。测试连接。连接成功。进入工作区。3.2 3.2powerdesigner连接到oracle。其原理与连接MySQL的原理相同。在已安装的oracle下找到ojdbc1...

MySQL锁详解

MySQL锁详解update语句执行流程MySQL的锁介绍按照锁的粒度来说,MySQL主要包含三种类型(级别)的锁定机制:全局锁:锁的是整个database。由MySQL的SQLlayer层实现的表级锁:锁的是某个table。由MySQL的SQLlayer层实现的行级锁:锁的是某行数据,也可能锁定行之间的间隙。...

使用事务和SqlBulkCopy批量插入数据

类似与MicrosoftSQLServer包中名为bcp的命令行应用程序。但是使用SqlBulkCopy类可以编写托管代码解决方案,性能上优于bcp命令行应用程序,更优于如Insert方式向SQLServer表加载大量数据。SqlBulkCopy可以应用到大批量数据的转移上,而不管数据源是什么。之前在做winform开发的时候,发现当datagridview...

Cesium深入浅出之视频投影【转】

通常,我们使用矩形,因为视频形状是方形的。据怀疑,视频标签隐藏了这段关系。如果再次显示,视频将再次移动。此处使用VideoSynchronizer。它可以使视频元素与铯的模拟时钟同步。让我们看看它的构造函数:name type description optionsObject option子属性:name type默认值description用于驱动视频的...

java.net.URISyntaxException的解决办法

直接采用Stringurl=“http:count=1”;HttpGethttpget=新的HttpGet(url);HttpResponseresponse=client.execute(httpget);例如,“|”&因此,不能直接使用String而不是URI来访问。然后我们可以使用URL生成URI的方法来解决这个问题。代码如下:URLu...

内网esxi磁盘空间不足导致虚拟机宕机

因为一些占用太多空间的虚拟机可能无法启动。我不断拍摄快照以保存测试版本。我跳过了同一网段上的一个虚拟机ssh,并一直看着翻译器学习如何释放虚拟磁盘空间。您只能创建一个新的虚拟机来读取原始磁盘目录,并且只能重新构建一个新Linux机器进行测试。然后上传一个测试文件(最大程度地模拟其他虚拟机环境)。首先,你需要关闭机器。厚配置延迟将整个虚拟机目录文件清零,如下所...