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 => { | ... | ... |