HH SaaS电商系统的商品系统设计

文章目录

    • 商品信息结构
      • 商品信息总结构
      • 商品信息结构图
    • 发布商品
    • 商品类型
      • 虚拟商品
      • 服务商品
    • 为什么服务商品要分类
      • 前端根据服务商品类型来设计不同的界面和交互
      • 订单状态和服务类型有关
    • 商品档案上下架
    • 运营商品上下架(即商品营销上下架)
    • 删除商品
      • 租户删除自供商品
      • 租户删除商品的档案资料
      • 租户删除已分配给商城的商品
      • 租户供应商删除商品
      • 商城删除自供商品
      • 商城删除商品的档案资料
      • 商城供应商删除商品
      • 商城删除已分配给自营店铺的商品
      • 有供应系统的店铺删除自供商品
      • 有供应系统的店铺删除商品档案资料
      • 店铺供应商删除商品
      • 无供应系统的店铺删除商品
    • 发布和分配商品的数据保存问题
      • 租户分配国内商品给商城
      • 商城发布自供商品
        • 1、商城发布国内自供商品
        • 2、商城发布跨境自供商品
      • 供应商发布商品
        • 1、租户供应商发布商品
        • 2、商城专享型国内供应商发布商品
        • 3、商城专享型跨境供应商发布商品
        • 4、商城共享型国内供应商发布商品
        • 5、店铺供应商发布商品
      • 店铺发布商品
        • 1、非代销类的C2C店铺发布商品
        • 2、无供应系统的国内B2C店铺发布商品
        • 3、无供应系统的跨境B2C店铺发布商品
        • 4、有供应系统的国内B2C店铺发布商品
        • 5、有供应系统的跨境B2C店铺发布商品
      • 租户发布商品
        • 租户发布国内商品
    • 商品销售信息模板
      • 模板状态
      • 上线周期
      • 素材操作功能需求说明
      • 销售信息模板的状态图
      • 获取销售信息模板的判断逻辑流程图

商品信息结构

商品信息总结构

HH SaaS电商系统的商品设计得非常复杂,为了避免同种商品的档案信息过多的重复保存,而同种商品又要考虑不同卖家的营销信息以及不同供应商的供应信息,所以商品结构如下图所示:
在这里插入图片描述

商品信息结构图

在这里插入图片描述

在这里插入图片描述

发布商品

商城发布服务商品和虚拟商品时,把以下字段隐藏掉,在数据库保存缺省值:

字段名称缺省值界面位置
采购类型国内基础信息
生产商商城名称规格信息
生产地中国规格信息
商品重量0规格信息
采购类型国内规格信息

查看交互原型文档

商品类型

分为实物商品、服务商品、虚拟商品

虚拟商品

付款后立即得到的商品,无需发货和确认,例如:代金券

P.S 供应商和租户不可发布虚拟商品,任何模式的商城和店铺都可以发布虚拟商品

服务商品

服务商品有三种服务形式:线上、到店、上门

  • 线上服务:手机充值、Q币充值、电子书等
  • 到店服务:到店用餐、到店按摩、到店洗车等
  • 上门服务:上门按摩、上门安装、上门洗车等

P.S B2C模式的商城只能发布线上服务商品,O2O模式和混合模式的商城可以发布任何形式的服务商品,B2C和C2C模式的店铺只能发布线上服务商品,O2O模式的店铺可以发布任何形式的服务商品;供应商不可发布线下服务商品,但是可以发布线上服务商品;租户不可发布任何形式的服务商品

为什么服务商品要分类

前端根据服务商品类型来设计不同的界面和交互

  • 到店服务的商品,【订单确认】界面需要显示店铺地址和路线地图
  • 上门服务的商品,【订单确认】界面需要填写服务地址、联系人、联系电话
  • 线上服务的商品,【订单确认】只要显示商品和价格信息,但是买家备注需要特别的提示文案:请根据商品的需要,填写必要的信息~

订单状态和服务类型有关

而线上服务订单和线下服务订单的业务状态是不同的,具体可以参考:HH SaaS电商系统的销售订单设计

