Commit ed515d8acd4fb9a55cf2c90bf5912b7a511c9311

Authored by 前端开发-罗建龙
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 => {
... ...