Commit 42083fa5eabdf001d610cbff439df2b21fc859bb

Authored by yvan.ni
1 parent 3a5aa9a4

OA的提交

(1)组合购购物车
(2)等级卡续费的bug由阿胡
components/add_purchase/add_purchase.js
... ... @@ -2912,7 +2912,7 @@ Component({
2912 2912 },
2913 2913  
2914 2914 //---加入购物车的最后一步---
2915   - add_cart_next(e, t, a, o, newd, CanOutQty) {
  2915 + async add_cart_next(e, t, a, o, newd, CanOutQty) {
2916 2916  
2917 2917  
2918 2918 if (getApp().globalData.groupchat_id) {
... ... @@ -2953,6 +2953,31 @@ Component({
2953 2953 newd.prom_type = 0;
2954 2954 newd.prom_id = 0;
2955 2955 }
  2956 + if(newd.prom_type==0){
  2957 + //-- 要拿一下商品有没有组合购活动 ---
  2958 + var rq_url = '/api/weshop/activitylist/listGoodActInfo2New';
  2959 + var req_d = {
  2960 + "store_id": os.stoid,
  2961 + "goods_id": a,
  2962 + "user_id": getApp().globalData.user_id,
  2963 + }
  2964 +
  2965 + var ck_res= await getApp().request.promiseGet(rq_url, {
  2966 + data: req_d,
  2967 + });
  2968 +
  2969 + if (ck_res.data.code == 0 && ck_res.data.data && ck_res.data.data.length > 0) {
  2970 + var arr = ck_res.data.data;
  2971 + var arr3 = arr.filter(function (e) {
  2972 + return e.s_time < ut.gettimestamp() && e.prom_type == 7;
  2973 + })
  2974 +
  2975 + if (arr3 && arr3.length > 0) {
  2976 + newd.zh_prom_id=arr3[0].act_id;
  2977 + }
  2978 + }
  2979 + }
  2980 +
2956 2981  
2957 2982 wxlog.info(getApp().globalData.user_id + '-加入购物车:' + JSON.stringify(newd));
2958 2983 //
... ... @@ -2985,20 +3010,11 @@ Component({
2985 3010 var item = null;
2986 3011 //-------如果购物车中有相关的数据---------
2987 3012 if (re.data.data.total > 0) {
2988   - for (var j = 0; j < re.data.data.pageData.length; j++) {
2989   - if (!th.check_is_like(re.data.data.pageData[j], newd, 1)) continue;
2990   - item = re.data.data.pageData[j];
2991   - break;
2992   - }
2993   -
2994   - if (!item) {
2995 3013 for (var j = 0; j < re.data.data.pageData.length; j++) {
2996 3014 if (!th.check_is_like(re.data.data.pageData[j], newd)) continue;
2997 3015 item = re.data.data.pageData[j];
2998 3016 break;
2999 3017 }
3000   - }
3001   -
3002 3018 }
3003 3019  
3004 3020 if (item) {
... ... @@ -3040,47 +3056,27 @@ Component({
3040 3056 }
3041 3057 }
3042 3058  
3043   - var updata = {
3044   - id: item.id,
3045   - goods_num: e.data.goodsInputNum + item.goods_num,
3046   - goods_price: newd.goods_price,
3047   - member_goods_price: newd.goods_price,
3048   - store_id: th.data.stoid,
3049   - prom_id: newd.prom_id, //把活动id带上去(用于购物车失效变成有效商品)
3050   - prom_type: newd.prom_type
3051   - };
  3059 + if(newd.zh_prom_id>0 && item.zh_prom_id && newd.zh_prom_id!=item.zh_prom_id){
  3060 + wx.hideLoading();
  3061 + wx.showModal({
  3062 + title: '温馨提示',
  3063 + content: '当前商品已存在购物车,是否替换参与该活动?',
  3064 + success(res) {
  3065 + if (res.confirm) {
  3066 + wx.showLoading();
  3067 + th.add_cart_next2(e,item,newd);
  3068 + }else{
  3069 + th.data.adding = 0;
  3070 + }
  3071 + }
  3072 + })
3052 3073  
3053   - if (newd.is_pd_normal) {
3054   - updata.is_pd_normal = 1
  3074 + }else{
  3075 + th. add_cart_next2(e,item,newd);
3055 3076 }
3056 3077  
3057   - //---是不是从收藏夹出来的---
3058   - if (th.data.c_guide_id) {
3059   - updata['guide_id'] = th.data.c_guide_id;
3060   - updata['guide_type'] = 3; //加入购物车之后就变成了3
3061   - } else {
3062   - if (getApp().globalData.guide_id) {
3063   - updata['guide_id'] = getApp().globalData.guide_id;
3064   - updata['guide_type'] = 0;
3065   - }
3066   - }
3067   - if (getApp().globalData.groupchat_id) {
3068   - updata['groupchat_id'] = getApp().globalData.groupchat_id;
3069   - }
3070 3078  
3071   - getApp().request.put("/api/weshop/cart/update", {
3072   - data: updata,
3073   - success: function (t) {
3074   - wx.hideLoading();
3075   - th.data.adding = 0;
3076   - getApp().my_warnning('加入购物车成功', 1, th, 450);
3077   - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
3078   - th.setData({
3079   - cartGoodsNum: c_num
3080   - });
3081   - th.closeSpecModal();
3082   - }
3083   - });
  3079 +
3084 3080 } else {
3085 3081 getApp().request.post("/api/weshop/cart/save", {
3086 3082 data: newd,
... ... @@ -3108,6 +3104,57 @@ Component({
3108 3104 }
3109 3105 },
3110 3106  
  3107 +
  3108 + add_cart_next2(e,item,newd){
  3109 + let th=this;
  3110 + var updata = {
  3111 + id: item.id,
  3112 + goods_num: e.data.goodsInputNum + item.goods_num,
  3113 + goods_price: newd.goods_price,
  3114 + member_goods_price: newd.goods_price,
  3115 + store_id: th.data.stoid,
  3116 + prom_id: newd.prom_id, //把活动id带上去(用于购物车失效变成有效商品)
  3117 + prom_type: newd.prom_type
  3118 + };
  3119 +
  3120 + if (newd.is_pd_normal) {
  3121 + updata.is_pd_normal = 1
  3122 + }
  3123 +
  3124 + if (newd.zh_prom_id) {
  3125 + updata.zh_prom_id = newd.zh_prom_id
  3126 + }
  3127 +
  3128 + //---是不是从收藏夹出来的---
  3129 + if (th.data.c_guide_id) {
  3130 + updata['guide_id'] = th.data.c_guide_id;
  3131 + updata['guide_type'] = 3; //加入购物车之后就变成了3
  3132 + } else {
  3133 + if (getApp().globalData.guide_id) {
  3134 + updata['guide_id'] = getApp().globalData.guide_id;
  3135 + updata['guide_type'] = 0;
  3136 + }
  3137 + }
  3138 + if (getApp().globalData.groupchat_id) {
  3139 + updata['groupchat_id'] = getApp().globalData.groupchat_id;
  3140 + }
  3141 +
  3142 + getApp().request.put("/api/weshop/cart/update", {
  3143 + data: updata,
  3144 + success: function (t) {
  3145 + wx.hideLoading();
  3146 + th.data.adding = 0;
  3147 + getApp().my_warnning('加入购物车成功', 1, th, 450);
  3148 + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
  3149 + th.setData({
  3150 + cartGoodsNum: c_num
  3151 + });
  3152 + th.closeSpecModal();
  3153 + }
  3154 + });
  3155 +
  3156 + },
  3157 +
3111 3158 //-------------获取购买数量的总函数----------------
3112 3159 get_buy_num: function (gd, func) {
3113 3160 var map = this.data.g_buy_num,
... ...
packageB/pages/zuhegou/index/index.js
... ... @@ -1739,6 +1739,7 @@ Page({
1739 1739  
1740 1740 newd.prom_type = 7;
1741 1741 newd.prom_id = th.data.act.id;
  1742 + newd.zh_prom_id = th.data.act.id;
1742 1743  
1743 1744 if (th.data.adding) return false;
1744 1745 th.data.adding = 1;
... ... @@ -1767,7 +1768,8 @@ Page({
1767 1768 goods_price: newd.goods_price,
1768 1769 member_goods_price: newd.goods_price,
1769 1770 store_id: os.stoid,
1770   - state: 0
  1771 + state: 0,
  1772 + zh_prom_id:th.data.act.id
1771 1773 };
1772 1774 if (th.data.s_cart_num) {
1773 1775 updata.goods_num = th.data.s_cart_num;
... ... @@ -2509,13 +2511,6 @@ Page({
2509 2511 }
2510 2512  
2511 2513 var th = this;
2512   - var index = th.data.sele_index;
2513   - var txt = "list[" + index + "].haveAdded";
2514   - var txt1 = "list[" + index + "].num";
2515   - var txt2 = "list[" + index + "].showNum";
2516   - var txt3 = "list[" + index + "].cart_id";
2517   - var txt4 = "list[" + index + "].current_price";
2518   - var txt5 = "list[" + index + "].cart_num";
2519 2514  
2520 2515 //----先看会员在购物车中是否加入了该商品-----
2521 2516 getApp().request.get("/api/weshop/cart/page", {
... ... @@ -2527,102 +2522,140 @@ Page({
2527 2522 },
2528 2523 success: function (re) {
2529 2524 if (re.data.data.total > 0) {
2530   - var item = re.data.data.pageData[0];
2531   - th.get_buy_num(th.data.sele_g, function () {
2532   - //当前的价格要更新进去
2533   - var cur_price = th.data.sele_g.shop_price;
2534   - if (th.data.card_field && th.data.sele_g[th.data.card_field]) {
2535   - cur_price = th.data.sele_g[th.data.card_field];
  2525 +
  2526 + //var item = re.data.data.pageData[0];
  2527 + var item=re.data.data.pageData.find(function (e){
  2528 + return [0,3,5,7,10].includes(parseInt(e.prom_type)) && e.is_gift==0;
  2529 + })
  2530 + //购物车中未找到相应的商品
  2531 + if(!item){ func(); return false;}
  2532 + //购物车中zh_prom_id为0或者和本次活动的id一致
  2533 + if(item.zh_prom_id<=0 || item.zh_prom_id==th.data.act.id){
  2534 + func(); return false;
2536 2535 }
2537 2536  
2538   - var prom_buybum = 0;
2539   - var gd_buynum = 0;
2540   - //加入也要控制一下限购
2541   - var check_obj = th.data.g_buy_num.get(th.data.sele_g.goods_id);
2542   - if (check_obj.gd_buynum && check_obj.gd_buynum > 0) gd_buynum = check_obj.gd_buynum;
2543   - if (check_obj.prom_buybum && check_obj.prom_buybum > 0) prom_buybum = check_obj.prom_buybum;
2544   -
2545   - if (check_obj) {
2546   - if (check_obj.prom_buybum && check_obj.prom_buybum >= th.data.sele_g.buyqty &&
2547   - th.data.sele_g.buyqty > 0
2548   - ) {
2549   - wx.showToast({
2550   - title: "您的已购数量超出活动的限购",
2551   - icon: 'none',
2552   - duration: 2000
2553   - });
2554   - return false;
2555   - }
2556   - if (check_obj.gd_buynum && check_obj.gd_buynum >= th.data.sele_g.viplimited &&
2557   - th.data.sele_g.viplimited > 0
2558   - ) {
2559   - wx.showToast({
2560   - title: "您的已购数量超出商品的限购",
2561   - icon: 'none',
2562   - duration: 2000
2563   - });
2564   - return false;
  2537 + wx.showModal({
  2538 + title: '温馨提示',
  2539 + content: '当前商品已存在购物车,是否替换参与该活动?',
  2540 + success(res) {
  2541 + if (res.confirm) {
  2542 + th.check_is_in_cart_next(item);
2565 2543 }
2566 2544 }
  2545 + })
2567 2546  
2568   - item.cbuy = 'no';
2569   - var cbuy = th.data.sele_g.viplimited > 0 ? th.data.sele_g.viplimited - gd_buynum : 'no';
2570   - if (cbuy != 'no') item.cbuy = cbuy;
2571   - var cbuy2 = th.data.sele_g.buyqty > 0 ? th.data.sele_g.buyqty - prom_buybum : 'no';
2572   - if (cbuy2 != 'no') {
2573   - if (item.cbuy == 'no' || item.cbuy > cbuy2) item.cbuy = cbuy2;
2574   - }
2575 2547  
2576   - var num = item.goods_num;
  2548 + } else {
  2549 + func();
  2550 + }
  2551 + }
  2552 + })
  2553 + },
2577 2554  
2578   - var is_num_change = 0;
2579   - if (num < th.data.goodsInputNum) {
2580   - num = th.data.goodsInputNum;
2581   - is_num_change = 1;
2582   - }
  2555 + check_is_in_cart_next(item){
  2556 + let th=this;
2583 2557  
2584   - if (item.cbuy > -1 && item.cbuy < item.goods_num) {
2585   - num = item.cbuy;
2586   - }
2587   - th.setData({
2588   - [txt1]: num,
2589   - [txt2]: true,
2590   - [txt]: true,
2591   - [txt3]: item.id,
2592   - [txt4]: cur_price,
2593   - [txt5]: item.goods_num,
2594   - });
  2558 + var index = th.data.sele_index;
  2559 + var txt = "list[" + index + "].haveAdded";
  2560 + var txt1 = "list[" + index + "].num";
  2561 + var txt2 = "list[" + index + "].showNum";
  2562 + var txt3 = "list[" + index + "].cart_id";
  2563 + var txt4 = "list[" + index + "].current_price";
  2564 + var txt5 = "list[" + index + "].cart_num";
2595 2565  
2596   - var updata = {
2597   - id: item.id,
2598   - prom_type: 7,
2599   - goods_price: cur_price,
2600   - prom_id: th.data.act.id,
2601   - store_id: os.stoid,
2602   - state: 0
2603   - };
2604   - if (getApp().globalData.guide_id) {
2605   - updata['guide_id'] = getApp().globalData.guide_id;
2606   - updata['guide_type'] = 0;
2607   - }
2608   - if (is_num_change) {
2609   - updata['goods_num'] = num;
2610   - }
2611 2566  
2612   - getApp().request.put("/api/weshop/cart/update", {
2613   - data: updata,
2614   - success: function (t) { }
2615   - });
2616   - th.re_sum_price();
2617   - })
  2567 + th.get_buy_num(th.data.sele_g, function () {
  2568 + //当前的价格要更新进去
  2569 + var cur_price = th.data.sele_g.shop_price;
  2570 + if (th.data.card_field && th.data.sele_g[th.data.card_field]) {
  2571 + cur_price = th.data.sele_g[th.data.card_field];
  2572 + }
2618 2573  
2619   - } else {
2620   - func();
  2574 + var prom_buybum = 0;
  2575 + var gd_buynum = 0;
  2576 + //加入也要控制一下限购
  2577 + var check_obj = th.data.g_buy_num.get(th.data.sele_g.goods_id);
  2578 + if (check_obj.gd_buynum && check_obj.gd_buynum > 0) gd_buynum = check_obj.gd_buynum;
  2579 + if (check_obj.prom_buybum && check_obj.prom_buybum > 0) prom_buybum = check_obj.prom_buybum;
  2580 +
  2581 + if (check_obj) {
  2582 + if (check_obj.prom_buybum && check_obj.prom_buybum >= th.data.sele_g.buyqty &&
  2583 + th.data.sele_g.buyqty > 0
  2584 + ) {
  2585 + wx.showToast({
  2586 + title: "您的已购数量超出活动的限购",
  2587 + icon: 'none',
  2588 + duration: 2000
  2589 + });
  2590 + return false;
  2591 + }
  2592 + if (check_obj.gd_buynum && check_obj.gd_buynum >= th.data.sele_g.viplimited &&
  2593 + th.data.sele_g.viplimited > 0
  2594 + ) {
  2595 + wx.showToast({
  2596 + title: "您的已购数量超出商品的限购",
  2597 + icon: 'none',
  2598 + duration: 2000
  2599 + });
  2600 + return false;
2621 2601 }
2622 2602 }
  2603 +
  2604 + item.cbuy = 'no';
  2605 + var cbuy = th.data.sele_g.viplimited > 0 ? th.data.sele_g.viplimited - gd_buynum : 'no';
  2606 + if (cbuy != 'no') item.cbuy = cbuy;
  2607 + var cbuy2 = th.data.sele_g.buyqty > 0 ? th.data.sele_g.buyqty - prom_buybum : 'no';
  2608 + if (cbuy2 != 'no') {
  2609 + if (item.cbuy == 'no' || item.cbuy > cbuy2) item.cbuy = cbuy2;
  2610 + }
  2611 +
  2612 + var num = item.goods_num;
  2613 +
  2614 + var is_num_change = 0;
  2615 + if (num < th.data.goodsInputNum) {
  2616 + num = th.data.goodsInputNum;
  2617 + is_num_change = 1;
  2618 + }
  2619 +
  2620 + if (item.cbuy > -1 && item.cbuy < item.goods_num) {
  2621 + num = item.cbuy;
  2622 + }
  2623 + th.setData({
  2624 + [txt1]: num,
  2625 + [txt2]: true,
  2626 + [txt]: true,
  2627 + [txt3]: item.id,
  2628 + [txt4]: cur_price,
  2629 + [txt5]: item.goods_num,
  2630 + });
  2631 +
  2632 + var updata = {
  2633 + id: item.id,
  2634 + prom_type: 7,
  2635 + goods_price: cur_price,
  2636 + prom_id: th.data.act.id,
  2637 + store_id: os.stoid,
  2638 + state: 0,
  2639 + zh_prom_id: th.data.act.id,
  2640 + };
  2641 + if (getApp().globalData.guide_id) {
  2642 + updata['guide_id'] = getApp().globalData.guide_id;
  2643 + updata['guide_type'] = 0;
  2644 + }
  2645 + if (is_num_change) {
  2646 + updata['goods_num'] = num;
  2647 + }
  2648 +
  2649 + getApp().request.put("/api/weshop/cart/update", {
  2650 + data: updata,
  2651 + success: function (t) { }
  2652 + });
  2653 + th.re_sum_price();
2623 2654 })
  2655 +
2624 2656 },
2625 2657  
  2658 +
2626 2659 //-- 计算统计之后的金额 --
2627 2660 re_sum_price: function () {
2628 2661 var all_num = 0; //商品数量之和
... ...
packageE/pages/cart/cart2/cart2.js
... ... @@ -1073,7 +1073,8 @@ Page({
1073 1073 goods_id: carr[iv].goods_id,
1074 1074 goods_num: 1,
1075 1075 is_limit_show: 0,
1076   - is_state: 0
  1076 + is_state: 0,
  1077 + zh_prom_id:item1.zh_prom_id
1077 1078 }
1078 1079 dug_cx_arr.push(gd_ite);
1079 1080 }
... ...
packageE/pages/user/cardinfo/cardinfo.js
... ... @@ -43,6 +43,9 @@ Page({
43 43 IsStopBuy:0, //卡是否停用
44 44 yu_e_show:0,//装入余额的弹窗
45 45 is_show_change_pop:0,
  46 +
  47 + is_xufei_setting:0,
  48 + xufei_setting_days:0,
46 49 },
47 50  
48 51 /**
... ... @@ -73,6 +76,10 @@ Page({
73 76 is_card_rule: is_cardrule,
74 77 plus_bg_color: swi_arr.plus_bg_color,
75 78 });
  79 +
  80 + th.data.is_xufei_setting=swi_arr.is_xufei_setting;
  81 + th.data.xufei_setting_days=swi_arr.xufei_setting_days;
  82 +
76 83 })
77 84  
78 85 //----------------------------获取最大的卡类-----------------------
... ... @@ -819,6 +826,27 @@ Page({
819 826 end_time=ut.format(end_time,'yyyy-MM-dd');
820 827 var errmsg="";
821 828  
  829 +
  830 + //如果有开始前多少天可续费
  831 + if(th.data.is_xufei_setting){
  832 +
  833 + var expiryDate=this.data.expiryDate;
  834 +
  835 + var str = expiryDate.replace(/-/g, '/');
  836 + var end = new Date(str);
  837 + end.setDate(end.getDate()- parseInt(th.data.xufei_setting_days) );
  838 + end = Date.parse(end) / 1000;
  839 +
  840 + var now=ut.gettimestamp();
  841 + if(now<end){
  842 + getApp().my_warnning("到期前"+th.data.xufei_setting_days+"天可续费!", 0, th);
  843 + return false;
  844 + }
  845 + }
  846 +
  847 +
  848 +
  849 +
822 850 //--商家是不是有等级卡功能,开通的人数是不是够用,开通是时间是不是到期--
823 851 await getApp().request.promiseGet("/api/weshop/plus/plus/card/register",
824 852 { data: { storeId: os.stoid,isRenewal:1,endData: end_time,userId:getApp().globalData.user_id} }).then(res => {
... ...
packageG/pages/user/order_detail/order_detail.js
... ... @@ -1792,6 +1792,15 @@ Page({
1792 1792 else if (arr2.length > 1) {
1793 1793 good.prom_type = g_item.prom_type; good.prom_id = g_item.prom_id;
1794 1794 }
  1795 +
  1796 + var arr3 = arr.filter(function (e) {
  1797 + return e.s_time < ut.gettimestamp() && e.prom_type == 7;
  1798 + })
  1799 +
  1800 + if (arr3 && arr3.length > 0) {
  1801 + b_item.zh_prom_id= arr3[0].act_id;
  1802 + }
  1803 +
1795 1804 }
1796 1805 })
1797 1806  
... ... @@ -2180,10 +2189,14 @@ Page({
2180 2189 }
2181 2190 },
2182 2191  
2183   - more_add_cart:async function(){
  2192 + more_add_cart:async function(){
  2193 + var th=this;
2184 2194 var back_goods_arr=this.data.back_goods_arr;
2185 2195 var err_text="";
2186 2196 var ok_num=0;
  2197 +
  2198 + var zh_prom_id_err=[];
  2199 + var zh_prom_id_err_goods=[];
2187 2200  
2188 2201 for(var i in back_goods_arr){
2189 2202 //商品ID
... ... @@ -2221,6 +2234,13 @@ Page({
2221 2234 newd['prom_type']=g_item.prom_type;
2222 2235 newd['prom_id']=g_item.prom_id;
2223 2236 }
  2237 +
  2238 +
  2239 + newd['zh_prom_id']=0;
  2240 +
  2241 + if(g_item.zh_prom_id){
  2242 + newd['zh_prom_id'] = g_item.zh_prom_id;
  2243 + }
2224 2244  
2225 2245  
2226 2246 var b_cart_goods=null;
... ... @@ -2271,7 +2291,20 @@ Page({
2271 2291 if(newd.guide_id){
2272 2292 updata.guide_id=newd.guide_id;
2273 2293 updata.guide_type=newd.guide_type;
2274   - }
  2294 + }
  2295 +
  2296 + if (newd.prom_type) {
  2297 + updata.prom_type = newd.prom_type;
  2298 + updata.prom_id = newd.prom_id;
  2299 + }
  2300 +
  2301 + //如果购物车中商品zh_prom_id不一致的话,要进行提示
  2302 + if(is_has.zh_prom_id>0 && is_has.zh_prom_id!= newd['zh_prom_id'] ){
  2303 + zh_prom_id_err.push(newd.goods_name+ '已存在购物车\n');
  2304 + zh_prom_id_err_goods.push(updata);
  2305 + continue;
  2306 + }
  2307 +
2275 2308 await getApp().request.promisePut("/api/weshop/cart/update", {
2276 2309 data: updata
2277 2310 }).then(res=>{
... ... @@ -2297,34 +2330,90 @@ Page({
2297 2330  
2298 2331 wx.hideLoading();
2299 2332 this.data.moring=0;
2300   - if(ok_num==0){
2301   - //-- 如果没有获取用户信息 --
2302   - wx.showModal({
2303   - title:'提示',
2304   - content: err_text,
2305   - success(res) {}
2306   - });
2307   - }else{
2308   - if(err_text==""){
2309   - getApp().goto("/pages/cart/cart/cart");
2310   - }else{
2311   - // 如果没有获取用户信息
2312   - wx.showModal({
2313   - title:'提示',
2314   - content: err_text,
2315   - success(res) {
2316   - if (res.confirm) {
2317   - //跳转到登录页
2318   - getApp().goto("/pages/cart/cart/cart");
2319   - }
2320   - }
2321   - });
2322   -
2323   - }
2324   -
2325   - }
  2333 +
  2334 + if(zh_prom_id_err_goods && zh_prom_id_err_goods.length){
  2335 + if(err_text){
  2336 + err_text+="同时有以下商品:\n";
  2337 + }
  2338 + err_text+=zh_prom_id_err.join('');
  2339 + err_text+="是否替换参与该活动?"
  2340 +
  2341 + // 如果没有获取用户信息
  2342 + wx.showModal({
  2343 + title: '提示',
  2344 + content: err_text,
  2345 + success(res) {
  2346 + if (res.confirm) {
  2347 + //进行对有zh_prom_id 不一样的商品进行替换
  2348 + th.zhbuy_add_cart(zh_prom_id_err_goods)
  2349 + }
  2350 + }
  2351 + });
  2352 +
  2353 +
  2354 + }else {
  2355 +
  2356 + if (ok_num == 0) {
  2357 + //-- 如果没有获取用户信息 --
  2358 + wx.showModal({
  2359 + title: '提示',
  2360 + content: err_text,
  2361 + success(res) {
  2362 + }
  2363 + });
  2364 + } else {
  2365 + if (err_text == "") {
  2366 + getApp().goto("/pages/cart/cart/cart");
  2367 + } else {
  2368 + // 如果没有获取用户信息
  2369 + wx.showModal({
  2370 + title: '提示',
  2371 + content: err_text,
  2372 + success(res) {
  2373 + if (res.confirm) {
  2374 + //跳转到登录页
  2375 + getApp().goto("/pages/cart/cart/cart");
  2376 + }
  2377 + }
  2378 + });
  2379 +
  2380 + }
  2381 +
  2382 + }
  2383 + }
2326 2384 },
2327 2385  
  2386 + //-- 组合购的商品重新购买 --
  2387 + zhbuy_add_cart: async function (zh_prom_id_err_goods) {
  2388 + var err_text = "";
  2389 + for (var i in zh_prom_id_err_goods) {
  2390 + var updata=zh_prom_id_err_goods[i];
  2391 + await getApp().request.promisePut("/api/weshop/cart/update", {
  2392 + data: updata
  2393 + }).then(res => {
  2394 + if (res.data.code != 0) {
  2395 + err_text += newd.goods_name + "加入购物车失败\n";
  2396 + }
  2397 + })
  2398 + }
  2399 +
  2400 + if (err_text == "") {
  2401 + getApp().goto("/pages/cart/cart/cart");
  2402 + }else{
  2403 + // 如果没有获取用户信息
  2404 + wx.showModal({
  2405 + title: '提示',
  2406 + content: err_text,
  2407 + success(res) {
  2408 + if (res.confirm) {
  2409 + //跳转到登录页
  2410 + getApp().goto("/pages/cart/cart/cart");
  2411 + }
  2412 + }
  2413 + });
  2414 + }
  2415 + },
  2416 +
2328 2417 toast(msg){
2329 2418 wx.showToast({
2330 2419 title: msg,
... ...
pages/cart/cart/cart.js
... ... @@ -548,7 +548,8 @@ Page({
548 548 goods_id:carr[i].goods_id,
549 549 goods_num:1,
550 550 is_limit_show:0,
551   - is_state:0
  551 + is_state:0,
  552 + zh_prom_id:carr[i].zh_prom_id
552 553 }
553 554 g_arr.push(gd_ite);
554 555 }
... ...
pages/goods/goodsInfo/goodsInfo.js
... ... @@ -2096,7 +2096,7 @@ Page({
2096 2096 },
2097 2097  
2098 2098 //---加入购物车的最后一步---
2099   - add_cart_next(e, t, a, o, newd, CanOutQty) {
  2099 + async add_cart_next(e, t, a, o, newd, CanOutQty) {
2100 2100  
2101 2101  
2102 2102 if (getApp().globalData.groupchat_id) {
... ... @@ -2138,6 +2138,32 @@ Page({
2138 2138 newd.prom_id=0;
2139 2139 }
2140 2140  
  2141 + if(newd.prom_type==0){
  2142 + //-- 要拿一下商品有没有组合购活动 ---
  2143 + var rq_url = '/api/weshop/activitylist/listGoodActInfo2New';
  2144 + var req_d = {
  2145 + "store_id": os.stoid,
  2146 + "goods_id": a,
  2147 + "user_id": getApp().globalData.user_id,
  2148 + }
  2149 +
  2150 + var ck_res= await getApp().request.promiseGet(rq_url, {
  2151 + data: req_d,
  2152 + });
  2153 +
  2154 + if (ck_res.data.code == 0 && ck_res.data.data && ck_res.data.data.length > 0) {
  2155 + var arr = ck_res.data.data;
  2156 + var arr3 = arr.filter(function (e) {
  2157 + return e.s_time < ut.gettimestamp() && e.prom_type == 7;
  2158 + })
  2159 +
  2160 + if (arr3 && arr3.length > 0) {
  2161 + newd.zh_prom_id=arr3[0].act_id;
  2162 + }
  2163 + }
  2164 + }
  2165 +
  2166 +
2141 2167 wxlog.info(getApp().globalData.user_id+'-加入购物车:'+JSON.stringify(newd));
2142 2168 //
2143 2169 // //如果有搭配购的时候的时候
... ... @@ -2159,8 +2185,6 @@ Page({
2159 2185 user_id: oo.user_id,
2160 2186 goods_id: a,
2161 2187 pick_id: e.data.sto_sele_id,
2162   - prom_type: newd.prom_type,
2163   - prom_id: newd.prom_id,
2164 2188 state: 0,
2165 2189 },
2166 2190 success: function (re) {
... ... @@ -2169,24 +2193,15 @@ Page({
2169 2193 var item = null;
2170 2194 //-------如果购物车中有相关的数据---------
2171 2195 if (re.data.data.total > 0) {
2172   - for (var j = 0; j < re.data.data.pageData.length; j++) {
2173   - if (!th.check_is_like(re.data.data.pageData[j], newd, 1)) continue;
2174   - item = re.data.data.pageData[j];
2175   - break;
2176   - }
2177   -
2178   - if (!item) {
2179 2196 for (var j = 0; j < re.data.data.pageData.length; j++) {
2180 2197 if (!th.check_is_like(re.data.data.pageData[j], newd)) continue;
2181 2198 item = re.data.data.pageData[j];
2182 2199 break;
2183 2200 }
2184   - }
2185   -
2186 2201 }
2187 2202  
2188 2203 if (item) {
2189   - item = re.data.data.pageData[0];
  2204 +
2190 2205 //判断数量,要看下购物车中有没有该商品
2191 2206 if (CanOutQty) {
2192 2207 if (item.goods_num + th.data.goodsInputNum > CanOutQty) {
... ... @@ -2224,47 +2239,25 @@ Page({
2224 2239 }
2225 2240 }
2226 2241  
2227   - var updata = {
2228   - id: item.id,
2229   - goods_num: e.data.goodsInputNum + item.goods_num,
2230   - goods_price: newd.goods_price,
2231   - member_goods_price: newd.goods_price,
2232   - store_id: th.data.stoid,
2233   - prom_id: newd.prom_id, //把活动id带上去(用于购物车失效变成有效商品)
2234   - prom_type: newd.prom_type
2235   - };
2236   -
2237   - if(newd.is_pd_normal){
2238   - updata.is_pd_normal=1
2239   - }
  2242 + if(newd.zh_prom_id>0 && item.zh_prom_id && newd.zh_prom_id!=item.zh_prom_id){
  2243 + wx.hideLoading();
  2244 + wx.showModal({
  2245 + title: '温馨提示',
  2246 + content: '当前商品已存在购物车,是否替换参与该活动?',
  2247 + success(res) {
  2248 + if (res.confirm) {
  2249 + wx.showLoading();
  2250 + th.add_cart_next2(e,item,newd);
  2251 + }else{
  2252 + th.data.adding = 0;
  2253 + }
  2254 + }
  2255 + })
2240 2256  
2241   - //---是不是从收藏夹出来的---
2242   - if (th.data.c_guide_id) {
2243   - updata['guide_id'] = th.data.c_guide_id;
2244   - updata['guide_type'] = 3; //加入购物车之后就变成了3
2245   - } else {
2246   - if (getApp().globalData.guide_id) {
2247   - updata['guide_id'] = getApp().globalData.guide_id;
2248   - updata['guide_type'] = 0;
2249   - }
2250   - }
2251   - if (getApp().globalData.groupchat_id) {
2252   - updata['groupchat_id'] = getApp().globalData.groupchat_id;
  2257 + }else{
  2258 + th. add_cart_next2(e,item,newd);
2253 2259 }
2254 2260  
2255   - getApp().request.put("/api/weshop/cart/update", {
2256   - data: updata,
2257   - success: function (t) {
2258   - wx.hideLoading();
2259   - th.data.adding=0;
2260   - getApp().my_warnning('加入购物车成功', 1, th, 450);
2261   - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
2262   - th.setData({
2263   - cartGoodsNum: c_num
2264   - });
2265   - th.closeSpecModal();
2266   - }
2267   - });
2268 2261 } else {
2269 2262 getApp().request.post("/api/weshop/cart/save", {
2270 2263 data: newd,
... ... @@ -2284,7 +2277,6 @@ Page({
2284 2277 });
2285 2278  
2286 2279 } else {
2287   -
2288 2280 newd['pick_name'] = th.data.sto_sele_name;
2289 2281 newd['pick_dis'] = th.data.sto_sele_distr;
2290 2282 th.buyNow(newd);
... ... @@ -2292,8 +2284,61 @@ Page({
2292 2284 }
2293 2285 },
2294 2286  
  2287 +
  2288 + add_cart_next2(e,item,newd){
  2289 + let th=this;
  2290 + let updata = {
  2291 + id: item.id,
  2292 + goods_num: e.data.goodsInputNum + item.goods_num,
  2293 + goods_price: newd.goods_price,
  2294 + member_goods_price: newd.goods_price,
  2295 + store_id: th.data.stoid,
  2296 + prom_id: newd.prom_id, //把活动id带上去(用于购物车失效变成有效商品)
  2297 + prom_type: newd.prom_type
  2298 + };
  2299 +
  2300 + if(newd.is_pd_normal){
  2301 + updata.is_pd_normal=1
  2302 + }
  2303 +
  2304 + if (newd.zh_prom_id) {
  2305 + updata.zh_prom_id = newd.zh_prom_id
  2306 + }
  2307 +
  2308 + //---是不是从收藏夹出来的---
  2309 + if (th.data.c_guide_id) {
  2310 + updata['guide_id'] = th.data.c_guide_id;
  2311 + updata['guide_type'] = 3; //加入购物车之后就变成了3
  2312 + } else {
  2313 + if (getApp().globalData.guide_id) {
  2314 + updata['guide_id'] = getApp().globalData.guide_id;
  2315 + updata['guide_type'] = 0;
  2316 + }
  2317 + }
  2318 + if (getApp().globalData.groupchat_id) {
  2319 + updata['groupchat_id'] = getApp().globalData.groupchat_id;
  2320 + }
  2321 +
  2322 + getApp().request.put("/api/weshop/cart/update", {
  2323 + data: updata,
  2324 + success: function (t) {
  2325 + wx.hideLoading();
  2326 + th.data.adding=0;
  2327 + getApp().my_warnning('加入购物车成功', 1, th, 450);
  2328 + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
  2329 + th.setData({
  2330 + cartGoodsNum: c_num
  2331 + });
  2332 + th.closeSpecModal();
  2333 + }
  2334 + });
  2335 + },
  2336 +
  2337 +
2295 2338 //因为在购物车 普通商品和 优惠促销,搭配购,组合购 阶梯购是一样的
2296 2339 check_is_like(e, newd, idx) {
  2340 +
  2341 + if(e.is_gift) return false; //如果是赠品就返回
2297 2342 if (e.prom_type == newd.prom_type) return true;
2298 2343 if (!idx) {
2299 2344 if (e.prom_type == 0) {
... ...
pages/user/order_list/order_list.js
... ... @@ -2120,6 +2120,16 @@ Page({
2120 2120 else if (arr2.length > 1) {
2121 2121 good.prom_type = g_item.prom_type; good.prom_id = g_item.prom_id;
2122 2122 }
  2123 +
  2124 +
  2125 + var arr3 = arr.filter(function (e) {
  2126 + return e.s_time < ut.gettimestamp() && e.prom_type == 7;
  2127 + })
  2128 +
  2129 + if (arr3 && arr3.length > 0) {
  2130 + b_item.zh_prom_id= arr3[0].act_id;
  2131 + }
  2132 +
2123 2133 }
2124 2134 })
2125 2135  
... ... @@ -2508,9 +2518,12 @@ Page({
2508 2518 },
2509 2519  
2510 2520 more_add_cart: async function () {
  2521 + var th=this;
2511 2522 var back_goods_arr = this.data.back_goods_arr;
2512 2523 var err_text = "";
2513 2524 var ok_num = 0;
  2525 + var zh_prom_id_err=[];
  2526 + var zh_prom_id_err_goods=[];
2514 2527  
2515 2528 for (var i in back_goods_arr) {
2516 2529 //商品ID
... ... @@ -2550,6 +2563,13 @@ Page({
2550 2563 newd['prom_id'] = g_item.prom_id;
2551 2564 }
2552 2565  
  2566 + newd['zh_prom_id']=0;
  2567 +
  2568 + if(g_item.zh_prom_id){
  2569 + newd['zh_prom_id'] = g_item.zh_prom_id;
  2570 + }
  2571 +
  2572 +
2553 2573 var b_cart_goods = null;
2554 2574 await getApp().request.promiseGet("/api/weshop/cart/page", {
2555 2575 data: {
... ... @@ -2570,13 +2590,11 @@ Page({
2570 2590 var is_has=null;
2571 2591 if(b_cart_goods) {
2572 2592  
2573   -
2574 2593 for (let jr = 0; jr < b_cart_goods.length; jr++) {
2575 2594 var b_cart_item = b_cart_goods[jr];
2576 2595  
2577   -
2578   - if (!g_item.prom_type || g_item.prom_type == 0) {
2579   - if ([0, 3, 5, 7, 10].indexOf(b_cart_item.prom_type) > -1) {
  2596 + if (!g_item.prom_type || g_item.prom_type == 0 || ([0, 3, 5, 7, 10].includes(parseInt(g_item.prom_type+''))) ) {
  2597 + if ([0, 3, 5, 7, 10].indexOf(b_cart_item.prom_type) > -1 && g_item.is_gift!=0) {
2580 2598 is_has = b_cart_item;
2581 2599 break
2582 2600 }
... ... @@ -2607,6 +2625,13 @@ Page({
2607 2625 updata.prom_id = newd.prom_id;
2608 2626 }
2609 2627  
  2628 + //如果购物车中商品zh_prom_id不一致的话,要进行提示
  2629 + if(is_has.zh_prom_id>0 && is_has.zh_prom_id!= newd['zh_prom_id'] ){
  2630 + zh_prom_id_err.push(newd.goods_name+ '已存在购物车\n');
  2631 + zh_prom_id_err_goods.push(updata);
  2632 + continue;
  2633 + }
  2634 +
2610 2635 await getApp().request.promisePut("/api/weshop/cart/update", {
2611 2636 data: updata
2612 2637 }).then(res => {
... ... @@ -2631,32 +2656,90 @@ Page({
2631 2656 }
2632 2657 wx.hideLoading();
2633 2658 this.data.moring = 0;
2634   - if (ok_num == 0) {
2635   - //-- 如果没有获取用户信息 --
  2659 +
  2660 + if(zh_prom_id_err_goods && zh_prom_id_err_goods.length){
  2661 + if(err_text){
  2662 + err_text+="同时有以下商品:\n";
  2663 + }
  2664 + err_text+=zh_prom_id_err.join('');
  2665 + err_text+="是否替换参与该活动?"
  2666 +
  2667 + // 如果没有获取用户信息
2636 2668 wx.showModal({
2637 2669 title: '提示',
2638 2670 content: err_text,
2639   - success(res) { }
  2671 + success(res) {
  2672 + if (res.confirm) {
  2673 + //进行对有zh_prom_id 不一样的商品进行替换
  2674 + th.zhbuy_add_cart(zh_prom_id_err_goods)
  2675 + }
  2676 + }
2640 2677 });
2641   - } else {
2642   - if (err_text == "") {
2643   - getApp().goto("/pages/cart/cart/cart");
2644   - } else {
2645   - // 如果没有获取用户信息
  2678 +
  2679 +
  2680 + }else{
  2681 +
  2682 + if (ok_num == 0) {
  2683 + //-- 如果没有获取用户信息 --
2646 2684 wx.showModal({
2647 2685 title: '提示',
2648 2686 content: err_text,
2649   - success(res) {
2650   - if (res.confirm) {
2651   - //跳转到登录页
  2687 + success(res) { }
  2688 + });
  2689 + } else {
  2690 +
  2691 +
  2692 + if (err_text == "") {
2652 2693 getApp().goto("/pages/cart/cart/cart");
  2694 + } else {
  2695 + // 如果没有获取用户信息
  2696 + wx.showModal({
  2697 + title: '提示',
  2698 + content: err_text,
  2699 + success(res) {
  2700 + if (res.confirm) {
  2701 + //跳转到登录页
  2702 + getApp().goto("/pages/cart/cart/cart");
  2703 + }
  2704 + }
  2705 + });
2653 2706 }
2654   - }
2655   - });
  2707 + }
  2708 + }
  2709 + },
2656 2710  
  2711 + //-- 组合购的商品重新购买 --
  2712 + zhbuy_add_cart: async function (zh_prom_id_err_goods) {
  2713 + var err_text = "";
  2714 + for (var i in zh_prom_id_err_goods) {
  2715 + var updata=zh_prom_id_err_goods[i];
  2716 + await getApp().request.promisePut("/api/weshop/cart/update", {
  2717 + data: updata
  2718 + }).then(res => {
  2719 + if (res.data.code != 0) {
  2720 + err_text += newd.goods_name + "加入购物车失败\n";
  2721 + }
  2722 + })
2657 2723 }
2658   - }
  2724 +
  2725 + if (err_text == "") {
  2726 + getApp().goto("/pages/cart/cart/cart");
  2727 + }else{
  2728 + // 如果没有获取用户信息
  2729 + wx.showModal({
  2730 + title: '提示',
  2731 + content: err_text,
  2732 + success(res) {
  2733 + if (res.confirm) {
  2734 + //跳转到登录页
  2735 + getApp().goto("/pages/cart/cart/cart");
  2736 + }
  2737 + }
  2738 + });
  2739 + }
2659 2740 },
  2741 +
  2742 +
2660 2743 //获取用户参与组合购的次数
2661 2744 async getUserBuyPromNum(prom_id,is_buy){
2662 2745 var userInfo = getApp().globalData.userInfo;
... ...