商品档案上下架

  • SPU档案下架,隶属的状态为“已上架”的SKU档案全部下架
  • 将SPU档案上架,隶属的SKU档案状态不受影响
  • 总部档案SPU为“已下架”状态,隶属的SKU不允许单独上架
  • 关联的基础类目未启用或者已删除,SPU档案不允许上架
  • SKU档案下架,相关的SKU_EXT全部下架(SKU_EXT_STATUS变成已下架)

运营商品上下架(即商品营销上下架)

  • 上架SPU时,若使用中的素材模板的图文描述为空,则不允许上架,提示:商品的图文描述不许为空哦~, 若不存在使用中的素材模板也不允许上架,提示:商品不存在正在使用中的素材模板哦~

  • 上架SPU时,隶属的SKU全部上架,但是售价为空或者库存为0(不允许负库存销售的前提下)的SKU不允许上架,若全部SKU都无法上架,提示:非常抱歉,此商品关联的SKU均不可上架~

  • 单独上架SKU时,关联的SPU跟着上架,若售价为空或者库存为0(不允许负库存销售的前提下),不允许上架,提示:此SKU的售价为空或者库存为0,无法上架哦~;

  • SPU下架时,隶属的全部SKU都下架;

  • 单独下架SKU(SKU_EXT_STATUS变成已下架),若全部SKU都已下架,那么关联的SPU也必须下架(SPU_EXT_STATUS变成已下架),否则SPU不下架。

删除商品

租户删除自供商品

1、没有库存数的商品才能删除,删除的是租户有关该商品的供应资料,即删除表“vendor_goods_sku”相关的记录;

2、删除有库存的商品时系统提示:非常抱歉,此商品尚有库存不可删除!

租户删除商品的档案资料

1、下架的商品档案资料才允许删除;

2、只有下架的spu_base才会出现删除按钮,删除后会把隶属的所有sku_base删除掉,同时会将关联的spu_ext、sku_ext、material_template以及sku_base_sale表的相关记录删除

租户删除已分配给商城的商品

1、需要删除sku_base_sale表中该商城关于此商品的记录,以及该商城隶属的店铺关于该商品的记录

2、需要删除该商城关于此商品的sku_ext记录,以及该商城隶属的店铺关于该商品的sku_ext记录

3、如果spu_ext隶属的全部sku_ext以删除,那么该spu_ext也需要删除

4、如果spu_ext已被删除,那么spu_ext隶属的全部materal_template要全部删除

租户供应商删除商品

1、没有库存数的商品才能删除,删除的是供应商有关该商品的供应资料,即删除表“vendor_goods_sku”相关的记录;

2、删除有库存的商品时系统提示:非常抱歉,此商品尚有库存不可删除!

商城删除自供商品

1、没有库存数的商品才能删除,删除的是商城有关该商品的供应资料,即删除表“vendor_goods_sku”相关的记录;

2、删除有库存的商品时系统提示:非常抱歉,此商品尚有库存不可删除!

商城删除商品的档案资料

1、下架的商品档案资料才允许删除;

2、只有下架的spu_base才会出现删除按钮,删除后会把隶属的所有sku_base删除掉,同时会将关联的spu_ext、sku_ext、material_template以及sku_base_sale表的相关记录删除

商城供应商删除商品

1、没有库存数的商品才能删除,删除的是供应商有关该商品的供应资料,即删除表“vendor_goods_sku”相关的记录;

2、删除有库存的商品时系统提示:非常抱歉,此商品尚有库存不可删除!

商城删除已分配给自营店铺的商品

1、需要删除sku_base_sale表中该店铺关于此商品的记录;

2、需要删除该店铺关于此商品的sku_ext记录;

3、如果spu_ext隶属的全部sku_ext以删除,那么该spu_ext也需要删除

4、如果spu_ext已被删除,那么spu_ext隶属的全部spu_sales_template要全部删除

有供应系统的店铺删除自供商品

1、没有库存数的商品才能删除,删除的是店铺有关该商品的供应资料,即删除表“vendor_goods_sku”相关的记录;

2、删除有库存的商品时系统提示:非常抱歉,此商品尚有库存不可删除!

有供应系统的店铺删除商品档案资料

1、下架的商品档案资料才允许删除;

