Commit ed515d8acd4fb9a55cf2c90bf5912b7a511c9311
1 parent
8a8c368c
优惠次数优化
Showing
1 changed file
with
49 additions
and
0 deletions
pages/cart/cart/cart.js
... | ... | @@ -3196,6 +3196,9 @@ Page({ |
3196 | 3196 | var ab = 0; //选中 |
3197 | 3197 | wx.showLoading(); |
3198 | 3198 | let checkArr7 = [];//组合购选中的数据 |
3199 | + | |
3200 | + let checkObj3={};//优惠促销次数判断 | |
3201 | + | |
3199 | 3202 | // let checkOff=false |
3200 | 3203 | for (var i = 0; i < this.data.requestData.length; i++) { |
3201 | 3204 | var i_arr = this.data.requestData[i].goods; |
... | ... | @@ -3212,6 +3215,14 @@ Page({ |
3212 | 3215 | checkArr7.push(i_arr[j]) |
3213 | 3216 | } |
3214 | 3217 | } |
3218 | + //优惠活动次数限制 | |
3219 | + if (i_arr[j].prom_type==3) { | |
3220 | + if (checkObj3[i_arr[j].prom_id]) { | |
3221 | + checkObj3[i_arr[j].prom_id]+=1 | |
3222 | + }else{ | |
3223 | + checkObj3[i_arr[j].prom_id]=1 | |
3224 | + } | |
3225 | + } | |
3215 | 3226 | //map 的key是不会重复,会覆盖,, |
3216 | 3227 | var ie = { |
3217 | 3228 | goods_id: i_arr[j].goods_id, |
... | ... | @@ -3235,14 +3246,17 @@ Page({ |
3235 | 3246 | } |
3236 | 3247 | glist += i_arr[j].goods_id + ","; |
3237 | 3248 | ab = 1; |
3249 | + | |
3238 | 3250 | //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存--- |
3239 | 3251 | 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 || |
3240 | 3252 | i_arr[j].need_downlow_num) && th.data.sales_rules >= 2 && i_arr[j].is_gift != 1 && !i_arr[j].whsle_id) { |
3241 | 3253 | //--获取商品的线下商品ID-- |
3254 | + | |
3242 | 3255 | var gd = null; |
3243 | 3256 | await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id, {}).then(res => { |
3244 | 3257 | if (res.data.code == 0) gd = res.data.data; |
3245 | 3258 | }) |
3259 | + | |
3246 | 3260 | //--判断商品是线下库存-- |
3247 | 3261 | var ob = {} |
3248 | 3262 | await th.check_down_line_next(i_arr[j], i, j, gd.erpwareid, function (rs) { |
... | ... | @@ -3255,6 +3269,7 @@ Page({ |
3255 | 3269 | } |
3256 | 3270 | |
3257 | 3271 | var is_ok = 1; |
3272 | + | |
3258 | 3273 | //如果是优惠活动话,要看活动有没有过期 |
3259 | 3274 | if (i_arr[j].prom_type == 3) { |
3260 | 3275 | //判断有没有活动 |
... | ... | @@ -3289,6 +3304,40 @@ Page({ |
3289 | 3304 | } |
3290 | 3305 | } |
3291 | 3306 | |
3307 | + console.error(checkObj3); | |
3308 | + let checkObj3_off=false | |
3309 | + | |
3310 | + //多门店优惠促销次数控制 | |
3311 | + if (this.data.requestData.length>1) { | |
3312 | + let checkarr3=Object.keys(checkObj3) | |
3313 | + if (checkarr3 && checkarr3.length>0) { | |
3314 | + for (let x = 0; x < checkarr3.length; x++) { | |
3315 | + let prom=null | |
3316 | + let key=checkarr3[x] | |
3317 | + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + key, {}).then(res => { | |
3318 | + if (res.data.code == 0) { | |
3319 | + prom = res.data.data; | |
3320 | + } | |
3321 | + }) | |
3322 | + if (prom && prom.limit_num) { | |
3323 | + let user_pre_buynum = await this.getUserBuyPromNum_pre(key) | |
3324 | + user_pre_buynum += checkObj3[key] | |
3325 | + if (user_pre_buynum>prom.limit_num) { | |
3326 | + checkObj3_off=true | |
3327 | + } | |
3328 | + } | |
3329 | + } | |
3330 | + } | |
3331 | + } | |
3332 | + if (checkObj3_off) { | |
3333 | + t.my_warnning("已超出优惠促销次数", 0, th); | |
3334 | + wx.hideLoading(); | |
3335 | + return false | |
3336 | + } | |
3337 | + | |
3338 | + | |
3339 | + | |
3340 | + | |
3292 | 3341 | if (checkArr7.length > 0) { |
3293 | 3342 | let checkStr = [] |
3294 | 3343 | checkArr7.map(item => { | ... | ... |