如题:今天谈一谈商品编码的问题,我们不是完全从物流和商品本身的角度去谈商品该怎么编码才符合国际标准,EAN,UPC啥啥啥怎么样的。
我们从计算机程序设计,电商,数据库存储的角度看一看商品编码,首先商品有哪些编码,然后这些编码和商品的关系,在然后这些编码该怎么使用。
要从电商的角度了解商品,马上想到的可能是淘宝,天猫,京东,亚马逊等他们的商品是怎么样子,是怎么存储的。

这些这么成熟的电商完全可以参考和借鉴。
关于商品这个话题还是太大,因为商品本身设计的东西太多了,不同活动先不同的价格,多规格商品,不同的计量单位,多图片展示该怎么存储等等。
每一个点都值得单独拿出来仔细讨论和思考,所以商品这个话题还是太大了,我们就定位一个小的问题编码问题,其他的问题我会在之后每一个都会细细谈到。

那么关于编码,我网上搜到的有sku_code、spu_code、barcode、serial_number等,还有仓库给条的tag标签上也有编码。
那么这些编码各自代表什么含义,表示商品的什么属性和商品的对应关系,该怎么使用,具体到程序设计上,数据库该怎么设计,怎么存储。
下边我们就一一把每个名词给予讲解,这些讲解不是从物流,商品专业角度讲解的,但也和那些专业上的差的不是很远,所以也有助于理解。
这些解释是从程序开发,设计角度讲解,如果你是程序员,设计师,那么你应该好好读一下有些了解。

一贯的作风,为什么要谈这个问题,为什么要谈商品编码,在做和ERP对接的时候,让我带一个没有任何经验的产品妹妹,和没有对接经验的技术哥哥。
新人肯定需要人带的,我当时脾气不好,然后我们工期还特别的紧张,特别的紧张更加弄的我脾气暴躁,焦虑。我首先得承认自己的错误,脾气不好。
然后我们在心平静气的来谈一谈,对接的故事。
首先对接,我们商城和ERP对接肯定需要有商品上唯一上标示能标示两边推送,对接的是同一个东西。
在我们这个小team里,我对于这个小产品妹妹和技术哥哥算是一个天降leader,我还算不上一个完全的leader,就是这个意思吧。
就是他们对我不了解,我也对他们不是很了解,而且在我对ERP对接这项目也不了解,就这么着,说我们要一个月对接ERP项目。
然后对接技术细节呢,我们的技术哥哥说要用我们的gd_id来对接ERP,我当时就晕了,痛苦不已。

我在想我们是用我们自己数据库的自定序列ID来对接别人程序,这个是一个什么想法。
然后我仔细研究了我们自己的数据库和ERP系统,还好,还好,还好我们还有一个gsn这样的东西,首先说明gsn这个东西的值完全等同于sku_code。
大家先听我把故事讲完,咱们在细谈什么是sku_code这些,有这么离奇和好玩的故事,为什么一定要急着知道各种编码,听故事岂不是很好。

然后由于程序和设计这边都是我自己来弄,说是让我带他们,其实我私下自私和不负责的想法是让他们看着我开发,
我有了这样的想法,加上我当时我们工期紧,我压力大,我能不生气。我这样的想法是不是太臭屁了。
所以我最后固执的坚持了自己的想法,就是我要自己做,我自己重新建表,我用自己强大坚持和固执的想法,在有些地方完全不听任何人的意见和建议。

最后我终于让他们知道了SKU,SPU,barcode这些概念。
最后程序开发出来,终于能让他们自己,从自己口中经常说SKU,SPU了,终于是让他们认同这些。
这期间好玩的事情是产品妹妹纠结条形码barcode纠结了3天,
最后我非常生气的告诉她如果我们不使用什么条形码,如果条形码在我们系统里没有多少意义和使用价值那我们就不做barcode了,
然后我们的采购还说一个产品可能有多个条形码,我真是醉了,最后我固执的认为一个商品就只有一个条码,如果有多个以后再说,
我们开发测试上线真的没有多少时间,纠结这个纠结3天,因为我生气,我被老大批评一顿。
还有好玩的事情,我们和别人对接,比如仓库,比如ERP,有些东西,我们不明白,需要请教ERP或仓库的人,
我们的采购小哥再请教别人时,我听到的对话都是仓库那边的回答和讲解只有;“是,嗯,是,嗯”,最后问题没解决。

然后我还要自己亲自在问一遍,让对方讲话,让对方说清楚。
更加搞笑的事情是,我们有个QQ群,突然有一天我们的产品妹妹跟我说,QQ群里跟咱们对接ERP那边一个哥哥退群了,好搞笑啊。
我感觉没有什么搞笑的,可能那哥们忍受不了我们的折磨,不愿意受打扰吧。
我们时间紧,任务重我们要加班,然后我们也拉着ERP的人一起加班,这本来是合情合理大家都互相理解。
后来ERP那边来了个牛人之后我们跟ERP对接算是比较顺畅的。