2、只有下架的spu_base才会出现删除按钮,删除后会把隶属的所有sku_base删除掉,同时会将关联的spu_ext、sku_ext、material_template以及sku_base_sale表的相关记录删除

店铺供应商删除商品

1、没有库存数的商品才能删除,删除的是供应商有关该商品的供应资料,即删除表“vendor_goods_sku”相关的记录;

2、删除有库存的商品时系统提示:非常抱歉,此商品尚有库存不可删除!

无供应系统的店铺删除商品

直接将店铺有关该商品的spu_base、sku_base、spu_ext、sku_ext、material_template以及vendor_goods_sku表和sku_base_sale表相关的记录删除掉

发布和分配商品的数据保存问题

租户只能发布国内商品

租户分配国内商品给商城

租户分配国内商品给商城时,需要往【可售卖商品】表插入一条记录,表示商品由商城售卖,可售数量有多少;

往【SPU营销基础/SPU_EXT】表插入一条记录,同时调致上的接口,传参:EXT_SPU_ID、BELONG_STORE_ID、BELONG_MALL_ID、BELONG_TENANT_ID、BASE_SPU_ID、EXT_SPU_STATUS

往【SPU营销素材】表插入一条记录,这个表在致上,调相关接口,传参:MATE_TITLE、EXT_SPU_IMAGE、EXT_SPU_ID、BELONG_STORE_ID、BELONG_MALL_ID、BELONG_TENANT_ID、BASE_SPU_ID、IS_DEFAULT、IS_DISABLED

往【SKU营销资料/SKU_EXT】表插入一条记录,同时调致上的接口,传参:EXT_SKU_IMAGE、EXT_SKU_STATUS、EXT_SPU_ID、BELONG_STORE_ID、BELONG_MALL_ID、BELONG_TENANT_ID、EXT_SKU_ID、BASE_SKU_ID

此时的商品归属租户,但是营销数据属于商城的。

商城发布自供商品

1、商城发布国内自供商品

商城发布国内自供商品时,除了要保存商品基础数据以外,需要往【可售卖商品】表插入一条记录,表示商品由商城售卖,此时可售数量为0,因为商品还未入库,商品入库后才自动同步库存数据到【可售卖商品】表对应的记录中;

往【SPU营销基础】表插入一条记录;

往【SPU营销素材】表插入一条记录;

往【SKU营销资料】表插入一条记录。

此时的商品归属商城,营销数据也属于商城的。

2、商城发布跨境自供商品

商城发布跨境自供商品时,只要保存商品的基础数据即可,无需往【可售卖商品】表插入一条记录,也无需商品的营销数据。

P.S 如果发布的是跨境商品,那么商品类型只能是“实物商品”

供应商发布商品

1、租户供应商发布商品

租户供应商都是专享型的,但是分为国内供应商和跨境供应商,租户供应商发布商品只要保存商品的基础数据即可

2、商城专享型国内供应商发布商品

商城供应商按供应对象的不同可以分为专享型和共享型两种,按经营国境的不同可以分为国内供应商和跨境供应商两种。目前商城的供应商有三种:专享国内、专享跨境、共享国内

商城的专享型国内供应商发布商品,除了保存商品的基础数据以外,需要往【可售卖商品】表插入一条记录,表示商品由商城售卖,此时可售数量为0,因为商品还未入库,商品入库后才自动同步库存数据到【可售卖商品】表对应的记录中;

往【SPU营销基础】表插入一条记录;

往【SPU营销素材】表插入一条记录;

往【SKU营销资料】表插入一条记录。

此时的商品归属商城,营销数据也属于商城的。

3、商城专享型跨境供应商发布商品

此类供应商发布商品只要保存商品的基础数据

4、商城共享型国内供应商发布商品

此类供应商发布商品只要保存商品的基础数据,但是商品的基础数据由供应商自行管理和维护,所以【SPU档案】表和【SKU档案】表需要保存供应商的ID

5、店铺供应商发布商品

店铺的供应商都是专享的,但是分国内、跨境两种。

店铺供应商发布商品,除了保存商品的基础数据以外,需要往【可售卖商品】表插入一条记录,表示商品由店铺售卖,此时可售数量为0,因为商品还未入库,商品入库后才自动同步库存数据到【可售卖商品】表对应的记录中;

