電商系統促銷活動-計算可用的優惠券


背景:

一、電商促銷方案:

1、滿減-指定專區商品

     例如:300元減30元,500元減60元

2、X件Y元-指定專區商品

     例如:A區2件398元,B區2件199元

3、直降-指定商品

4、限時特賣

 

二、優惠券:

1、全場卷

2、專場卷

3、指定商品卷

4、秒殺卷

 

分析:

假設:一個商品只可以屬於一個促銷活動,即一個專區。

計算哪些優惠券是很煩的以一件事情,而且卷的金額還要均攤給可以用卷的商品,退貨后會扣除相應的價格。

突然發現和權限系統特別像:

A、購物車的每件商品=用戶,一個用戶可以屬於一個角色(上面的假設)

B、優惠券就想時被授權的功能

C、功能可以直接對用戶授權,也可以直接對角色授權。

那我們可以用二進制表示

        // 專場 combination
        int c = 1;// ...00001
        // 商品 good
        int g = 2;// ...00010
        // 特賣 sale
        int s = 4;// ...00100
        // 秒殺 Seckill
        int k = 8;// ...01000
        //全場 all
        int a = 16;//...10000

 

購物車

G1:專場006
A1    
A2
A3
A4

G2:專場007
B1
B2
B3
B4

G3:未參加活動
C1
C2
C3



貨號 權限    價格    專題		類型
組   

A1  a|g 	199				0
A1  a|g 	199				
A2  a|g 	199
A3  a|g 	199
A4  a|g 	199
B1  a|g 	199
B2  a|g 	199
B3  a|g 	199
C1  a|g 	199
C2  a|g 	199
C3  a|g 	199		
G1  c 		799		6
G2  c 		699		4
G3  a 		399

  

        CouponSelect couponSelect=new CouponSelect();
        //我的優惠券列表
        List<Coupon> myCoupons=couponSelect.getMyCoupon();
        //我的購物車
        List<Good> cardGoods=couponSelect.getCartGoods();
        //可用卷
        List<Coupon> availableCoupons=new ArrayList<Coupon>();


        for (Coupon coupon:myCoupons){
            for (Good good:cardGoods){
                //優惠券類型
                int coupon_type= coupon.get_type();
                int good_auth=good.getAuthorized();
                //優惠券能用
                if ((good_auth & coupon_type)!=coupon_type){
                    //優惠券不能用
                    continue;
                }
                switch (coupon_type){
                    case 2: //商品卷
                        //貨號匹配  && 價格大於門檻
                        if (coupon.getItemNo().equals(good.getItemNo()) && coupon.getThreshold()<=good.getPrice())
                            availableCoupons.add(coupon);
                        break;
                }
                //指定全場卷驗證
            }
        }

  

 

從結構上來說分三個部分:限制條件,促銷范圍,促銷結果。然后從每個維度上都有若干玩法,例如:

限制條件:時間,訂單金額,購買數量,購買人數,支付方式,收貨地址,運輸方式,用戶類型,積分等等
促銷范圍:單個商品,一組商品,品類,整單,以及例外品
促銷結果:折扣,扣減,返券,買搭,買贈等等

然后,把三個維度再做一下組合。。。有的玩呢~

還需要有一個促銷效果匯總的功能,用來記錄分析每一個促銷活動的實際花費、帶來的銷售、毛利、轉化率等等。用於持續調整促銷活動的效果。


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM