From 478a5451b75a0d8918e4feaa1bda43fcfa8064a0 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Sat, 1 Jul 2023 14:30:43 +0800 Subject: [PATCH] 再来一单的优化 --- components/promate_pop/promate_pop.js | 27 ++++++++++++++++++++++++++- components/promate_pop/promate_pop.wxml | 19 ++++++++++++++++++- components/promate_pop/promate_pop.wxss | 2 +- packageA/pages/prom_list/prom_list.js | 6 ++++-- packageA/pages/serviceCard_pd/team_show/team_show.js | 4 ++-- packageB/pages/zuhegou/index/index.js | 9 ++++++--- packageB/pages/zuhegou/preindex/index.js | 9 ++++++--- packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js | 3 ++- packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js | 6 ++++-- packageC/pages/payForAnother/payForAnother.js | 3 ++- packageC/pages/presell/cart/cart.js | 3 ++- packageC/pages/presell/goodsInfo/goodsInfo.js | 11 ++++++----- packageC/pages/presell/pregoodsInfo/goodsInfo.js | 1 + packageE/pages/cart/cart2/cart2.js | 14 +++++++++----- pages/cart/cart/cart.js | 10 ++++++---- pages/goods/goodsInfo/goodsInfo.js | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------- pages/team/team_show/team_show.js | 2 +- pages/user/order_list/order_list.js | 465 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------- utils/more_cx.js | 2 +- 19 files changed, 503 insertions(+), 175 deletions(-) diff --git a/components/promate_pop/promate_pop.js b/components/promate_pop/promate_pop.js index eed3472..20b5f4b 100644 --- a/components/promate_pop/promate_pop.js +++ b/components/promate_pop/promate_pop.js @@ -73,7 +73,32 @@ Component({ else cx_prom_group[idx].sele=1; } this.setData({cx_prom_group}) - } + }, + + // 促销 -> 送礼包 -> 查看详情 + viewLbDetails(e) { + let id = e.currentTarget.dataset.id; // 获取礼包id + let flag = e.currentTarget.dataset.flag; + let url = ''; + if (flag == 2) { // flag =1 控制跳转到专享礼包 + url = `/packageE/pages/user/monthgiftbag/giftpackinfo/giftpackinfo?isBuy=1&id=${id}&is_act=1`; + // url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`; + } else if (flag == 1) { // flag =1 控制跳转到专享礼包 + url = `/pages/giftpack/giftpacklist/giftpacklist?lbId=${id}&flag=1`; + } else { + url = `/packageA/pages/myGiftDetails/myGiftDetails?btn=0&index=0&id=${id}`; // btn=0 控制跳转到的页面不显示按钮 + }; + // console.log('myurl', url); + getApp().goto(url); + }, + + //显示多赠品 + show_zp: function (e) { + var prom_id = e.currentTarget.dataset.prom; + var index = e.currentTarget.dataset.index; + getApp().goto("/packageD/pages/gift/gift?prom_id=" + prom_id + "&index=" + index); + }, + } }) \ No newline at end of file diff --git a/components/promate_pop/promate_pop.wxml b/components/promate_pop/promate_pop.wxml index 038644c..0c0ba75 100644 --- a/components/promate_pop/promate_pop.wxml +++ b/components/promate_pop/promate_pop.wxml @@ -29,7 +29,24 @@ {{item.show_time}} - {{bm}} + + {{bm.text}} + {{bm.text}} + {{bm.text}} + + {{bm.text}} + + {{bm.text}} + + {{bm.text}} + + + + diff --git a/components/promate_pop/promate_pop.wxss b/components/promate_pop/promate_pop.wxss index 17a64da..d3d9088 100644 --- a/components/promate_pop/promate_pop.wxss +++ b/components/promate_pop/promate_pop.wxss @@ -174,7 +174,7 @@ } .item_pro{ - background-color: #fceeee;height: 170rpx; position: relative; + background-color: #fceeee;min-height: 170rpx; position: relative;padding: 10rpx 0; } .item_pro~.item_pro{ diff --git a/packageA/pages/prom_list/prom_list.js b/packageA/pages/prom_list/prom_list.js index fdb4160..44d72cc 100644 --- a/packageA/pages/prom_list/prom_list.js +++ b/packageA/pages/prom_list/prom_list.js @@ -1407,7 +1407,8 @@ Page({ data: { store_id: os.stoid, user_id: user_id, - goods_id: gd.goods_id + goods_id: gd.goods_id, + isnew:1 }, success: function(t) { if (t.data.code == 0) { @@ -1420,7 +1421,8 @@ Page({ user_id: user_id, goods_id: gd.goods_id, prom_type: gd.prom_type, - prom_id: gd.prom_id + prom_id: gd.prom_id, + isnew:1 }, //-----获取----- success: function(tt) { diff --git a/packageA/pages/serviceCard_pd/team_show/team_show.js b/packageA/pages/serviceCard_pd/team_show/team_show.js index 1f98af0..b89f5f1 100644 --- a/packageA/pages/serviceCard_pd/team_show/team_show.js +++ b/packageA/pages/serviceCard_pd/team_show/team_show.js @@ -301,8 +301,8 @@ Page({ user_id: user_id, goods_id: gd.goods_id, prom_type: gd.prom_type, - prom_id: gd.prom_id - + prom_id: gd.prom_id, + isnew:1 }, }).then(res=>{ var buy_num_data=res.data.data; diff --git a/packageB/pages/zuhegou/index/index.js b/packageB/pages/zuhegou/index/index.js index a3603c6..7ee3e1c 100644 --- a/packageB/pages/zuhegou/index/index.js +++ b/packageB/pages/zuhegou/index/index.js @@ -2335,7 +2335,8 @@ Page({ user_id: user_id, goods_id: gd.goods_id, prom_type: 7, - prom_id: th.data.act.id + prom_id: th.data.act.id, + isnew:1 }, }).then(res2 => { var g_buy_num = 0; @@ -2824,7 +2825,8 @@ Page({ user_id: user_id, goods_id: item_j.goods_id, prom_type: 7, - prom_id: th.data.act.id + prom_id: th.data.act.id, + isnew:1 }, }).then(res2 => { if (res2.data.code == 0) { @@ -2900,7 +2902,8 @@ Page({ user_id: oo.user_id, goods_id: item_j.goods_id, prom_type: 7, - prom_id: th.data.act.id + prom_id: th.data.act.id, + isnew:1 }, }).then(res2 => { if (res2.data.code == 0) { diff --git a/packageB/pages/zuhegou/preindex/index.js b/packageB/pages/zuhegou/preindex/index.js index a0731d3..02b4707 100644 --- a/packageB/pages/zuhegou/preindex/index.js +++ b/packageB/pages/zuhegou/preindex/index.js @@ -1744,7 +1744,8 @@ Page({ user_id: user_id, goods_id: gd.goods_id, prom_type: 7, - prom_id: th.data.act.id + prom_id: th.data.act.id, + isnew:1 }, }).then(res2 => { var g_buy_num = 0; @@ -2120,7 +2121,8 @@ Page({ user_id: user_id, goods_id: item_j.goods_id, prom_type: 7, - prom_id: th.data.act.id + prom_id: th.data.act.id, + isnew:1 }, }).then(res2 => { if (res2.data.code == 0) { @@ -2196,7 +2198,8 @@ Page({ user_id: oo.user_id, goods_id: item_j.goods_id, prom_type: 7, - prom_id: th.data.act.id + prom_id: th.data.act.id, + isnew:1 }, }).then(res2 => { if (res2.data.code == 0) { diff --git a/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js b/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js index 9e3a1d3..967704c 100644 --- a/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js +++ b/packageC/pages/luckyGo/luckyGo_cart/luckyGo_cart.js @@ -473,7 +473,8 @@ Page({ user_id: getApp().globalData.user_id, goods_id: item1.goods_id, prom_type: item1.prom_type, - prom_id: item1.prom_id + prom_id: item1.prom_id, + isnew:1 }, }).then(res => { var buy_num_data = res.data.data; diff --git a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js index 68c1ef2..e9b6b8d 100644 --- a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js +++ b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js @@ -4377,7 +4377,8 @@ Page({ data: { store_id: os.stoid, user_id: user_id, - goods_id: gd.goods_id + goods_id: gd.goods_id, + isnew:1 }, success: function (t) { if (t.data.code == 0) { @@ -4396,7 +4397,8 @@ Page({ user_id: user_id, goods_id: gd.goods_id, prom_type: gd.prom_type, - prom_id: gd.prom_id + prom_id: gd.prom_id, + isnew:1 }, //-----获取----- success: function (tt) { diff --git a/packageC/pages/payForAnother/payForAnother.js b/packageC/pages/payForAnother/payForAnother.js index a70472d..122cc4b 100644 --- a/packageC/pages/payForAnother/payForAnother.js +++ b/packageC/pages/payForAnother/payForAnother.js @@ -446,7 +446,8 @@ Page({ user_id: getApp().globalData.user_id, goods_id: item1.goods_id, prom_type: item1.prom_type, - prom_id: item1.prom_id + prom_id: item1.prom_id, + isnew:1 }, }).then(res => { var buy_num_data = res.data.data; diff --git a/packageC/pages/presell/cart/cart.js b/packageC/pages/presell/cart/cart.js index 7e77779..3d4c434 100644 --- a/packageC/pages/presell/cart/cart.js +++ b/packageC/pages/presell/cart/cart.js @@ -2658,7 +2658,8 @@ Page({ user_id: getApp().globalData.user_id, goods_id: good.goods_id, prom_type: good.prom_type, - prom_id: good.prom_id + prom_id: good.prom_id, + isnew:1 }, }).then(res => { var buy_num_data = res.data.data; diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.js b/packageC/pages/presell/goodsInfo/goodsInfo.js index 8821c64..b32278e 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.js +++ b/packageC/pages/presell/goodsInfo/goodsInfo.js @@ -1095,11 +1095,11 @@ Page({ //---判断商品是否超出活动限购--- if (th.data.prom_buy_num != -1 && th.data.prom_buy_limit > 0) { if (th.data.goodsInputNum + th.data.prom_buy_num > th.data.prom_buy_limit) { - wx.showModal({ - title: '提示', - content: '超出商品活动限购' - }); - return false; + wx.showModal({ + title: '提示', + content: '超出商品活动限购' + }); + return false; } } @@ -2764,6 +2764,7 @@ Page({ store_id: os.stoid, user_id: user_id, goods_id: gd.goods_id, + isnew:1 }, success: function (t) { if (t.data.code == 0) { diff --git a/packageC/pages/presell/pregoodsInfo/goodsInfo.js b/packageC/pages/presell/pregoodsInfo/goodsInfo.js index 8542103..8196be9 100644 --- a/packageC/pages/presell/pregoodsInfo/goodsInfo.js +++ b/packageC/pages/presell/pregoodsInfo/goodsInfo.js @@ -2568,6 +2568,7 @@ Page({ store_id: os.stoid, user_id: user_id, goods_id: gd.goods_id, + isnew:1 }, success: function (t) { if (t.data.code == 0) { diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index 8cadea0..fee3c64 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -838,7 +838,7 @@ Page({ //--- 切换的时候一定要把赠品去掉 --- if(is_change){ - carr=this.data.cartlist_y; + carr=JSON.parse(JSON.stringify(this.data.cartlist_y)); //-- 剔除赠品的数据,等到确定活动是优惠促销的时候,在显示赠品, 赠品直接删除 -- var new_arr=[]; for (var ir = 0; ir < carr.length; ir++) { @@ -903,7 +903,8 @@ Page({ user_id: getApp().globalData.user_id, goods_id: item1.goods_id, prom_type: item1.prom_type, - prom_id: item1.prom_id + prom_id: item1.prom_id, + isnew:1 }, }).then(res => { var buy_num_data = res.data.data; @@ -4795,6 +4796,8 @@ Page({ 'store_id': oo.stoid, }; + + if (getApp().globalData.skinface_id) { goods.skinface_id = getApp().globalData.skinface_id; } @@ -4856,6 +4859,7 @@ Page({ default: goods.prom_type = 0; goods.prom_id = 0; + } var txt = goods.prom_id + ',' + goods.prom_type + ',' + goods.goods_id + ',' + goods.is_gift; @@ -5098,7 +5102,7 @@ Page({ //如果是购物车结算,还要删除购物车 if (th.data.is_b_now == 0) { console.log(th.data.cartlist_y); - var list = th.data.cartlist_y; + var list =JSON.parse(JSON.stringify(th.data.cartlist_y)); for (var i = 0; i < list.length; i++) { //删除购物车 a.delete("/api/weshop/cart/del/" + oo.stoid + "/" + list[i].id, {}); @@ -7777,7 +7781,7 @@ Page({ if(ck_res.code==0){ th.data.cartlist[idx].show_can_cx[gd_key].sele_prom_type=ck_prom_type.prom_type; - var goods= th.data.cartlist_y + var goods= JSON.parse(JSON.stringify(th.data.cartlist_y)) //-- 此时要把购物车中的商品确定活动 -- for (var b=0; b { var buy_num_data = res.data.data; @@ -3596,7 +3597,8 @@ Page({ user_id:getApp().globalData.user_id, goods_id: val.goods_id, prom_type: val.prom_type, - prom_id: val.prom_id + prom_id: val.prom_id, + isnew:1 }, }).then(res => { var buy_num_data = res.data.data; @@ -4036,7 +4038,6 @@ Page({ continue; } - //-- 只有在单赠品的时候,才要进行计算 -- await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { data: { @@ -4196,6 +4197,7 @@ Page({ } return user_pre_buynum }, + async all_check_prom_activity() { this.data.duo_zp_num_arr = {}; for (var i in this.data.requestData) { @@ -4828,7 +4830,7 @@ Page({ 'user_id': getApp().globalData.user_id, 'goods_id': gid, 'prom_type': 7, - 'prom_id': pid + 'prom_id': pid, isnew:1 }; var res = await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index c98eca6..517e477 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -4983,7 +4983,7 @@ Page({ data: { store_id: os.stoid, user_id: user_id, - goods_id: gd.goods_id + goods_id: gd.goods_id, isnew:1 }, success: function (t) { if (t.data.code == 0) { @@ -5011,7 +5011,7 @@ Page({ user_id: user_id, goods_id: gd.goods_id, prom_type: gd.prom_type, - prom_id: gd.prom_id + prom_id: gd.prom_id, isnew:1 }, //-----获取----- success: function (tt) { @@ -7621,22 +7621,72 @@ Page({ if (!fir_act.limit_num || th.data.user_pre_buynum < fir_act.limit_num) { var more_arr = []; //减价 - if (fir_act.money > 0) more_arr.push('减价' + fir_act.money + '元'); - if (fir_act.sale > 0) more_arr.push('打' + fir_act.sale + '折'); - if (fir_act.past == 1) more_arr.push('包邮'); - if (fir_act.intValue > 0) more_arr.push('送' + fir_act.intValue + '积分'); - if (fir_act.couponId > 0) more_arr.push('送' + fir_act.couponMoney + '元优惠券'); + if (fir_act.money > 0){ + + more_arr.push({ + text:'减价' + fir_act.money + '元', + is_fir:1 + }); + } + if (fir_act.sale > 0) { + more_arr.push({ + text:'打' + fir_act.sale + '折', + is_fir:1 + }); + } + if (fir_act.past == 1) { + more_arr.push({ + text:'包邮', + is_fir:1 + }); + } + if (fir_act.intValue > 0){ + more_arr.push({ + text:'送' + fir_act.intValue + '积分', + is_fir:1 + }); + } + if (fir_act.couponId > 0) { + more_arr.push({ + text:'送' + fir_act.couponMoney + '元优惠券', + is_quan:1 + }); + } + if (fir_act.gift_id) { - var is_more_gf = fir_act.gift_id.split(',') - if (is_more_gf.length > 1) { - more_arr.push('送赠品'); - } else { - more_arr.push('送' + fir_act.goods_name + ' x' + fir_act.zp_num); - } + var is_more_gf = fir_act.gift_id.split(',') + if (is_more_gf.length > 1) { + more_arr.push({ + text:'送赠品', + is_gift:1, + prom_id:fir_act.prom_id + }); + } else { + more_arr.push({ + text:'送' + fir_act.goods_name + ' x' + fir_act.zp_num, + is_gift:1, + prom_id:fir_act.prom_id + }); + } + } + if (fir_act.lb_id){ + more_arr.push({ + text:'送' + fir_act.lbtitle, + lb_id:fir_act.lb_id + }); + } + if (fir_act.zxlb_id){ + more_arr.push({ + text:'送' + fir_act.zxlbtitle, + zxlb_id:fir_act.zxlb_id + }); + } + if (fir_act.monthgiftbag_id){ + more_arr.push({ + text:'送' + fir_act.monthgiftbag_title, + monthgiftbag_id:fir_act.monthgiftbag_id + }); } - if (fir_act.lb_id) more_arr.push('送' + fir_act.lbtitle); - if (fir_act.zxlb_id) more_arr.push('送' + fir_act.zxlbtitle); - if (fir_act.monthgiftbag_id) more_arr.push('送' + fir_act.monthgiftbag_title); //-- 开始组装数据 -- th.add_cx_prom_group({ diff --git a/pages/team/team_show/team_show.js b/pages/team/team_show/team_show.js index 52d85ec..9980dc6 100644 --- a/pages/team/team_show/team_show.js +++ b/pages/team/team_show/team_show.js @@ -303,7 +303,7 @@ Page({ user_id: user_id, goods_id: gd.goods_id, prom_type: gd.prom_type, - prom_id: gd.prom_id + prom_id: gd.prom_id, isnew:1 }, }).then(res=>{ diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js index c8385ec..516a3fb 100644 --- a/pages/user/order_list/order_list.js +++ b/pages/user/order_list/order_list.js @@ -637,6 +637,7 @@ Page({ }) return res.data }, + /*----------跳转支付-----------*/ async jumpToCart4(t) { @@ -708,6 +709,7 @@ Page({ await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + good.goods_id, {}).then(res => { gg = res.data.data; }) + var limit = gg.viplimited; var store_count = gg.store_count; good.erpwareid = gg.erpwareid; @@ -773,9 +775,9 @@ Page({ th.setData({ paying: 0 }); return false; } - //增加组合购次数判断 - - let userbuynum = await th.getUserBuyPromNum(good.prom_id) + + //增加组合购次数判断 + let userbuynum = await th.getUserBuyPromNum(good.prom_id,1) if (zh_buy_info.buy_limit !=0 && zh_buy_info && userbuynum >= zh_buy_info.buy_limit) { var content = gg.goods_name + '超出组合购限购次数,请取消订单'; @@ -812,7 +814,6 @@ Page({ } } } - //如果是预售的时候, if (good.prom_type == 8) { await getApp().request.promiseGet("/api/weshop/order/orderPresell/countBuyGoodsSum", { @@ -860,64 +861,23 @@ Page({ } //如果优惠促销和搭配购的时候 - if ((good.prom_type == 3 || good.prom_type == 5) && good.is_gift != 1 && good.is_collocation != 1) { + if ((good.prom_type == 3 || good.prom_type == 5 || good.prom_type == 10) && good.is_gift != 1 && good.is_collocation != 1) { var p_ok = 1, is_g_prom = 0; - //因为有全场优惠活动,商品参加的活动还未开始 - var url = "/api/weshop/activitylist/getGoodActInfo"; - var req_data = { - store_id: os.stoid, goodsidlist: good.goods_id, is_detail: 1, user_id: user_id - }; - await getApp().request.promiseGet(url, { data: req_data }).then(async function (res) { - if (res.data.code == 0 && res.data.data && res.data.data.length) { - for (let i in res.data.data) { - let item = res.data.data[i]; - if (item.prom_type == 3 || item.prom_type==5) { - is_g_prom = 1; break; - } - } - } - }) - - if (is_g_prom) { - - // await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/0" + "/" + getApp().globalData.user_id, {}).then(res => { - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + good.goods_id + "/0" + "/" + getApp().globalData.user_id, {}).then(res => { - + //只读优化促销和阶梯促销 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + good.goods_id+"/0/"+user_id, {}).then(res => { if (res.data.code == 0) { var r_data = res.data.data; if (!r_data.collocationPromList && good.prom_type == 5) { - - var content = good.goods_name + '未找到活动,请取消订单重新购买'; - th.toast(content) - p_ok = 0; + var content = good.goods_name + '未找到活动,请取消订单重新购买'; + th.toast(content) + p_ok = 0; } if (!r_data.promGoodsLists && good.prom_type == 3) { - var content = good.goods_name + '未找到活动,请取消订单重新购买'; th.toast(content); p_ok = 0; } - } else { - - var content = good.goods_name + '未找到活动,请取消订单重新购买' - th.toast(content); - p_ok = 0; - } - }) - } else { - //只读优化促销和阶梯促销 - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + good.goods_id, {}).then(res => { - if (res.data.code == 0) { - var r_data = res.data.data; - if (!r_data.collocationPromList && good.prom_type == 5) { - - var content = good.goods_name + '未找到活动,请取消订单重新购买'; - th.toast(content) - - p_ok = 0; - } - if (!r_data.promGoodsLists && good.prom_type == 3) { - + if (!r_data.ladderLists && good.prom_type == 10) { var content = good.goods_name + '未找到活动,请取消订单重新购买'; th.toast(content); p_ok = 0; @@ -929,92 +889,225 @@ Page({ p_ok = 0; } }) - - } if (!p_ok) { th.setData({ paying: 0 }); return false; } } - //商品的普通购买 ,不要进行判断 - if ((good.prom_type == 1 || good.prom_type == 2 || good.prom_type == 6 || good.prom_type == 4 || good.prom_type == 8) + //-- 商品的普通购买 ,不要进行判断 -- + if ((good.prom_type == 1 || good.prom_type == 2 || good.prom_type == 6 || good.prom_type == 4 || good.prom_type == 8 || good.prom_type == 9) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal) { } else { - if ((gg.prom_type == 1 || good.prom_type == 2 || gg.prom_type == 3 || gg.prom_type == 5 || gg.prom_type == 6 || gg.prom_type == 4) - && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { - var prom = null; - //---如果是活动的时候--- - var prom = null, th = this; - if (gg.prom_type == 1) { - await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + gg.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - prom.price = prom.user_price; - } - }) - } - if (gg.prom_type == 2) { - await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gg.goods_id + "/" + gg.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - prom.price = prom.price; + //因为商品的prom_type=0,所以商品的实际活动要重新获取 + var url = '/api/weshop/activitylist/listGoodActInfo2New'; + var req_d = { + "store_id": os.stoid, + "goods_id": good.goods_id, + "user_id": user_id, + } + await getApp().request.promiseGet(url, { + data: req_d + }).then(res => { + if (res.data.code == 0 && res.data.data) { + var arr = res.data.data; + //-- 预热也要计算 -- + var arr2 = arr.filter(function (e) { + return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) + }) + if (arr2.length == 1) { + gg.prom_type=arr2[0].prom_type; + gg.prom_id=arr2[0].act_id; } - }) } + }) - if (gg.prom_type == 6) { - await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - } - }) - } + if ((gg.prom_type == 1 || gg.prom_type == 2 || gg.prom_type == 4 || gg.prom_type == 6 || gg.prom_type == 8 || gg.prom_type == 9) + && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { + var prom = null; + //---如果是活动的时候--- + var prom = null, th = this; + if (gg.prom_type == 1) { + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + prom.price = prom.user_price; + } + }) + } + if (gg.prom_type == 2) { + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + gg.goods_id + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + prom.price = prom.price; + } + }) + } + if (gg.prom_type == 6) { + await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + } + }) + } + if (gg.prom_type == 4) { + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1&timetype=2", { + data: { store_id: os.stoid, goods_id: gg.goods_id,user_id: getApp().globalData.user_id, } + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.pageData) { + prom = res.data.data.pageData[0]; + } + }) + } + if (prom) { + var t_now = ut.gettimestamp(); + if (prom.is_end == 0 && prom.start_time < t_now && prom.end_time > t_now) { - if (gg.prom_type == 4) { - await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1&timetype=2", { - data: { store_id: os.stoid, goods_id: gg.goods_id,user_id: getApp().globalData.user_id, } - }).then(res => { - if (res.data.code == 0 && res.data.data && res.data.data.pageData) { - prom = res.data.data.pageData[0]; + var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + th.toast(content); + th.setData({ paying: 0 }); + return false; } - }) - } - - if (prom) { - var t_now = ut.gettimestamp(); - if (prom.is_end == 0 && prom.start_time < t_now && prom.end_time > t_now) { + } + //-- 幸运购的时候 -- + if(gg.prom_type==8 || gg.prom_type==9){ var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; th.toast(content); th.setData({ paying: 0 }); return false; } - } + } else { - if (!good.is_gift && good.prom_type != 3) { - var t_ok = 1; - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/0" + "/" + getApp().globalData.user_id, {}).then(res => { - if (res.data.code == 0) { - var r_data = res.data.data; - //-- 参加了全局的优惠活动 -- - if (r_data.promGoodsLists) { - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; - th.toast(content); - t_ok = 0; - } - } - }) + + //-- 如果是普通购买的时候,此时计算的一定是商品的prom_type==0了, (组合购在普通购买的时候,就不判断了,因为组合购本身就可以普通购买)--- + if(!good.is_collocation && !good.is_gift && good.is_pd_normal!=2 && gg.prom_type!=7 ){ + + var promgoodsbuynum0=0; + //---要获得商品,该用户买了多少件,同步应用--- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: { + store_id: os.stoid, + user_id: user_id, + goods_id: good.goods_id, + prom_type: gg.prom_type, + prom_id: gg.prom_id + }, + }).then(res => { + var buy_num_data = res.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + }) + + var t_ok = 1; + if(good.prom_type != gg.prom_type && good.prom_id != gg.prom_id){ + //如果商品有单独的活动的是偶 + switch (gg.prom_type){ + case 5: + case 10: + var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + th.toast(content); + t_ok = 0; + break; + //-- 优惠促销是有限购的 -- + case 3: + var prom=null; + var yh_check=1; + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { prom = res.data.data; } + }) + if (prom && prom.limit_num) { + var limit_num = prom.limit_num; + var user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id) + if (limit_num>0 && user_pre_buynum >= limit_num) { + yh_check=0; + } + } + //-- 优惠促销活动没有超出限购的话 -- + if(yh_check){ + var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + th.toast(content); + t_ok = 0; + break; + } + + break + case 7: + //获取组合购活动 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + gg.prom_id + "/" + getApp().globalData.userInfo.user_id; + let zh_buy_info=null + await getApp().request.promiseGet(url, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + zh_buy_info = res.data.data + } + }) + //判断活动超出限购 + var is_act_ok=1; + let userbuynum = await th.getUserBuyPromNum(gg.prom_id) + if (zh_buy_info.buy_limit !=0 && zh_buy_info && userbuynum >= zh_buy_info.buy_limit) { + is_act_ok=0; + } + + //判断活动商品超出限购,在从表 + var url1 = "/api/weshop/prom/zhbuyGoods/page"; + var req_data = { + page: 1, + pageSize: 1, + store_id: os.stoid, + zh_id: gg.prom_id, + goods_id: gg.goods_id + } + await getApp().request.promiseGet(url1, { + data: req_data + }).then(res => { + if (ut.ajax_ok(res)) { + var gdlist = res.data.data.pageData[0]; + gg.buyqty = gdlist.buyqty; + } + }) + var num = gg['buyqty']; + //---- 要计算商品的限购 ----- + if (gg['buyqty'] > 0) { + if (gg.goods_num + promgoodsbuynum0 > gg['buyqty']) { + is_act_ok=0; + } + } + if(is_act_ok){ + var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + th.toast(content); + t_ok = 0; + break; + } + } + } + } + //-- 判断活动是不是OK -- if (!t_ok) { - th.setData({ paying: 0 }); return false; + th.setData({ paying: 0 }); return false; } - } - //-- 如果有参加线下取价 -- - if (good.offline_cut > 0) wlist += encodeURIComponent(gg.erpwareid) + ","; + + // if (!good.is_gift && good.prom_type != 3) { + // var t_ok = 1; + // await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/0" + "/" + getApp().globalData.user_id, {}).then(res => { + // if (res.data.code == 0) { + // var r_data = res.data.data; + // //-- 参加了全局的优惠活动 -- + // if (r_data.promGoodsLists) { + // var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; + // th.toast(content); + // t_ok = 0; + // } + // } + // }) + // if (!t_ok) { + // th.setData({ paying: 0 }); return false; + // } + // } + //-- 如果有参加线下取价 -- + if (good.offline_cut > 0) wlist += encodeURIComponent(gg.erpwareid) + ","; } //赠品和搭配购不判断商品金额 var isok = 1; @@ -1047,11 +1140,10 @@ Page({ ob = obj; }) if (ob.code == -1) { - - var content = gg.goods_name + '门店库存不足,请取消订单'; - th.toast(content); - th.setData({ paying: 0 }); - return false; + var content = gg.goods_name + '门店库存不足,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; } } else { @@ -1076,7 +1168,6 @@ Page({ } }) } - if (goodsinfo.prom_type == 2) { await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + good.goods_id + "/" + goodsinfo.prom_id, {}).then(res => { if (res.data.code == 0) { @@ -1086,7 +1177,6 @@ Page({ }) } - if (goodsinfo.prom_type == 6 && !good.is_pd_normal) { await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + goodsinfo.prom_id, {}).then(res => { if (res.data.code == 0) { @@ -1104,7 +1194,6 @@ Page({ } }) } - //----------如果有活动,并且在进行中,就不计算线下库存--------------- if (prom) { var now = ut.gettimestamp(); @@ -1158,6 +1247,113 @@ Page({ } } + + //-- 预售和幸运购要单独计算 -- + if (goodsinfo.prom_type == 8) { + var presell_id= goodsinfo.prom_id; + //------获取预售主表,判断预售活动是不是到期不可以使用了---------- + var res= await getApp().request.promiseGet(`/api/weshop/marketing/marketingPresellForm/get/${os.stoid}/${presell_id}`, {}) + if (res.data.code == 0 && res.data.data) { + var act_data = res.data.data; + if (act_data.is_end) { + wx.showToast({ title: "活动已经结束", icon: 'none', duration: 3000 }); + return false; + } + if (act_data.isuse == 0) { + wx.showToast({ title: "活动未启用", icon: 'none', duration: 3000 }); + return false; + } + + var err_txt = "活动定金时间已经结束"; + var end_time = act_data.end_time; + if (act_data.presell_type == 1) { + err_txt = "活动时间已经结束"; + } + if (end_time < ut.gettimestamp()) { + wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); + return false; + } + + if (act_data.presell_type == 0) { + end_time = act_data.pay_enddate; + err_txt = "活动尾款时间已经结束"; + } + if (end_time < ut.gettimestamp()) { + wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); + return false; + } + } + + var all_pre_goods=null; + var userInfo = getApp().globalData.userInfo; + var pre_data = { store_id: os.stoid, is_end: 0, timetype: 1, isuse: 1, goods_id: goodsinfo.goods_id }; + if (userInfo) { + pre_data.user_id = userInfo.user_id; + } + var rs_pre= await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellList/page", { + data: pre_data, + }) + if (rs_pre.data.code == 0 && rs_pre.data.data.pageData && rs_pre.data.data.pageData.length > 0) { + all_pre_goods = rs_pre.data.data.pageData; + } + + if(!all_pre_goods){ + wx.showToast({ title: "未找到活动商品", icon: 'none', duration: 3000 }); + return false; + } + var idx = all_pre_goods.findIndex(function (ele) { + return ele.goods_id == goodsinfo.goods_id; + }) + + if(idx==-1){ + wx.showToast({ title: "未找到活动商品", icon: 'none', duration: 3000 }); + return false; + } + var pre_arr = all_pre_goods[idx]; + var prom_buy_limit = pre_arr.vip_butyqty; + + if (goods.goods_num > th.data.pre_arr.presell_sumqty - th.data.pre_arr.buy_goodnum) { + wx.showToast({ title: "超出活动商品库存", icon: 'none', duration: 3000 }); + return false; + } + //--判断商品是否超出活动限购-- + if (promgoodsbuynum0 && prom_buy_limit > 0) { + wx.showToast({ title: "超出活动商品库存", icon: 'none', duration: 3000 }); + return false; + } + + } + //幸运购的时候 + if (goodsinfo.prom_type == 9 && !good.is_pt_normal) { + + var lk_act=null; + //获取单个活动成团信息 + var lk_rs= await getApp().request.promiseGet('/api/weshop/prom/luckyActivity/page', { + data: { + store_id: os.stoid, + is_end: 0, + timetype: 1, + id: goodsinfo.prom_id, + } + }); + + if(lk_rs && ut.ajax_ok(lk_rs)){ + lk_act= lk_rs.data.data.pageData[0]; + } + if(!lk_act){ + wx.showToast({ title: "未找到活动,或者活动已结束", icon: 'none', duration: 3000 }); + th.setData({ paying: 0 }); + return false; + } + // 检查幸运购活动商品库存 + var lk_redis=await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/9/" + goodsinfo.prom_id,{}); + if(!lk_redis || lk_redis