往【SPU营销基础】表插入一条记录;

往【SPU营销素材】表插入一条记录;

往【SKU营销资料】表插入一条记录。

此时的商品归属店铺,营销数据也属于店铺的。

店铺发布商品

1、非代销类的C2C店铺发布商品

此类店铺没有供应系统,没有仓储系统,发布商品时需要保存商品的基础数据、营销数据,同时需要往【可售卖商品】表插入一条记录,此时商品的价格、销售库存数店铺可以随意修改

2、无供应系统的国内B2C店铺发布商品

此类店铺没有供应系统,没有仓储系统,发布商品时需要保存商品的基础数据、营销数据,同时需要往【可售卖商品】表插入一条记录,此时商品的价格、销售库存数店铺可以随意修改

3、无供应系统的跨境B2C店铺发布商品

此类店铺没有供应系统,没有仓储系统,发布商品时需要保存商品的基础数据、营销数据,同时需要往【可售卖商品】表插入一条记录,此时商品的价格、销售库存数店铺可以随意修改

4、有供应系统的国内B2C店铺发布商品

此类店铺发布商品后,除了要保存商品的基础数据以外,需要往【可售卖商品】表插入一条记录,表示商品由店铺售卖,此时可售数量为0,因为商品还未入库,商品入库后才自动同步库存数据到【可售卖商品】表对应的记录中;

往【SPU营销基础】表插入一条记录;

往【SPU营销素材】表插入一条记录;

往【SKU营销资料】表插入一条记录。

此时的商品归属店铺,营销数据也属于店铺的。

5、有供应系统的跨境B2C店铺发布商品

此类店铺发布商品后,除了保存商品的基础数据以外,需要往【可售卖商品】表插入一条记录,表示商品由店铺售卖,此时可售数量为0,因为商品还未入库,商品入库后才自动同步库存数据到【可售卖商品】表对应的记录中;

往【SPU营销基础】表插入一条记录;

往【SPU营销素材】表插入一条记录;

往【SKU营销资料】表插入一条记录。

此时的商品归属店铺,营销数据也属于店铺的。

租户发布商品

租户只能发布国内商品

租户发布国内商品

租户发布国内商品后,只要保存商品的基础数据即可

商品销售信息模板

同种商品可以创建多套销售信息模板,根据运营的需要关联启用,例如:你可以创建端午节主题和劳动节主题的销售信息模板,那么相关节日到时商品关联启用相关的销售信息模板,那么买家端就可以看到有关的销售信息模板了

模板状态

待审核、审核未过、未启用、使用中、已过期、待启用

上线周期

销售信息模板的上线周期分为:无限制、固定周期,如果设定固定周期,选取的截止时间必须大于开始时间1个小时以上(含),开始时间必须大于等于当前系统时间

素材操作功能需求说明

操作需求说明
设为默认状态为待启用、待审核、审核未过、已过期的销售信息模板不显示“默认”按钮,只有状态为未启用、使用中的且“非默认”的信息模板才会显示“默认”按钮。设为默认时,系统要判断信息模板的上线周期是否“无限制”,若为“固定周期”,则不许设置为“默认”的,提示:非常抱歉,上线周期为“固定期限”的信息模板不允许设为“默认”~,否则可以正常设置,设置成功后其它“默认”的模板要变成“非默认”
启用模板状态为待审核、审核未过、使用中的销售信息模板不显示“启用”按钮。只有状态为未启用、已过期、待启用才会显示“启用”按钮。启用销售信息模板时若设置为“无限制”,则销售信息模板立即启用,状态改为“使用中”,其它“使用中”的销售信息模板状态改为“未启用”;若设置为“固定周期”,需要判断信息模板是不是“默认”的,是则不允许设置为“固定期限”的,提示:非常抱歉,默认的销售信息模板的上线周期不允许设置为“固定周期”的。接着还要判断该商品是否已经存在“待启用”的销售信息模板,是则不允许设置为“固定期限”,提示:非常抱歉,每个商品只允许存在一个“待启用”的销售信息模板哦,否则可以正常设置,设置成功后销售信息模板状态为“待启用”
删除模板状态为审核未过、未启用、已过期、待启用且非“默认”的销售信息模板才会出现删除按钮
编辑模板状态为审核未过、未启用、已过期、待启用、使用中且非“默认”的销售信息模板才会出现编辑按钮
系统自动新增模板系统自动生成的销售信息模板为“默认”的素材,且状态为“未启用”,上线周期为“无限制”的(商城发布自供商品,商城专享型国内供应商发布商品,店铺供应商发布商品时,租户分配国内商品给商城,商城分配商品给自营店铺时系统会自动生成默认的销售信息模板)
手动新增模板手动新增的销售信息模板是非默认的,状态为“待审核”,上线周期类型“无限制”

