diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 38659de..42be342 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -3196,6 +3196,9 @@ Page({ var ab = 0; //选中 wx.showLoading(); let checkArr7 = [];//组合购选中的数据 + + let checkObj3={};//优惠促销次数判断 + // let checkOff=false for (var i = 0; i < this.data.requestData.length; i++) { var i_arr = this.data.requestData[i].goods; @@ -3212,6 +3215,14 @@ Page({ checkArr7.push(i_arr[j]) } } + //优惠活动次数限制 + if (i_arr[j].prom_type==3) { + if (checkObj3[i_arr[j].prom_id]) { + checkObj3[i_arr[j].prom_id]+=1 + }else{ + checkObj3[i_arr[j].prom_id]=1 + } + } //map 的key是不会重复,会覆盖,, var ie = { goods_id: i_arr[j].goods_id, @@ -3235,14 +3246,17 @@ Page({ } glist += i_arr[j].goods_id + ","; ab = 1; + //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存--- if ((i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3 || i_arr[j].prom_type == 5 || i_arr[j].prom_type == 7 || i_arr[j].need_downlow_num) && th.data.sales_rules >= 2 && i_arr[j].is_gift != 1 && !i_arr[j].whsle_id) { //--获取商品的线下商品ID-- + var gd = null; await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id, {}).then(res => { if (res.data.code == 0) gd = res.data.data; }) + //--判断商品是线下库存-- var ob = {} await th.check_down_line_next(i_arr[j], i, j, gd.erpwareid, function (rs) { @@ -3255,6 +3269,7 @@ Page({ } var is_ok = 1; + //如果是优惠活动话,要看活动有没有过期 if (i_arr[j].prom_type == 3) { //判断有没有活动 @@ -3289,6 +3304,40 @@ Page({ } } + console.error(checkObj3); + let checkObj3_off=false + + //多门店优惠促销次数控制 + if (this.data.requestData.length>1) { + let checkarr3=Object.keys(checkObj3) + if (checkarr3 && checkarr3.length>0) { + for (let x = 0; x < checkarr3.length; x++) { + let prom=null + let key=checkarr3[x] + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + key, {}).then(res => { + if (res.data.code == 0) { + prom = res.data.data; + } + }) + if (prom && prom.limit_num) { + let user_pre_buynum = await this.getUserBuyPromNum_pre(key) + user_pre_buynum += checkObj3[key] + if (user_pre_buynum>prom.limit_num) { + checkObj3_off=true + } + } + } + } + } + if (checkObj3_off) { + t.my_warnning("已超出优惠促销次数", 0, th); + wx.hideLoading(); + return false + } + + + + if (checkArr7.length > 0) { let checkStr = [] checkArr7.map(item => {