电商平台中,商品在编辑的时候,原skuId什么情况下会删除?
电商平台中,商品在编辑的时候,原skuId什么情况下会删除?
请教大家一个关于商品和商品sku的问题,这个问题涉及到技术层面和业务层面,如果有电商开发和开网店的同学,
请教一下经验。
我们都知道商品里面有spu和sku这两个概念,比如华为mate60 是一个商品item,有颜色(红,黑)和内存(8G,12G)这两个销售属性。
那么就会生成4个sku,同样,也会生成对应的4个skuId。
我的问题是,商品在编辑的时候,原skuId什么情况下会删除?(描述的很抽象,等我下面详细描述下)
先说下问题的背景,我这边有个需求,需要用户绑定一下skuId,但是后面用的时候,这个skuId被删除掉了,商品域的开发同学排查
了一下,是因为客户在绑定skuId之后,又编辑了商品,导致原来的skuId被删除掉了。(具体怎么删的不知道,询问了商品域的开发同学
被告知有多好几种操作的可能性导致原sku被删除掉,比如用户在前端误删了一个sku,仅仅是前端操作,还没提交后台,然后又原模原样的创建了
同样属性的sku,那么提交的话,原sku就被删除掉了,又或者新增了一些新的销售属性等等。。。)
skuId 这么重要的属性,仅仅是被用户编辑了一下,就有可能被删除掉,感觉还是挺可怕的,因为对于用户来说,他是没有这方面的考虑的,
而且对于下游依靠skuId来处理其他需求任务的服务来说,也是很重要的,比如sku参加了某个活动,就因为编辑了一下商品,这个sku就失效了。。。
然后,我就百度了一下,淘宝,京东,拼多多等大厂是如何处理的,发现好像他们也是这样搞的(不确定,只是猜测)
**下面是我的想法,实际的例子:以华为mate60 有颜色(红,黑)和内存(8G,12G)这两个销售属性 举例:编辑操作
1、如果颜色新增绿色,4个sku->6个sku ,原skuId不变,会新增2个新的sku
2、如果新增销售属性,套餐(套餐1,套餐2),4个sku->8个sku,这种情况,4个原sku会删掉,重新生成新的8个sku
3、如果用户手滑,将某个sku在前端误删(还没提交,仅仅是前端误删),然后又创建了一个一模一样属性的sku,
原sku会删掉,重新生成新的sku,因为对于后端来说,只要前端传递的对象没有携带skuId,就认为是新增的。**
貌似编辑的时候也就这三种维度的场景了,如果大家有新的场景,欢迎评论补充。
不知道上面的三个场景我的想法对不对?
这样看来,原sku失效的场景还是挺普遍的,感觉好像没有什么好的办法来解决这个问题,无论从技术还是业务上,不知道有没有在淘宝上开店的同学,你们是如何维护商品的呢?
==============2024-01-01编辑===================
感谢各位认真的回复,sf论坛的质量还是挺高的。再次感谢大家。
我再声明一下哈,感觉大部分的同学回答的路子走偏了,不知道为什么都在围绕冗余字段,逻辑删除,日志记录等方面来说,我感觉这些东西对于电商来说,不是基本操作么?特别对于商品这种大表来说,肯定是有这些东西的,最主要是,这些东西也不足以解决上面的问题啊。
上面的问题,主要是想问,在编辑状态,可能会有些操作会将原sku被删掉的问题。(我之前还以为这种现象可以通过技术方面来解决,但现实是貌似解决不了,目前国内头部电商好像也是这样处理的)。
编辑操作会导致原sku被删这个应该无异议了。对吧,仔细想一下,难道不感觉sku这种重要的字段,这么轻易的被删除了,难道不吓人么?电商大部分的服务都应该是围绕着sku转的吧。比如,活动,订单,搜索机制权重,评价等等等等。
大家别光站在技术的角度思考,也站在用户的角度上思考一下这个问题哈
有人在电商平台开过店么?真实操作过电商后台么?机制是怎么样的?
====================2023-01-02 23:52编辑==============
再次编辑下,感觉都没说到点子上。我感觉我描述的已经很清楚了。
感觉讨论来讨论去也没什么结果,不如自己亲测一把,所以我专门找了个淘宝店铺,去后台创建商品体验了一把。
说下结果吧,sku是根据销售属性决定的,如果你的销售属性变了,原sku就不存在了,会生成一个新的sku。这里的变不仅仅包括新增或者删除销售属性,也包括你销售属性的值改变。举个例子,
原sku:红-L ---> 红-L-套餐1 原sku会删。
原sku:红-L ---> 黑-L 原sku会删。
对了,多说一嘴,淘宝后台有一个sku删除的按钮,其实上就是停用/启用的意思,假如说你停用了某个sku,你再启动,也是会把老sku删除,生成新的sku!
而且你编辑之后,提交的时候没有任何提示。
老sku会被删,并且删除的逻辑已经没什么异议了,剩下的问题就是 这样做可能会带来的后果还是用户可能会有什么影响(如何避免)的问题了。 感觉专业搞电商运营应该比较合适回答这个问题。
回答:
个人感觉:
- 场景1也不一定就不会删除,还要看后端的具体实现,有些简单的实现是每次更新,都会直接删除掉旧的,然后新增新的,用删除和新增来替代修改,不会有实际的修改的操作。其他两种是会绝对删除的。
- 解决这个需要后台增加判定,当涉及到sku的变动时,先判定是否有还未结束的订单或有哪些正在参与的活动,只有下架后才能修改;或者是所有的订单或活动相关的单据都做冗余字段,保存当时的sku相关信息。
- 像是京东、淘宝这些,他们都有下单时的商品快照功能,每次产品的更新都会存储一个快照,然后订单和这个快照关联,这样即便是修改了,历史的单据也不受影响。
回答:
主要看你需求,可以随便怎么操作都不真正删除,数据库增加一个 deleted
字段,标识删除和不删除。
正常来说只要不增加规格类或删除规格类的情况,一般是不删除,比如原来是一个规格类的商品 内存,里面有128G、256G等,如果只是修改或者增加规格类里面的值,比如增加64G、512G或者删除这个类的值,那么SKUID肯定是不变,如果你是增加或减少一个规格类,比如手机原来有内存这个类,你又增加一个颜色,那SKUID肯定要变。
淘宝和京东是不变,拼多多,只要你修改规格类的值,就会变,所以看你个人需求。但是还是我上面说的一样,这里说的变和不变,都是不增加和删除规格类的前期下。
注:我说的类就是比如手机,颜色、内存、版本等,规格值,就是颜色下的,红色,黑色等
1、如果颜色新增绿色,4个sku->6个sku ,原skuId不变,会新增2个新的sku
**这种没问题**
2、如果新增销售属性,套餐(套餐1,套餐2),4个sku->8个sku,这种情况,4个原sku会删掉,重新生成新的8个sku
**这种情况,skuid肯定变**
3、如果用户手滑,将某个sku在前端误删(还没提交,仅仅是前端误删),然后又创建了一个一模一样属性的sku,原sku会删掉,重新生成新的sku,因为对于后端来说,只要前端传递的对象没有携带skuId,就认为是新增的。
**这是对的呀,你删除,新建一个一模一样的属性,还是新建呀,如果是误删,你想还原,刷新一下重新编辑不就好了吗?如果你非要不变,那前端和后端一样,也增加一个属性表示删除,然后建新的属性前,先查下属性名是否存在,存在就直接用,不存在就新建**
回答:
从个人的理解来看,SKU 这种类型的数据记录,应该是有完整历史记录才对
每次创建、更新、删除 都要留痕。
类似 svn 或者 git 这种,历史完全可查的方案
即便 同ID 的 SKU 记录被覆盖,也应该可以根据时间 查到 这个时间的 rev 的记录
以上是 电商平台中,商品在编辑的时候,原skuId什么情况下会删除? 的全部内容, 来源链接: utcz.com/p/935282.html