销售信息模板的状态图

后补

获取销售信息模板的判断逻辑流程图

在这里插入图片描述

P.S. 开发设计思路:可以开发一个定时任务去管理所有销售信息模板的状态,或者开发一个销售信息模板状态过滤器,专门负责指定商品的销售信息模板状态管理,每次取商品销售信息模板数据时都要先通过该过滤器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jdk170不支持注释_JDK 9 @不建议使用的注释增强功能

jdk170不支持注释在帖子中, Deprecated可能会是什么样子? ,我当时使用JEP 277 (“增强的弃用”)的描述来指导创建增强的自定义Deprecated注释。 但是,自从发布该文章以来,JEP 277进行了重大更改…

对mysql的总结与反思_深入了解MySQL,一篇简短的总结

MySQL的基本语法这里作为MySQL部分模块的深入了解,大部分都是理论方面的笔记,不会写具体用法。具体用法会记录在下面这个随笔分类下,不过暂时还没更新完,等过段时间会更新下事务、存储过程、索引等用法,虽然都很简单&a…

HH SaaS电商系统移动端商城,买家选择商品规格的交互设计

文章目录未完整选择商品规格时商品图如何显示库存如何显示价格如何显示选择规格提示文案如何显示原型图已选完整选择商品规格时商品图如何显示库存如何显示价格如何显示原型图SKU下架后如何显示原型图购买数量如何交互未完整选择商品规格时 商品图如何显示 显示SPU的主图&…

aws lambda_适用于无服务器Java开发人员的AWS Lambda:它为您提供了什么?

aws lambda无服务器计算如何帮助您的生产基础架构? 在过去的几年中,无服务器计算架构一直受到关注,因为它专注于应用程序的主要组件之一:服务器。 这种体系结构采用了不同的方法。 在下面的文章中,我们将解释无服务器…

HH SaaS电商系统的销售订单毛利润模块设计

HH SaaS电商系统的销售订单利润分析,仅是简单分析供运营人员参考而已,所以订单生成后就自动根据商品成本价和实际交易价生成利润表,而不需要等到订单归档后才生成。 销售子单的毛利润最终交易总额-成本总额销售子单的毛利率毛利润/最终交易总…

aes子密钥生成c语言_一种基于流密码算法的子密钥生成方法与流程

本发明涉及一种用于分组加解密算法的子密钥的生成方法。背景技术:随着信息技术的发展,信息安全性的问题却愈来愈显得突出,保证信息安全的一个重要技术就是密码学。密码学在信息安全技术中扮演着基础的角色,是攻击者最难攻破的模块…

学习java很痛苦_Java日期细微的痛苦提醒

学习java很痛苦这些天我不再需要使用java.util.Date了,但是最近选择这样做,这让我想起了使用与Java Date关联的API的痛苦 。 在这篇文章中,我看了弃用的参数化Date构造函数的一些令人惊讶的API期望,该构造函数接受六个整数 。 在…

如何理解程序保存数据就是输出,读取数据就是输入的含义(程序中输入input/输出output的含义如何理解)

文章目录程序是如何保存数据的为什么保存数据的类名称都表达一种输出意思,例如:output程序如何读取数据为什么读取数据的类名称都表达一种输入意思,例如:input总结程序是如何保存数据的 对象的序列化就是持久化,就是把…

hazelcast_HazelCast的Spring-Boot和Cache抽象

