Commit a644a95d8a877e991cf8313625cd82f26065c358

Authored by yvan.ni
1 parent bc8b6f63

购物车优惠促销的优化

packageE/pages/cart/cart2/cart2.js
... ... @@ -134,7 +134,6 @@ Page({
134 134 in_zhact_gdmap: {}, //不同门店参与同一活动的限购,这些都是map表,很
135 135 in_zhact:{}, //组合购活动在列表中的显示
136 136 in_yhact:{}, //优惠活动在列表中的显示
137   -
138 137 in_zh_gd_buy_map:{}, //就是商品在组合购中的
139 138  
140 139 in_zhact_gdmap_new: {}, //不同门店参与同一活动的限购,这些都是map表,是多促销互动专用,不能和in_zhact_gdmap重叠
... ... @@ -7744,6 +7743,7 @@ Page({
7744 7743 month_lb:{}
7745 7744 })
7746 7745  
  7746 + th.data.prom_goods_map={};
7747 7747  
7748 7748 var fir_sele=0;
7749 7749 for(var dx=0;dx<cx_prom_group.length;dx++){
... ...
pages/cart/cart/cart.js
... ... @@ -3613,6 +3613,10 @@ Page({
3613 3613 for (var ind in ddata) {
3614 3614 var val = ddata[ind];
3615 3615 var num = map.get(val.goods_id + "");
  3616 +
  3617 + var ky=val.goods_id + "-"+val.prom_type + "-"+val.prom_id;
  3618 + var buyed = map_limit.get(ky);
  3619 +
3616 3620 if (num <= 0) {
3617 3621 isok = 0;
3618 3622 gname = val.goods_name;
... ... @@ -3621,12 +3625,29 @@ Page({
3621 3625 }
3622 3626  
3623 3627 if (val.prom_type == 1 || val.prom_type == 2) {
3624   - if (num > val.store_count) {
  3628 +
  3629 + var s_num=num;
  3630 + if(th.data.sales_rules> 1) s_num=buyed;
  3631 + if (s_num > val.store_count) {
3625 3632 isok = 0;
3626 3633 gname = val.goods_name;
3627 3634 throw "超出库存";
3628 3635 return false;
3629 3636 }
  3637 +
  3638 + if (buyed > val.redisnum && val.redisnum) {
  3639 + isok = 0;
  3640 + gname = val.goods_name;
  3641 + err="超出活动库存";
  3642 + break;
  3643 + }
  3644 + if (buyed > val.goods_num - val.buy_num && val.goods_num) {
  3645 + isok = 0;
  3646 + gname = val.goods_name;
  3647 + err="超出活动库存";
  3648 + break;
  3649 + }
  3650 +
3630 3651 }
3631 3652  
3632 3653 if (th.data.sales_rules == 1) {
... ... @@ -3637,20 +3658,9 @@ Page({
3637 3658 break;
3638 3659 }
3639 3660 }
3640   - if (num > val.redisnum && val.redisnum) {
3641   - isok = 0;
3642   - gname = val.goods_name;
3643   - err="超出活动库存";
3644   - break;
3645   - }
3646   - if (num > val.goods_num - val.buy_num && val.goods_num) {
3647   - isok = 0;
3648   - gname = val.goods_name;
3649   - err="超出活动库存";
3650   - break;
3651   - }
3652 3661  
3653   - var buyed = map_limit.get(ky);
  3662 +
  3663 +
3654 3664 if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
3655 3665 isok = 0;
3656 3666 gname = val.goods_name;
... ...