最后团队磕磕绊绊终于把开发搞定,到最后导入数据是,产品妹妹的一个好心修改ERP的默认设置,导致我们加班了大半夜。
也因为开发测试不全面数据导入一半时发现导入的产品全部下架,当时我吓的满身冒冷汗,我们的商城商品全下架了,吓死了。
还好导入的数据不多及时发现,停止了重新,修改程序,在测试再上线,最终也算是圆满的完成任务。
这就是我们对接的故事,虽然大家都没有多少经验,但不能说大家不努力,我们产品妹妹还是的挺认真负责的这确实值得表扬。
这也是为什么一定要谈商品编码的问题的原因。

那么什么是SKU,是什么是SPU。
我个人理解要理解这两个名词,还得要结合计量单位,这样子更加全面。
我忘记了从哪里查到的例子了,我感觉那个例子说的非常好,例子大概是这样子。
比如说烟这个商品,那么烟有中华烟,云烟,钻石等等,中华烟又分软盒,硬盒,钻石又分红钻,蓝钻,黄钻,QQ钻等等,
QQ钻,是我假设的,估计且这么认为吧,我不吸烟对烟了解不多。
那么在商城,特别上电商,看到的商品列表上一定只是展示了中华,钻石,云烟,在列表上一般不会在展示软盒中华,红色钻石烟。
只有在详细页面点开中华时会看到有软盒的硬盒的让你选。
SKU,SPU具体的名称解释咱们不说了,百度,谷歌一堆一堆的,我解释也不一定完全对,但我说的一定能帮助你理解。
到这里那么就可以这么看SPU和SKU了,列表上看到中华,钻石这一种类的集合算是SPU,
而具体的像软盒中华,红色钻石,那个非常具体的就是SKU了,这里需要明确和多想想思考的地方就是商城卖的东西一般一定是一个SKU。

那么刚才我说过了个人感觉加上计量单位才算更加全面,
为什么这么说,网上的例子也是非常棒的,还是烟这个例子。我们都知道烟的计量单位一箱子有20条,一条有10盒,一盒有20根。
不同的人或者销售对烟的计量单位是不一样的。
比如说,生产烟的烟厂,它卖烟一定是一箱一箱的卖,那么对于它来说它的SKU应就是一整箱。
而小商店,小商城呢,一定是一条或一盒一盒的卖,那么这个SKU的计算应是条或者盒才对。
而在细化到大家聚餐喝酒,吸烟,你递我一支,我递你一支,这时的SKU计算是支才对。
所以从程序的角度理解这些感觉是加上计量单位才完整。
不知道从真正的仓储,物流上怎么理解SKU和SPU,希望懂的大神不吝赐教,非常感谢。

所以总结就是SKU是商城卖出货物的不能分割最小计量单位,包含了价格,颜色,尺寸,包装,等等的规格。
不同的规格就是不同的SKU,黑色和白色,软盒和硬盒就是不同的SKU,而SPU是一组可以抽象的SKU的组合名称。

再有就是商品的条码barcode,我感觉认为一个SKU,应该是只有一个条形码的就像咱们买的矿泉水,纸笔,手机,等一定都有自己的一个条形码。
但是我们采购的兄弟说一个东西是可以有不同的条码的,是可以重新贴条码的,这东西我就很无奈,那就算是可以有吧,这在数据库设计时也有办法解决。

最后还有就是我在故事里讲的gsn,和我最开始提到的serial_number,这个是什么东西,通俗讲就是序列号,
我查了网上的一些资料,感觉在买商品的时候很少提及序列号这东西,序列号是什么,我理解序列号就是商品的身份证。
无论商品到哪里怎么变幻按着序列号是变的且是唯一的。
那我们故事中的gsn完全不是序列号的意思,是的gsn在我接手之前,这个概念非常之弱化,大家竟然都没人知道这个gsn是个什么东西,就知道这是我们的一个序列号。
实际上这不是序列号,是我们的SKU,这是咱们的商城同事们做了一年的商城后,我给他们明确的概念。

在合作不算愉快磕磕绊绊的团队中,我不知道是因为我生气他们恨我,怕我,
还是说我让他们了解了,更加清楚了看清了SKU,SPU,barcode,序列号,包括对接,ERP仓库,这些东西感谢我。

关于说商品编码的这块数据库设计就是一个SPU先有多个SKU,一个SKU下有一个或多个条码,有一个序列号。
大概就是这个样子:
SPU(
int id pk,
string code,
string name,
)
SKU(
int id pk,
int spu_id,
string spu_code,
string sku_code,
string sku_name,

string serial_number,
string unit,
string current_barcode,
timestamp update_time
)
barcode_history(
int id pk,
int sku_id,
string sku_code,
string barcode,
timestamp create_time
)
谈这些一定是要谈商品的设计的,而关于商品这块的数据设计,由于设计到多规格属性。我对现有的设计很不满意。
我自己也设计了一版,对比我们现在设计是有天壤之别的,但是我也是感觉还是不满意,这个对多规格的设计还是很头疼的。
不过,我会陆续把这个产品这块的整体设计和思路全部发出来。