hazelcast以前,我们是使用spring提供的默认Cache Manager来开始Spring Cache抽象的。 尽管这种方法可能适合我们对简单应用程序的需求,但是在出现复杂问题的情况下,我们需要使用具有更多功能的其他工具。 Hazelcast就是其中之一。 当涉及到基…

eclipse preference没有server_Java Web开发的前期准备工作,部署Tomcat服务器和Server环境创建...

Java Web: 顾名思义,就是用Java的方式来解决Web开发,我也不讲太多的理论问题,直接将如何上手来进行Java Web开发。那么,我们一般进行Java Web开发,可以使用的工具很多,我这里使用eclipse。选择eclipse的版本…

类似TH养车的电商系统设计思路

平台运营模式B2CO2O,汽车用品全部平台自营,允许线下汽车服务门店入驻,门店运营模式O2O汽车服务全部标准化,由平台创建和维护服务商品根据商品实际使用需要关联服务商品线下汽车服务门店根据自己实际运营的情况选择有能力提供的汽车…

java int不将0忽略_Java微服务:蛋糕是骗人的,但您不能忽略它

java int不将0忽略构建微服务实际上意味着什么? 通过微服务框架的眼光回答 忽略微服务的趋势已变得不可能。 有些人会说这只是另一个难以忍受的流行语,而另一些人会背诵打破巨石的优势或采取逆势方法并关注负面因素。 在本文中,我们将全面了…

4怎么放大字体_Word字体怎么放大?简单教你几招轻松搞定

一般情况下我们都会选择用Word编辑文章。文章编辑完成之后我们通常会对文章进行排版。在排版的过程中如果我们需要将Word字体放大该怎么办呢?下面我就来教大家几个Word字体放大的小技巧,一起来看看吧。下面以放大“字体演示”为例为大家演示操作过程。一…

js splice坑_JavaScript的splice()方法在for循环中使用可能会遇到的坑!!!

在我们日常敲代码的时候,常常会用到splice()方法来删除数组中的元素(就是以截取的方式),因为它会直接对数组进行修改。在使用splice之前,必备条件是,要先有一个数组。var arr new Array(1,2,3,4,5); // 初始化一个数组var delete…

java crud_Java 8流中的数据库CRUD操作

java crud在开始使用新工具时要克服的最大障碍是让您着手处理小事情。 到目前为止,您可能对新的Java 8 Stream API的工作方式充满信心,但是您可能尚未将其用于数据库查询。 为了帮助您开始使用Stream API创建,修改和读取SQL数据库&#xff0c…

HH SaaS电商系统的线下服务商品库存和采购设计

线下服务商品库存和采购整体思路 线下服务商品直接在商品编辑页面编辑库存数量即可,服务端直接修改服务商品的销售库存即可线下服务商品则不必生成采购单和出库单线下服务商品无需发货,但是需要商家核销服务权益

HH SaaS电商系统的仓储系统设计

如果商城或者店铺选择开通了供应系统,那么就必然有仓储系统,如果选择不开通供应系统,可以独立开通仓储系统 未开通仓储系统 商城和店铺如果不需要仓储系统,那么商城和店铺就不会有仓储模块,所以无法手动创建库存单据…

wps如何将字体竖着排列_WPS文字中怎么竖着打字?wps文字竖排的设置方法介绍

wps中怎么样才能让文字竖着写啊?WPS现在的应用比较多,其实WPS文字和Word相差不过,都是一个办公软件,我们有时候在编辑的时候需要把文字竖排,那么,wps文字怎么竖排呢?接下来脚本之家小编就给大家…

cloudfoundry_在Cloudfoundry上部署RESTful服务

cloudfoundry在本文中,我们将使用Pivotal Cloud Foundry(PCF)开发人员在Cloudfoundry上部署RESTful服务。 由于创建静态Web服务不是本文的一部分,因此我已经创建了employee-service ,它具有静态后端,可以从…

HH SaaS电商系统的线上服务商品库存和采购设计

文章目录线上服务商品库存和采购整体思路线上服务商品的采购单状态线上服务商品的出库单状态商家完成服务线上服务商品库存和采购整体思路 线上服务商品直接在商品编辑页面编辑库存数量即可,服务端自动生成类型为“调整入库”的入库单和类型为“调整出库”的出库单…