sku是什么意思|商品数据结构之什么是SPU和SKU?

sku是什么意思(商品数据结构之什么是SPU和SKU?)
学习计划安排如下:
昨天实现了商品规格参数组业务 , 今天继续实现其对应的规格参数 。
理清楚SPU和SKU的概念 , 同时分析对SPU的数据表设计 。
一、规格参数业务实现1业务需求分析
sku是什么意思|商品数据结构之什么是SPU和SKU?



昨天实现了规格参数百思特网组相关的业务 , 点击商品分类 , 可以查看到其对应的规格参数组信息 。
比如上图中“手机”这个商品分类的规格参数组有:主体、基本信息和操作系统 。
现在我们要实现的需求是:
点击相应的规格组 , 会跳转到其规格参数的页面 , 也就是该规格组下有哪些规格参数?
具体数据需要我们从数据库中查询 , 因为我这边业务还未完成 , 所以显示的数据为:“该分组下没有参数” 。
2请求相关分析
sku是什么意思|商品数据结构之什么是SPU和SKU?



无外乎还是要弄清楚四大内容:

【sku是什么意思|商品数据结构之什么是SPU和SKU?】

请求路径:真实路径就是spec/params 。
请求方式:GET请求 。
请求参数:gid , 也就是规格参数组id 。
返回值:是一个规格参数数组 。
好 , 弄清楚了这四点 , 就可以写后台代码了 。
3实体类和数据表
关于实体类有一个知识点要说明下 。
sku是什么意思|商品数据结构之什么是SPU和SKU?



numeric这个字段在mysql数据库中是一个关键字 , 会有冲突 。
面对这个问题有两种解决方式:
①使用注解@Colum
说明关键字字段是哪个一个即可 , 但是该方式若是有多个关键字需要一一说明 。
②配置文件中配置
也可以在yam文件中如图中配置 。
注意:该配置只在mysql数据库中有用 。
3Java三层架构
sku是什么意思|商品数据结构之什么是SPU和SKU?



①Controller层代码编写
根据请求相关的四大内容即可完成Controller层的代码编写 。
注意请求参数gid是以问号的形式拼接到请求路径中的 , 所以使用注解@RequestParam 。
②Service层代码编写
使用通用mapper完成查询操作:因为不是主键查询 , 所以创建对应的实体类对象 , 将gid赋值给该对象 , 最后根据该对象完成查询 。
③Mapper层代码编写
继承通用mapper提供的Mapper接口即可 , 在泛型中说明对应的实体类SpecParam 。
4测试
sku是什么意思|商品数据结构之什么是SPU和SKU?



我们再次在管理系统中点击对应的规格参数组 , 就能查询到对应的规格参数了 。
上图中就是“主体”这个规格参数组 , 从数据库中查询到了3个规格参数 , 此外还有:
新增业务对应新增参数按钮 。
修改业务对应修改按钮 。
删除业务对应删除按钮 。
关于这三个业务就暂且不一一说明了 , 其实无外乎就还是这么一百思特网个思路 。
二、SPU和SKU数据结构SPU和SKU是电商中两个非常重要的概念 。
1什么是SPU和SKU呢?
SPU全称为Standard Product Unit , 翻译过来就是标准产品单位 。
SKU全称为Stock Keeping Unit , 翻译过来就是库存量单位 。
这种官方定义看起来好像挺难理解的 , 我以某电商网站某品牌手机为例作个说明:
sku是什么意思|商品数据结构之什么是SPU和SKU?



思考问题:上图是一个商品么?
它不是一个具体的商品 , 它是一个SPU , 我通过选择不同的属性可以组合成多个商品 。
SPU是商品的共有集 , 并不是固定某个商品 。
比如上图中手机有三种颜色可以选择 , 手机内存也有4种可以选择 。
而SKU才是具体的某个商品 。
比如陶瓷黑、8G+128GB内存…等每一项都确定好之后的商品才是一个SKU 。
通俗理解就是我们购买订单页面对商品的详细说明 , 就是一个SKU 。
每一个SKU的价格一般是不一样 , 我们购买的是SKU而不是SPU 。
2SPU数据表设计分析
在数据库中其被拆分成了两张表 , 我们具体做一个分析:
sku是什么意思|商品数据结构之什么是SPU和SKU?



商品①:陶瓷黑、8G+128GB内存百思特网…等属性都确定后的一个SKU 。