促销系统解决方案

0数据库

电子商务促销优惠组件设计25

如今各大电商都有本身的促销优惠方式,满减,立减,折扣,现金券,返现,积分抵现,赠送积分,使用范围也多是单种商品,大类商品,单笔订单等,优惠环节涉及购买时,订单时和支付时,可谓很是纷繁复杂。 
如今我正在开发的电子商务平台有商品Goods和货品Product,有订单Order和订单项OrderItem,我但愿能尽可能减小与现有功能的耦合,而设计一个尽量全面覆盖上述优惠促销的组件,并可在之后进行扩展,如今初步有一个设计雏形,可是实际过程当中发现仍是太复杂,而且不得不开始耦合了,因此决定停工从新整理思路。 
但愿有能人给点思路和建议问题补充:多谢各位的帮助,感受仍是规则引擎最靠谱,我决定使用规则引擎试试看。问题补充:最佳答案给了第一个回复个人chinaagan,在评论中提醒了我规则引擎,本来我本身写,其实也就是写一个相似的东西,可是确定没有主流开源的功能强大和专业spa

电子商务 促销优惠 组件设计 设计

2013年2月18日 09:42blog

h248980496h248980496 
461 
1 1 20排序

 

6个答案按时间排序按投票排序

00接口

采纳的答案

若是统一来处理是很麻烦的,跨多个应用边界了,购买、订单、支付多个环节,并涉及不一样范围及相应的不一样的促销优惠方式。。。根据应用边界拆分红购买、订单、支付环节吧。。。我的意见,若有雷同,纯属巧合开发

2013年2月18日 10:13get

chinaaganchinaagan 
60 
0 0 5产品

00it

去年咱们也作过一个相似的促销系统,目的跟大家同样,也是想把促销的内容从现有的平台中解耦出来,能够跟你一块儿探讨一下,先说下咱们的思路吧: 
1.提供一个促销管理程序,本身人用,能够在上面添加订单满金额、产品满金额或满数量的一些促销,种类包括立减、打折、买赠、送积分、换购、送券等等,能够设促销地区时间,到时间自动启用停用,也能够设各类促销的档位,满100怎么着满200怎么着,以及是否能够累计。 
2.再提供一个促销计算接口,客户进入购物车的时候,调用一下促销接口,把购买的产品ID传过来,计算接口实时算出促销并回传信息。 

大致思路就是这样,缺点是促销是实时算出来的,能够应付一下中小型的电商系统,访问量大了确定会成为瓶颈,若是楼主有更好的思路,咱们能够一块儿改进!

2013年2月19日 09:52

mmhotskymmhotsky 

0 1 3

00

这个问题实际上是很是麻烦的,由于涉及到业务太多了。想彻底解耦彻底是不可能的。说说个人思路吧。 
1 首先能够定义出各类促销方式,金额,数量,附赠品等 
2 对于某种类型的促销方式,使用的规则是什么。能够自定义一套规则来定义其形式,拿金额来讲,能够经过读取数据库拿去指订货品的金额打折方法,而后计算金额,最终得出一个折后的金额。 
3 对规则的定义。考虑到不一样产品的规则不同,规则的指定确定是针对单品来算的。 

其实对于咱们来说最终关注的是最终优惠后的金额,因此咱们只须要记录处每一项单品的原始价格以,最终价格以及优惠方式便可。这样就能够彻底了解整个订单的所处优惠方式以及计算策略了。你所说的订单和订单项,无非是总订单信息和详细订单信息,对应关系应该为1:n,这个彻底是不须要作处理的。数据库方面应该添加些字段便可。 

关键就是规则的定义,建议你在这方面作一个详细的分析,好比影响规则的纬度,规则定义的范围等等。另外,象携程网的话好像就是出了你这样的相似的一个规则引擎,用于机票和酒店的打折优惠的。这个很差作,可是仍是祝你成功。

2013年2月18日 18:34

ieanwfg201ieanwfg201 
55 
0 1 3

00

优惠改变订单的不外有三种 

1.改变数量。 
2.改变金额。 
3.增长物品——积分,点数,金券或实物等。 

个人考虑,订单估计要作两份。 
- 原始订单 
- 优惠处理过的订单。数量,金额或物品(其余Item)的变化。 

优惠引擎,接受原始订单,生成最终订单。 

不知道你说的耦合发生在什么地方,优惠引擎依赖订单是必然的,订单部分就不用依赖优惠引擎。  这种单向依赖还能够接受吧?  至于单件商品和总体的计算逻辑在优惠的设计范围内,这里又不会有什么耦合发生的,对吧?  却是支付,可否使用积分,点数或金券等这些支付逻辑,恐怕要作为订单属性和订单绑在一块儿的。  举例来讲:特价商品不能用金券。  这里有  - 优惠——特价商品。  - 原始订单。  - 优惠处理过的最终订单——总金额减小了,而且被添加了不能用金券的属性。  - 支付时金券被无效。客户须要按最终订单的金额付款。  大体如此,随便聊聊。  祝好运。

相关文章
相关标签/搜索