目前创建优惠券有三种形式:
1.全部商品可用(这种最简单)。
2.部分商品可用 /(商品分门店商品和网店商品,因此包含 [网店商品全部可用+部分门店商品可用] , [网店商品部分可用+全部门店商品可用] , [网店商品部分可用+全部门店部分可用] 这几种组合)。
3.部分商品不可用(商品分门店商品和网店商品,组合同上)。
当前的优惠券设计是一个商家的优惠券主表,存储主要数据,然后另外一个和商品的关联表,主表里会记录券的类型,如果是全部商品可用,那么关联表里就无数据,如果是部分可用 /不可用,那么就会在关联表里记录 id,如果是网店 /门店全部可用,那么会记录一个 id 等于 0 的。
现在的问题是,按照这种设计,在用户进行结算的时候,查询优惠券的步骤非常繁杂,虽然实现是可以实现,但是很麻烦。
因此在做这部分的同事也有提议说要把所有的优惠券可用 /不可用的商品 id 都关联到关联表,即:如果商家 A 添加了一个全部商品可用的优惠券,就将他所有的商品都关联到关联表,部分同理。说这种他就很容易搜索,然而这种会造成巨大的冗余数据,而且每次商家新增商品的时候,都要对所有的优惠券进行筛选,然后新增关联数据,商家多起来,商品多起来,那数据量简直会爆炸,必然要分表,但优惠券本身还有失效过期等情况,后续处理也很麻烦。
想问一下老哥们,对于这种需求,有没有更好一些的设计方法?因为是全新功能,所以没有历史包袱。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.