diff --git a/components/serviceCard_list/serviceCard_list.js b/components/serviceCard_list/serviceCard_list.js index 6eab492..d739f02 100644 --- a/components/serviceCard_list/serviceCard_list.js +++ b/components/serviceCard_list/serviceCard_list.js @@ -153,11 +153,11 @@ Component({ }) }, - go_url:function (e) { + go_url:async function (e) { var gid = e.currentTarget.dataset.gid; var rurl = '/api/weshop/activitylist/listGoodActInfo2New'; var req_d = { - "store_id": app.globalData.setting.stoid, + "store_id": os.stoid, "goods_id": gid, "user_id": getApp().globalData.user_id, "goods_type":1 @@ -192,7 +192,7 @@ Component({ } - app.goto(url); + getApp().goto(url); } }, diff --git a/packageA/pages/activity_share/activity_share.js b/packageA/pages/activity_share/activity_share.js index efeaffa..8d774ed 100644 --- a/packageA/pages/activity_share/activity_share.js +++ b/packageA/pages/activity_share/activity_share.js @@ -171,6 +171,12 @@ Page({ let goods_id = item.goods_id; let price = item.presell_money; let url = `packageC/pages/presell/goodsInfo/goodsInfo?goods_id=${goods_id}&pre_id=${pre_id}`; + + //如果是服务卡项的时候 + if(item.goods_type==1){ + url = `packageC/pages/presell/cardInfo/goodsInfo?goods_id=${goods_id}&pre_id=${pre_id}`; + } + let title = item.goods_name; let img = this.data.url + item.original_img; let ind = 9; @@ -240,26 +246,41 @@ Page({ if(item){ var price = item.price; if(!price) price=item.shop_price; + item.prom_id=item.id; + var url=''; + switch(th.data.currentIndex){ - case 0: item.prom_type=1;break; - case 1: item.prom_type=6;break; - case 2: - if(th.data.currentIndex2==1) item.prom_type = 5; - if(th.data.currentIndex2==2) { - item.prom_type = 3; - item.id=item.prom_id; - }; - break; - case 5: - item.prom_type = 2; - break; - } + case 0: + item.prom_type=1; + //服务卡项的时候 + if(item.goods_type>0) + url="/packageA/pages/goodsInfo/goodsInfo?goods_id=" + item.goods_id+"&prom_type=1&prom_id="+item.prom_id; + break; + case 1: + item.prom_type=6; + //服务卡项的时候 + if(item.goods_type>0) + url="/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id=" + item.goods_id+"&prom_type="+item.prom_type+"&prom_id="+item.prom_id; + break; + case 2: + if(th.data.currentIndex2==1) item.prom_type = 5; + if(th.data.currentIndex2==2) { + item.prom_type = 3; + item.id=item.prom_id; + } + break; + case 5: + item.prom_type = 2; + //服务卡项的时候 + if(item.goods_type>0) + url="/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id=" + item.goods_id+"&prom_id="+item.prom_id; + break; + } - item.prom_id=item.id; var title= item.goods_name; var img=this.data.url+item.original_img; - var url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + item.goods_id+"&prom_type="+item.prom_type+"&prom_id="+item.prom_id; + if(!url) url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + item.goods_id+"&prom_type="+item.prom_type+"&prom_id="+item.prom_id; if(getApp().globalData.user_id){ url+="&first_leader="+getApp().globalData.user_id; } @@ -689,15 +710,53 @@ Page({ that.setData({ canvasHidden: false,share_hidden:1 }) - - var app = getApp(); - var unit = that.data.screenWidth / 750 * 1.35; //基础单位, + + var app = getApp(); + var unit = that.data.screenWidth / 750 * 1.35; //基础单位, var prom_type=0; var prom_id=th.data.share_good.id; + + var scene=''; + var goods_path='pages/goods/goodsInfo/goodsInfo'; + var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0; + switch(th.data.currentIndex){ - case 0: prom_type=1;break; - case 1: prom_type=6;break; + case 0: + prom_type=1; + //服务卡项的时候 + if(th.data.share_good.goods_type>0){ + + scene = th.data.share_good.goods_id; + if (user_id > 0) { + scene += "_" + user_id; + }else{ + scene += "_0"; + } + scene += "_0"; + scene += "_" + 1+"_"+prom_id; + + goods_path='packageA/pages/goodsInfo/goodsInfo'; + + } + break; + case 1: + prom_type=6; + //服务卡项的时候 + if(th.data.share_good.goods_type>0){ + + scene =th.data.share_good.goods_id+''; + if (user_id > 0) { + scene += "_" + user_id; + }else{ + scene += "_0"; + } + scene += "_0"; + scene += "_6"; + scene += "_"+prom_id; + goods_path='packageA/pages/serviceCard_pd/goodsInfo/goodsInfo'; + } + break; case 2: if(th.data.currentIndex2==1) prom_type = 5; if(th.data.currentIndex2==2){ @@ -705,23 +764,43 @@ Page({ prom_id=th.data.share_good.prom_id; } break; - } + case 5: + prom_type = 2; + //服务卡项的时候 + if(th.data.share_good.goods_type>0){ + scene =th.data.share_good.goods_id+''; + if (user_id > 0) { + scene += "_" + user_id; + }else{ + scene += "_0"; + } + scene += "_0"; + scene += "_" +prom_id; + + goods_path='packageG/pages/group_buy/goodsInfo/goodsInfo'; + } + break + } - var scene = th.data.share_good.goods_id+""; - scene+="."+prom_type+"."+prom_id; - var user_id=getApp().globalData.user_id?getApp().globalData.user_id:0; - if(user_id>0){ - scene+="_"+user_id; + if(!scene){ + scene = th.data.share_good.goods_id+""+"."+prom_type+"."+prom_id; + if(user_id>0){ + scene+="_"+user_id; + } } - + + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + + os.stoid + "?sceneValue=" + scene + "&pageValue="+goods_path; + + console.log(path3); + var ind=3; if(that.data.currentIndex==1){ ind=4; } - //-- 价格 -- var pri0 = th.data.share_good.shop_price; if (th.data.share_good.price) @@ -732,10 +811,6 @@ Page({ th.insert_act_share(th.data.share_good.title,th.data.share_good.id,ind,th.data.share_good.goods_sn,pri0); //插入分享 } - ///二微码 - var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + - os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; - //读取文件成功则OK-- wx.getImageInfo({ src: path3, @@ -1306,23 +1381,49 @@ Page({ go_goods: function (e) { var index = e.currentTarget.dataset.index; var item = this.data.list[index]; - var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + item.goods_id; + var url=''; - switch(this.data.currentIndex){ - case 0: item.prom_type = 1;break; - case 1: item.prom_type = 6;break; + switch (this.data.currentIndex) { + case 0: + item.prom_type = 1; + break; + case 1: + item.prom_type = 6; + break; case 2: - if(th.data.currentIndex2==1) item.prom_type = 5; - if(th.data.currentIndex2==2) item.prom_type = 3; + if (th.data.currentIndex2 == 1) item.prom_type = 5; + if (th.data.currentIndex2 == 2) item.prom_type = 3; break; case 5: - item.prom_type = 2;break; + item.prom_type = 2; + break; } - item.prom_id = item.id; - url+="&prom_type="+item.prom_type+"&prom_id="+item.prom_id + item.prom_id = item.id; - getApp().goto(url); + //-- 秒杀,拼单,团购,预售 -- + if(item.goods_type>0){ + switch (item.prom_type){ + case 1: //秒杀 + url = "/packageA/pages/goodsInfo/goodsInfo?goods_id=" + item.goods_id; + break; + case 2: //团购 + url = '/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id=' + item.goods_id; + break; + case 6: //拼单 + url="/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id=" + item.goods_id + break; + case 8: //预售 + url = `pageValue=packageC/pages/presell/cardInfo/goodsInfo?goods_id=${item.goods_id}&pre_id=${item.id}`; + break; + } + + + }else { + url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + item.goods_id; + } + url += "&prom_type=" + item.prom_type + "&prom_id=" + item.prom_id + getApp().goto(url); }, go_coll_good:function(e){ diff --git a/packageA/pages/cart2_ser/cart2_ser.js b/packageA/pages/cart2_ser/cart2_ser.js index 2efb86b..28116fa 100644 --- a/packageA/pages/cart2_ser/cart2_ser.js +++ b/packageA/pages/cart2_ser/cart2_ser.js @@ -535,7 +535,7 @@ Page({ return false; } - if (gg.prom_type == 1 && gg.is_pd_normal == 0) { + if ((gg.prom_type == 1 && gg.is_pd_normal == 0) || gg.prom_type == 2) { // 秒杀活动购买 var goods = { 'card_id': gg.service_id, @@ -565,7 +565,6 @@ Page({ if(getApp().globalData.skinface_id){ goods.skinface_id=getApp().globalData.skinface_id; } - //--导购分享过来的id-- if (gg.guide_id) { @@ -579,10 +578,11 @@ Page({ goods.guide_sn = res.data.data.salesman_no; } }) - } - if (gg.groupchat_id) { - goods.groupchat_id=gg.groupchat_id - } + } + + if (gg.groupchat_id) { + goods.groupchat_id=gg.groupchat_id + } item.list.push(goods); } } @@ -619,23 +619,23 @@ Page({ //--导购分享过来的id-- if (gg.guide_id) { - goods.guide_id = gg.guide_id; - goods.guide_type = gg.guide_type; - //调用接口判断是不是会员 - await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then( - res => { - if (res.data.code == 0) { - goods.guide_name = res.data.data.salesman; - goods.guide_sn = res.data.data.salesman_no; - } - }) - } - - if(gg.groupchat_id){ - goods.groupchat_id=gg.groupchat_id - } - console.log('goooooooooooooooooods', goods); - item.list.push(goods); + goods.guide_id = gg.guide_id; + goods.guide_type = gg.guide_type; + //调用接口判断是不是会员 + await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then( + res => { + if (res.data.code == 0) { + goods.guide_name = res.data.data.salesman; + goods.guide_sn = res.data.data.salesman_no; + } + }) + } + + if(gg.groupchat_id){ + goods.groupchat_id=gg.groupchat_id + } + console.log('goooooooooooooooooods', goods); + item.list.push(goods); } @@ -835,4 +835,37 @@ Page({ }, + //立即购买的点击跳转 + go_view(){ + if(!this.data.postdata.prom_type) this.data.postdata.prom_type=0; + let url='packageA/pages/goodsInfo/goodsInfo?goods_id='+this.data.postdata.id; + switch(this.data.postdata.prom_type){ + case 1: + url+= '&prom_id='+this.data.postdata.prom_id+'&prom_type=1'; + break; + case 2: + url="/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id="+this.data.postdata.id+"&prom_id="+this.data.postdata.prom_id; + break + } + getApp().goto(url); + }, + + //购物车购买的点击跳转 + go_cart_view(e){ + let idx = e.currentTarget.dataset.idx; + let pidx=e.currentTarget.dataset.pidx; + let item=this.data.cartlist[pidx].goods[idx]; + let url='packageA/pages/goodsInfo/goodsInfo?goods_id='+this.data.postdata.id; + switch(item.prom_type){ + case 1: + url+= '&prom_id='+item.prom_id+'&prom_type=1'; + break; + case 2: + url="/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id="+item.service_id+"&prom_id="+item.prom_id; + break + } + getApp().goto(url); + + } + }); diff --git a/packageA/pages/cart2_ser/cart2_ser.wxml b/packageA/pages/cart2_ser/cart2_ser.wxml index 45890cd..9d97efb 100644 --- a/packageA/pages/cart2_ser/cart2_ser.wxml +++ b/packageA/pages/cart2_ser/cart2_ser.wxml @@ -10,14 +10,14 @@ {{item.pname}} - + - + {{items.service_name}} @@ -33,12 +33,12 @@ {{bn_pickname}} - + - + {{bn_goods.serviceName}} diff --git a/packageA/pages/goodsInfo/goodsInfo.js b/packageA/pages/goodsInfo/goodsInfo.js index d99a0e6..00ec2fa 100644 --- a/packageA/pages/goodsInfo/goodsInfo.js +++ b/packageA/pages/goodsInfo/goodsInfo.js @@ -265,8 +265,13 @@ Page({ }; if(gid_str.length>3 && gid_str[3] && parseInt(gid_str[3])>0) { - prom_type=gid_str[3]; - prom_id=gid_str[4]; + prom_type= parseInt(gid_str[3]); + prom_id=parseInt(gid_str[4]); + + th.setData({ + 'options.prom_type':prom_type, + 'options.prom_id':prom_id + }) } }; diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js index c2d1534..1288232 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js @@ -267,10 +267,12 @@ Page({ if (gid_str.length > 2 && gid_str[2]) { room_id = parseInt(gid_str[2]); room_user_share = 1; - that.data.options.room_id=room_id; + } + if (gid_str.length > 3 && gid_str[3]){ that.data.options.prom_type= parseInt(gid_str[3]); that.data.options.prom_id=parseInt(gid_str[4]); + } this.setData({options: that.data.options}); diff --git a/packageE/pages/cart/cart2/zh_calculate.js b/packageE/pages/cart/cart2/zh_calculate.js index f240e6f..67160a6 100644 --- a/packageE/pages/cart/cart2/zh_calculate.js +++ b/packageE/pages/cart/cart2/zh_calculate.js @@ -379,7 +379,6 @@ module.exports = { c_item.offline_price = offline_price; c_item.offline_num = offline_num; } - }, //筛选组合购,纯粹的数组按活动id分组 find_split: function (arr) { diff --git a/packageG/pages/group_buy/goodsInfo/goodsInfo.js b/packageG/pages/group_buy/goodsInfo/goodsInfo.js index 4721898..94f9100 100644 --- a/packageG/pages/group_buy/goodsInfo/goodsInfo.js +++ b/packageG/pages/group_buy/goodsInfo/goodsInfo.js @@ -887,39 +887,39 @@ Page({ is_ok = 0; return false; } else { + + if(curNum>redisNums){ + getApp().my_warnning('超出活动库存', 0, self); + is_ok = 0; + return false; + } // 可购买数量>0 // 计算自己还可以购买的数量 // 自己还可购买的数量c = 每人活动限购数量a - 自己已经购买的数量b // 如果限购数量a>redis可购买数量d,当增加数量t>d, 提示超出库存 // 如果限购数量a<=redis可购买数量d, 当增加数量t>a,提示超出限购 let actInfo = th.data.sele_g; - await th.get_buy_num2().then(function (data) { - let limited = actInfo.buy_limit == 0 ? 100000 : actInfo.buy_limit; // 限购数量a - let promcardbuynum = data.data.data.promcardbuynum; - let buyedNum = promcardbuynum; // 自己已经购买的数量b - let canBuyNum = limited - buyedNum; // 自己还可购买的数量c - limitNum = limited; - boughtNum = buyedNum; - - if (canBuyNum <= 0) { - canBuyNum = 0; - } + if(actInfo.buy_limit>0){ + await th.get_buy_num2().then(function (data) { + let limited = actInfo.buy_limit; // 限购数量a + let promcardbuynum = data.data.data.promcardbuynum; + let canBuyNum = limited - promcardbuynum; // 自己还可购买的数量c - if (canBuyNum > res) { - if (curNum > res) { // t当前增减的数量 - // wx.showModal({ - // title: '超出活动库存', - // }); - getApp().my_warnning('超出活动库存', 0, self); - th.setData({ - goodsInputNum: res || 1 - }); - is_ok = 0; - return false; + limitNum = limited; + boughtNum = promcardbuynum; + + if (canBuyNum <= 0) { + canBuyNum = 0; + } + if (canBuyNum > res) { + getApp().my_warnning('超出活动库存', 0, self); + th.setData({ + goodsInputNum: res || 1 + }); + is_ok = 0; + return false; } - } - if (canBuyNum <= res) { if (curNum > canBuyNum) { getApp().my_warnning('超出限购数量', 0, self); th.setData({ @@ -928,9 +928,8 @@ Page({ is_ok = 0; return false; } - } - }) - + }) + } } }) @@ -986,114 +985,41 @@ Page({ //----先看会员在购物车中是否加入了该商品----- getApp().request.get("/api/weshop/cartService/page", { data: { - store_id: os.stoid, - user_id: oo.user_id, - service_id: th.data.data.id, + store_id: os.stoid, + user_id: oo.user_id, + service_id: th.data.data.id, + pick_id: th.data.sto_sele_id }, success: function (re) { //-------如果购物车中有相关的数据--------- - if (re.data.data.total > 0) { + if (ut.ajax_ok(re)) { var item = null; // 多门店问题 var cartGoodsNum = 0; const tmpObj = re.data.data.pageData; for (let i = 0; i < tmpObj.length; i++) { - if (th.data.sto_sele_id != tmpObj[i].pick_id) { + if (tmpObj[i].prom_id == th.data.prom_id && tmpObj[i].prom_type==2) { cartGoodsNum += parseInt(tmpObj[i].goods_num); - } else { - item = tmpObj[i]; } } - // 当前门店同类商品还没加入到购物车 但是有其他门店的同类商品 - if (th.data.prom_type == 1 && !th.data.is_normal && !item) { - - // 秒杀购物车购买 修正数量 - var snum = limitNum - boughtNum; - if (snum <= 0) { - // wx.showModal({ - // title: '超出限购数量', - // }); - getApp().my_warnning('超出限购数量', 0, self); - return false; - } - - var cSnum = snum - cartGoodsNum <= 0 ? 0 : snum - cartGoodsNum; - var cRedisNums = redisNums - cartGoodsNum <= 0 ? 0 : redisNums - cartGoodsNum; - - if (newd['goods_num'] >= redisNums) { - if (redisNums > snum) { - newd['goods_num'] = cSnum; - } else { - newd['goods_num'] = cRedisNums; - } - } else { - if (newd['goods_num'] > snum) newd['goods_num'] = cSnum; - } - - if (newd['goods_num'] <= 0) { - getApp().my_warnning('加入购物车成功', 1, th, 450); - th.closeSpecModal(); - return false; - } - getApp().request.post("/api/weshop/cartService/save", { - data: newd, - success: function (t) { - getApp().my_warnning('加入购物车成功', 1, th, 450); - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; - th.setData({ - cartGoodsNum: c_num - }); - th.closeSpecModal(); - } - }); + // 以下为当前门店同类商品已经加入到购物车 + var totalNum = th.data.goodsInputNum + cartGoodsNum + var snum = limitNum - boughtNum-totalNum; + if (snum < 0 && limitNum>0 ) { + getApp().my_warnning('购物车已经购买了该商品,超出活动限购数量', 0, self); return false; } - - // 以下为当前门店同类商品已经加入到购物车 - var totalNum = th.data.goodsInputNum + item.goods_num; - - // 秒杀购物车购买 修正数量 - if (th.data.prom_type == 1 && !th.data.is_normal) { - var snum = limitNum - boughtNum; - if (snum <= 0) { - // wx.showModal({ - // title: '超出限购数量', - // }); - getApp().my_warnning('超出限购数量', 0, self); - return false; - } - if (totalNum >= redisNums) { - if (redisNums > snum) { - totalNum = snum - cartGoodsNum; - } else { - totalNum = redisNums - cartGoodsNum; - } - } else { - if (totalNum > snum) - totalNum = snum - cartGoodsNum; - } + if (totalNum >= redisNums) { + getApp().my_warnning('购物车已经购买了该商品,超出活动数量', 0, self); + return false; } - var updata = { id: item.id, goods_num: totalNum, money: th.data.data.shop_price, store_id: os.stoid, }; - - // 秒杀:单独购买的情况下,加入购物车显示的是零售价,否则显示秒杀活动价 - if (th.data.options.prom_type == 1) { - // updata['prom_type'] = th.data.options.prom_type; - // updata['prom_id'] = th.data.options.prom_id; - if (th.data.openSpecModal_flash_normal) { - updata['money'] = th.data.data.shop_price; - updata['is_pd_normal'] = 1; - } else { - updata['money'] = th.data.prom_price; - } - ; - } - ; + updata['money'] = th.data.prom_price; if (getApp().globalData.guide_id) { updata['guide_id'] = getApp().globalData.guide_id; @@ -1468,7 +1394,7 @@ Page({ } - var url = "/packageA/pages/goodsInfo/goodsInfo?goods_id=" + th.data.gid; + var url = "/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id=" + th.data.gid+"&prom_id="+th.data.prom_id; if (getApp().globalData.user_id) { url += "&first_leader=" + getApp().globalData.user_id; } @@ -3449,14 +3375,13 @@ Page({ if (!user_id) scene += "_0"; scene += "_0"; } - if (this.data.prom_type) { - scene += "_" + this.data.prom_type + "_" + th.data.prom_id; + if (this.data.prom_id) { + scene += "_" + th.data.prom_id; } - ///二微码 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + - os.stoid + "?sceneValue=" + scene + "&pageValue=packageA/pages/goodsInfo/goodsInfo"; + os.stoid + "?sceneValue=" + scene + "&pageValue=packageG/pages/group_buy/goodsInfo/goodsInfo"; console.log(path3); @@ -3799,12 +3724,12 @@ Page({ scene += "_0"; } if (this.data.prom_type) { - scene += "_" + this.data.prom_type + "_" + th.data.prom_id; + scene += "_" + th.data.prom_id; } ///二微码 var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + - os.stoid + "?sceneValue=" + scene + "&pageValue=packageA/pages/goodsInfo/goodsInfo"; + os.stoid + "?sceneValue=" + scene + "&pageValue=packageG/pages/group_buy/goodsInfo/goodsInfo"; console.log(path3); diff --git a/packageG/pages/group_buy/goodsInfo/goodsInfo.wxml b/packageG/pages/group_buy/goodsInfo/goodsInfo.wxml index 67a4a91..c7507a5 100644 --- a/packageG/pages/group_buy/goodsInfo/goodsInfo.wxml +++ b/packageG/pages/group_buy/goodsInfo/goodsInfo.wxml @@ -517,7 +517,7 @@ - {{cartGoodsNum}} + 购物车 diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 73558ab..36ef7bd 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -1029,15 +1029,33 @@ Page({ } } - if (item.prom_type == 1) { + + //秒杀和团购都能加入购物车 + if( [1,2].indexOf(item.prom_type)) { var prom = null; var now = ut.gettimestamp(); - await getApp().request.promiseGet('/api/ms/flash_sale/getNew/' + os.stoid + '/' + user_id + '/' + item.prom_id, {}).then(res => { - if (res.data.code == 0) { - prom = res.data.data; - prom.price = prom.user_price; - } - }); + + //获取秒杀 + if(item.prom_type==1) { + await getApp().request.promiseGet('/api/ms/flash_sale/getNew/' + os.stoid + '/' + user_id + '/' + item.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + prom.price = prom.user_price; + } + }); + } + + //获取团购 + if(item.prom_type==2) { + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + item.service_id + "/" + item.prom_id, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + } + }); + } + + + console.log('服务的秒杀信息') console.log(prom) //---如果互动都已经过期,或者还未开始,或者无活动 @@ -3104,9 +3122,9 @@ Page({ [txt]: t.goods_num }); - // 1.秒杀活动 + // 1.秒杀活动 ,团购的活动 // 2.活动开始 - if (t.prom_type == 1 && t.is_pd_normal == 0) { + if((t.prom_type == 1 && t.is_pd_normal == 0) || t.prom_type==2) { var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num"; var redis_num = 0; @@ -3119,7 +3137,6 @@ Page({ if (t.id != v.id) { cartGoodsNum += parseInt(v.goods_num); } - }); } }); @@ -3157,15 +3174,26 @@ Page({ // 限购数量 var buylimit = 0 - await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, { + if(t.prom_type==1) { + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, {}).then(res => { + if (res.data.code == 0) { + th.data.sele_g = res.data.data; + th.data.sele_g.viplimited = res.data.data.buy_limit; + buylimit = !res.data.data.buy_limit ? 0 : res.data.data.buy_limit; + } + }); + } + + if(t.prom_type==2) { + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + t.goods_id + "/" + t.prom_id, {}).then(res => { + if (res.data.code == 0) { + th.data.sele_g = res.data.data; + th.data.sele_g.viplimited = res.data.data.buy_limit; + buylimit = !res.data.data.buy_limit ? 0 : res.data.data.buy_limit; + } + }); + } - }).then(res => { - if (res.data.code == 0) { - th.data.sele_g = res.data.data; - th.data.sele_g.viplimited = res.data.data.buy_limit; - buylimit = !res.data.data.buy_limit ? 0 : res.data.data.buy_limit; - }; - }); //用户已经成功付款购买的数量 var gd_buy_num = 0; @@ -3176,8 +3204,8 @@ Page({ promcardbuynum: !tt.data.data.promcardbuynum ? 0 : tt.data.data.promcardbuynum, cardbuynum: tt.data.data.cardbuynum, }); - }; - }); + } + }) // 剩余购买数 let num = buylimit - gd_buy_num; @@ -4065,35 +4093,105 @@ Page({ } } else { + //进行累计,秒杀和团购的购买数量 + var flash_map = {}; + var group_map = {}; + //-- 开始服务卡的购物车购买 -- for (var i = 0; i < this.data.service_data.length; i++) { var i_arr = this.data.service_data[i].goods; console.log(i_arr) for (var j = 0; j < i_arr.length; j++) { - await rq.promisePut("/api/weshop/cartService/update", { - data: { - id: i_arr[j].id, - selected: i_arr[j].selected, - store_id: oo.stoid + await rq.promisePut("/api/weshop/cartService/update", { + data: { + id: i_arr[j].id, + selected: i_arr[j].selected, + store_id: oo.stoid + } + }); + + //判断秒杀的指定门店 + if( [1,2].includes(i_arr[j].prom_type) && i_arr[j].prom && i_arr[j].prom.pick_up_lists && i_arr[j].selected){ + var idx0=i_arr[j].prom.pick_up_lists.findIndex(function (e){ + return e.pickup_id==i_arr[j].pick_id; + }) + if(idx0<0){ + getApp().confirmBox(i_arr[j].service_name + "秒杀活动的门店不可售"); + th.clear_checkouting(); + return false; + } } - }); + //选中的情况下才进行计算 + if(i_arr[j].selected) { + //进行秒杀和团购的累计 + switch (i_arr[j].prom_type) { + case 1: + if (!flash_map[i_arr[j].prom_id]) { + flash_map[i_arr[j].prom_id] = {prom: i_arr[j].prom, num: i_arr[j].goods_num}; + } else { + flash_map[i_arr[j].prom_id].num += i_arr[j].goods_num; + } + break; + case 2: + if (!group_map[i_arr[j].prom_id]) { + group_map[i_arr[j].prom_id] = {prom: i_arr[j].prom, num: i_arr[j].goods_num}; + } else { + group_map[i_arr[j].prom_id].num += i_arr[j].goods_num; + } + break; + } + } + } + } - //判断秒杀的指定门店 - if(i_arr[j].prom_type==1 && i_arr[j].prom && i_arr[j].prom.pick_up_lists && i_arr[j].selected){ - var idx0=i_arr[j].prom.pick_up_lists.findIndex(function (e){ - return e.pickup_id==i_arr[j].pick_id; - }) - if(idx0<0){ - getApp().confirmBox(i_arr[j].service_name + "秒杀活动的门店不可售"); + //判断flash_map是不是空,同时判断flash prom.buy_limit + if(Object.keys(flash_map).length>0){ + for(let i in flash_map){ + if(flash_map[i].num>flash_map[i].prom.buy_limit && flash_map[i].prom.buy_limit>0){ + getApp().confirmBox(flash_map[i].prom.title + "秒杀活动的超出活动限购"); + th.clear_checkouting(); + return false; + } + let redis_num=0; + //获取当前商品活动库存 + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +oo.stoid + "/1/" + i, { + 1: 1 + }).then(res => { + redis_num = res.data.data; + }); + if(flash_map[i].num>redis_num){ + getApp().confirmBox(flash_map[i].prom.title + "秒杀活动的超出活动数量"); + th.clear_checkouting(); + return false; + } + } + } + //group_map,同时判断group prom.buy_limit + if(Object.keys(group_map).length>0){ + for(let jg in group_map){ + if(group_map[jg].num>group_map[jg].prom.buy_limit && group_map[jg].prom.buy_limit>0){ + getApp().confirmBox(group_map[jg].prom.title + "团购活动的超出活动限购"); + th.clear_checkouting(); + return false; + } + let redis_num=0; + //获取当前商品活动库存 + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +oo.stoid+ "/2/" + jg, { + 1: 1 + }).then(res => { + redis_num = res.data.data; + }); + if(group_map[jg].num>redis_num){ + getApp().confirmBox(group_map[jg].prom.title + "团购活动的超出活动数量"); th.clear_checkouting(); return false; } - } } } + //排除失效服务结算 this.data.invalidList.map(item => { if (item.selected && item.classType == 1) { @@ -5662,7 +5760,51 @@ Page({ + }, + + async go_card(e){ + var gid=e.currentTarget.dataset.gid; + var rurl = '/api/weshop/activitylist/listGoodActInfo2New'; + var req_d = { + "store_id": app.globalData.setting.stoid, + "goods_id": gid, + "user_id": getApp().globalData.user_id, + "goods_type":1 + } + var res= await getApp().request.promiseGet(rurl, {data: req_d}); + + var url = "/packageA/pages/goodsInfo/goodsInfo?goods_id=" + gid; + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + var arr = res.data.data; + let times = new Date().getTime(); + //-- 预热也要计算 -- + var arr2 = arr.filter(function (e) { + return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) + }) + if(arr2.length==1) { + switch(arr2[0].prom_type){ + case 1: + url+="&prom_type=1&prom_id="+arr2[0].act_id; + break; + case 2: + url="/packageG/pages/group_buy/goodsInfo/goodsInfo?goods_id="+gid+"&prom_id="+arr2[0].act_id; + break; + case 6: + url = `/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo?goods_id=${gid}&prom_type=${arr2[0].prom_type}&prom_id=${arr2[0].act_id}`; + break; + case 8: + url = `/packageC/pages/presell/cardInfo/goodsInfo?goods_id=${gid}&prom_id=${arr2[0].act_id}`; + break; + } + } + + } + + + app.goto(url); + } + }); \ No newline at end of file diff --git a/pages/cart/cart/cart.wxml b/pages/cart/cart/cart.wxml index 7161f9a..3c39250 100644 --- a/pages/cart/cart/cart.wxml +++ b/pages/cart/cart/cart.wxml @@ -284,13 +284,13 @@ - + - {{items.service_name}} + {{items.service_name}} {{items.goods_num}}件