超市里价格多变,一个货品假设进价是 20 , 标准零售价是 25 块。现在,超市需要对其进行促销。1.如果整单买满500块,那么,这个货卖24块。
2.如果他是会员,那么卖24块。
3.如果他买3件商品C,那么,这个商品卖23.5元。
4.如果他买电器总额达到1200块,那么这个商品卖23.8.
5.如果他买电器总额达到5000块,那么这个商品卖20块。
6.....各种各样乱78糟的打折方法,如何设计我们的算法才能让用户每次都能正确地设计他们的价格?一条条写死的方法显然是不行的。还有更多更搞笑的打折方法。

解决方案 »

  1.   

    都在扯淡!太搞笑了,LZ还没搞清楚需求,就讨论什么策略模式!
    复杂多变的价格机制本来就是销售系统的核心!
    下载一个小型的会员积分系统看一下规则设置就清楚了!
    每个级别的会员都有其相应的积分规则与销售策略!
    总体来说,就是根据订单价格来对单个产品进行打折扣!
    1.指定价格,整个订单满多少元,为某产品指定为多少元
    2.百分比,整个订单满多少元,为某产品打百分比折扣
    3.免运费,整个订单满多少元,免某产品运费
    ....
    自己总结吧!
    注意在设计表结构时为退换货做准备!procedure OrderTotalcalc;
    begin
      calcItemsprice();
      calcShippingPrice();
      calcTaxPrice();
      calcPromotionsPrice();//加这个过程用于计算促销价格
    end;
    procedure calcPromotionsPrice()
    begin
      if order.getorderlist.totalamount>333 then ...
    end;
      

  2.   

    我很知道这个calcPromotionsPrice的详情,如果能有这个的完整代码我就放心了。
      

  3.   

    用到if语句和for循环语句就能解决了