最后最后,非常欢迎大家评论和讨论,whatever,什么都行。

转载于:https://www.cnblogs.com/icenter/p/7100961.html

谈一谈商品编码的问题相关推荐

  1. 浅谈Python中的编码规则

    注:本人用Python3.4作为学习版本,以下学习心得只适用于Python3.4. 之前拜读了金角大王Alex关于编码的解答,收获颇多.特此致谢,以下仅谈一谈作为一个初学者,对编码的理解. 我所了解的 ...

  2. 浅谈 JavaScript 编程语言的编码规范

    转自:http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/?ca=drs-tp4608 developerWorks 中 ...

  3. Java程序员谈一谈-----java程序员成长之路

    转载:http://www.banzg.com/archives/679.html?ref=myread 阿里面试回来,想和Java程序员谈一谈 引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力 ...

  4. 谈一谈Http Request 与 Http Response

    谈一谈Http Request 与 Http Response 写在前面的话:最近帮朋友弄弄微信商城,对于微信的基础开发,基本上就是各种post.get,有时是微信服务器向我们的服务器post.get ...

  5. 谈一谈我对本科计算机专业的认识

    新的一年开始了,我大学的所有课程也刚刚结束不久,想一写篇文章谈一谈我对计算机专业的认识.博主学的专业是"计算机科学与技术",今年大四,三年半的校园生活使我对计算机专业的认知一次又一 ...

  6. 谈一谈对 TailwindCSS 的看法

    谈一谈对 TailwindCSS 的看法 从 NPM.DEVTOOL 的标签中可以看出: 每个月 npm 下载量高达 300 万次,jsDelivr 下载量更是高达 900万次,Star 数也即将突破 ...

  7. 谈一谈网络编程学习经验(陈硕)

    作者:陈硕  原文地址:http://blog.csdn.net/solstice/article/details/6527585 本文谈一谈我在学习网络编程方面的一些个人经验."网络编程& ...

  8. 数学专业学金融还是计算机,高考志愿---谈一谈数学专业

    原标题:高考志愿---谈一谈数学专业 最近,经常在知乎或者其他平台上看到 "高考填写志愿要不要填写数学专业?" "读计算机专业是不是需要先去数学系?" &quo ...

  9. 阿里面试回来,想和Java程序员谈一谈

    阿里面试回来,想和Java程序员谈一谈 引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后, ...

  10. 谈一谈网络编程学习经验

    转自  陈硕 giantchen@gmail.com blog.csdn.net/Solstice 2011-06-06 PDF 版下载:https://github.com/downloads/ch ...

最新文章

  1. 使用 xcode 8 构建版本 iTunes Connect 获取不到应用程序的状态的解决办法
  2. acu风格是什么意思_“高街风格”是什么意思?
  3. keepalived高可用反向代理的nginx
  4. 6. Qt 信号与信号槽 (5)-QObjectPrivate
  5. New Text Document.udl
  6. BufferQueue 和 gralloc
  7. Python | 展示一个break语句示例
  8. Java学习笔记12——JVM入门
  9. 小学生手写Python程序解魔方!这是高手,这绝对是高手!
  10. C++ using关键字作用总结
  11. SharePoint 站点集和子站点数据互相读取
  12. DynDNS免费动态域名解析
  13. glassfish插件_可扩展GlassFish v3的JavaEE 6平台
  14. 伊诺伊香槟分校计算机世界排名,伊利诺伊大学香槟分校世界排名及专业排名汇总(QS世界大学排名版)...
  15. 信息安全—WIFI攻击实验
  16. 小码哥C++学院-零基础入门C语言
  17. 地铁3D可视化,让一切尽在掌握
  18. 百度富文本编辑器  ueditor 的基本使用
  19. 英语基础知识:非谓语使用规则上篇
  20. 苹果计算机如何出现关机界面,让你的iPhone开关机重启和电脑一样显示进度条

热门文章

  1. 运动社交或将成为“反科技”先锋
  2. Hadoop2.2.0中HDFS的高可用性实现原理
  3. ElasticSearch - 学习
  4. 推荐一个准确率99.9%的离线IP地址定位服务!
  5. 为什么我们公司强制弃坑Fastjson了?主推...
  6. 抛开当下的迷惘,IT技术人的发展之路该怎么走?
  7. 通知:小密圈暂停服务
  8. 从0开始学习 GitHub 系列之「Git速成」
  9. delphi 去掉字符串中所有的标点符号_[话俾你知]Python使用正则处理字符串技巧(分割、替换)...
  10. form表单居中_HTML基本结构、命名及对表单专项练习解释