日期:2014-05-18  浏览次数:20358 次

网上书店的书本打折问题,想了好久还是没有解决方法,请各位帮忙!
需要处理以下一些打折情况:
打折分三类:1)根据图书本身的性质进行打折;2)根据当前用户的会员等级或身份进行打折;3)根据优惠券进行打折(优惠券只能针对当前购物车内的所有商品进行打折);

比如,可能有以下的一些打折情况:
1.对某个类别下的所有图书打75折;
2.对某本书打50折;
3.对某些符合某个条件的图书打6折,比如对一些销售量很低的图书打6折;
3.如果某本书被某某等级的会员买了,则打80折;
4.如果买这本书的人是老师或学生,则打75折;
5.拥有某个优惠券的人对购物车内的东西打9折或降价5元等,当然需要满足某个条件,比如必须购物满100元以上的。

所以,在这么多打折情况下,某本书可能会属于多个情况,总的原则就是取最低的那个折扣。

对于上面的所有打折策略,我思考了很久一直没有好的方法,所以上来问一下大家,不知你们在做网上书店时都是怎么处理打折的。

------解决方案--------------------
专门写一个方法计算折扣

同时
图书信息的表里面可以有一项是折扣,正常的时候就是1.0
要打折,比如,这本书5折,在表里面把1.0改成0.5
------解决方案--------------------
没做过网上商城这方面,不熟悉流程...
------解决方案--------------------
2)根据当前用户的会员等级或身份进行打折
--------------------------------------
这个需要用到角色membership,role management
------解决方案--------------------
没做过``学习
------解决方案--------------------
算法问题,应该不难,多琢磨就行了
------解决方案--------------------
用算法,来判断该用户属于何种 "角色 ",然后根据 "角色 ",判断打折状况
------解决方案--------------------
用策略模式。 实现所有的打折策略。 然后取最低的那个进行结算。 当然优惠卷应该属于购物车结算那步进行折扣的
------解决方案--------------------
可是事先对符合的条件做一个折扣计算,取出最低折扣,选那个进行打开就可以了吧
------解决方案--------------------
那就编写公共类呗