demoncat-mall
项目介绍
猫妖商城
软件架构
demoncat-mall-admin-web平台管理(平台管理员)
demoncat-mall-shop-admin-web店铺管理后台(商家)
demoncat-mall-web前端(所有用户)
安装教程
xxxx
xxxx
xxxx
业务设计
分类属性
1、子分类继承父分类定义的属性(向下共享)
2、创建商品时读取并维护叶子分类的所有属性(包含继承属性和自定义属性)
3、因为在子分类中排序时,如果包含父分类的属性,会导致其它兄弟分类的排序变乱,所以排序操作应在单独的页面中进行(针对一级分类下的所有属性进行全局排序【进页面必选一级分类】)
4、可以根据分类拥有的选择框类型属性进行商品检索:["attrId:attrVal"]
5、因为级联修改缓存效率低,因此检索项缓存采用近实时更新
分类品牌
1、品牌独立维护
2、一级分类在全部品牌下手动关联,二级三级分类在父分类下手动关联
3、创建商品时读取并维护叶子分类的所有品牌
4、品牌排序便于全部品牌的管理和查询;分类下的排序用于分类品牌的推荐、搜索、查询
5、为了降低系统负载,因此推荐和搜索品牌的缓存采用近实时更新
购物车
1、数据库保存购物车{userId,itemSkuId,itemId,shopId ……},方便进行用户推荐、消费采集、店铺运营。
2、本地(localSessionStorage)保存购物数量(数据库中修改数量性能低;Redis中缓存这些不常用的私有数据太浪费)
3、本地根据shopId分组店铺商品,根据itemSkuId查询商品信息
4、本地进行价格的预估计算
5、创建订单时,程序中根据提交的itemSkuId和数量重新计算价格并生成订单,同时根据shopId拆分订单
规格参数
商品展示:先查分类的规格(继承),再赋值商品的规格值。
规格查询:创建索引时,保存可筛选的选择框字段存储为 param : [ 'paramId:paramVal','paramId:paramVal'] ,并通过 'paramId:paramVal' 来搜索
规格可取值:选择型的值有两种,1种是写死的值,1种是 查看值是否SEARCH_前缀,如 SEARCH_BRAND 值查询分类的品牌。
商品SKU
使用款式,代替属性联合来标识商品SKU。
创建商品时创建默认款式,不可变更:支持无款式和多款式的场景。