diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index bf16dac..ddf8ea7 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -753,12 +753,28 @@ Page({ item1.is_post_temp=res.data.data.is_post_temp; } }) - } - + } + //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠 if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) { - // th.check_is_youhui(item1.goods_id, item1.pick_id); - await th.add_prom_goods_map(item1); + // th.check_is_youhui(item1.goods_id, item1.pick_id); + //增加优惠活动次数限制 + let limit_num= await th.getprom(item1.prom_id) //活动限制次数 + + if(!limit_num){ + await th.add_prom_goods_map(item1); + item1.prom_id='' + item1.prom_type='' + }else{ + let user_pre_buynum = await th.getUserBuyPromNum_pre(item1.prom_id) //用户已经参与次数 + + if(user_pre_buynum { + getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then( async res => { if (res.data.code == 0) { prom = res.data.data; - let min_value = 0 - if (prom && prom.is_xz_yh) { - let arr = prom.promGoodsList || [] - arr.map(item => { - if (min_value) { - min_value = item.condition - } else { - if (min_value < item.condition) { - min_value = item.condition + if(prom && prom.limit_num*1){ + let user_pre_buynum=await th.getUserBuyPromNum_pre(prom.id) + if (user_pre_buynum>=prom.limit_num) { + arr.prom_price=null; + arr.prom_id=""; + arr.prom_type=""; + func(arr); + }else{ + let min_value = 0 + if (prom && prom.is_xz_yh) { + let arr = prom.promGoodsList || [] + arr.map(item => { + if (min_value) { + min_value = item.condition + } else { + if (min_value < item.condition) { + min_value = item.condition + } + } + }) + if (arr.length > 0) { + if (arr[0].prom_type == 0) { + if (price < min_value) { + prom.is_xz_yh = 0 + } + } else { + if (arr.goods_num < min_value) { + prom.is_xz_yh = 0 + } + } } } - }) - if (arr.length > 0) { - if (arr[0].prom_type == 0) { - if (price < min_value) { - prom.is_xz_yh = 0 + return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { + data: { + price: parseFloat(price).toFixed(2), + prom_id: prom_id, + goods_num: arr.goods_num, + user_id: getApp().globalData.user_id, + is_bz: prom.is_bz } - } else { - if (arr.goods_num < min_value) { - prom.is_xz_yh = 0 + }) + } + }else{ + let min_value = 0 + if (prom && prom.is_xz_yh) { + let arr = prom.promGoodsList || [] + arr.map(item => { + if (min_value) { + min_value = item.condition + } else { + if (min_value < item.condition) { + min_value = item.condition + } + } + }) + if (arr.length > 0) { + if (arr[0].prom_type == 0) { + if (price < min_value) { + prom.is_xz_yh = 0 + } + } else { + if (arr.goods_num < min_value) { + prom.is_xz_yh = 0 + } } } } + //------------------- + return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { + data: { + price: parseFloat(price).toFixed(2), + prom_id: prom_id, + goods_num: arr.goods_num, + user_id: getApp().globalData.user_id, + is_bz: prom.is_bz + } + }) } - - //------------------- - return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { - data: { - price: parseFloat(price).toFixed(2), - prom_id: prom_id, - goods_num: arr.goods_num, - user_id: getApp().globalData.user_id, - is_bz: prom.is_bz - } - }) } else { func(arr); } @@ -5644,6 +5703,30 @@ Page({ func(arr); }) }, + //优惠促销用户参与次数 + async getUserBuyPromNum_pre(prom_id){ + var userInfo = getApp().globalData.userInfo; + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`; + let res = await getApp().request.promiseGet(url, { + data:{} + }); + let user_pre_buynum=0 + if(res.data.code==0 && res.data.data){ + user_pre_buynum=res.data.data.userbuynum + } + return user_pre_buynum + }, + //获取优惠活动 + async getprom(prom_id){ + let limit_num=0 + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + oo.stoid + "/" + prom_id, {}).then(res => { + if (res.data.code == 0) { + let prom = res.data.data; + limit_num =prom.limit_num + } + }) + return limit_num + }, //--检查订单优惠-- check_is_order_prom: function (condition, func, pick) { var th = this; @@ -5666,7 +5749,7 @@ Page({ var pickid = item.pick_id; var map = th.data.prom_goods_map; var obj = map[pickid]; - + if (map[pickid]) { if (map[pickid][item.prom_id]) { @@ -5685,6 +5768,7 @@ Page({ } else { var prom = null; + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { if (res.data.code == 0) { prom = res.data.data; @@ -5729,6 +5813,7 @@ Page({ } else { var ob = {}; var prom = null; + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { if (res.data.code == 0) { prom = res.data.data; diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 3259a8e..ba03ab5 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -3837,12 +3837,19 @@ Page({ if (th.data.promgoods_map[p_item[0]]) { prom = th.data.promgoods_map[p_item[0]]; } else { + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + p_item[0], {}).then(res => { if (res.data.code == 0) { prom = res.data.data; } }) } + let limit_num=0 + let user_pre_buynum=0 + if (prom && prom.limit_num) { + limit_num=prom.limit_num; + user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id) + } //如果活动已经结束 if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) { for (var ii in list.goods) { @@ -3856,7 +3863,7 @@ Page({ } continue; } - + if (!th.data.promgoods_map[p_item[0]]) th.data.promgoods_map[p_item[0]] = prom; //---读取打折的详情--- var ob = p_item[1]; @@ -3880,36 +3887,37 @@ Page({ if (!promgoods_list) continue; th.data.promgoods_list[p_item[0]] = promgoods_list; } - - for (var i in promgoods_list) { - var item = promgoods_list[i]; - if (item.prom_type == 0) { - if (ob.price < item.condition) { - var elem = { - prom_id: prom.id, - diff_type: item.prom_type, - diff: (item.condition - ob.price).toFixed(2), - content: JSON.parse(item.preferential_type) + + if (!limit_num || user_pre_buynum 0) { @@ -7475,7 +7490,10 @@ Page({ } } } - + //获取用户参与优惠促销的次数 + if(con && con.prom_id){ + await this.getUserBuyPromNum_pre(con.prom_id); + } this.setData({ hui_condition: con }); diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index cecfc93..f97e93f 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -507,7 +507,7 @@ - 消费满{{item.condition}}{{item.prom_type==1 ? '件':'元'}}享优惠 + 消费满{{item.condition}}{{item.prom_type==1 ? '件':'元'}}享优惠(每人{{item.limit_num ? '限参与'+item.limit_num+'次' : '参与不限次' }}) @@ -1344,7 +1344,7 @@ - + 再买{{hui_condition.need}} ,免{{hui_condition.money}}元 ,打{{hui_condition.sale}}折 diff --git a/pages/goods/goodsList/goodsList.js b/pages/goods/goodsList/goodsList.js index dbe1a0e..a818400 100644 --- a/pages/goods/goodsList/goodsList.js +++ b/pages/goods/goodsList/goodsList.js @@ -41,6 +41,7 @@ Page({ fil_nation_state:0, fil_brand_state:0, fil_price_state:0, + limit_num:0, }, onLoad: function(t) { @@ -125,6 +126,9 @@ Page({ th.set_prom_list(arr); } }) + if (t.prom_id) { + this.getprom(t.prom_id) + } } //--- 阶梯优惠活动的凑单 --- @@ -236,7 +240,18 @@ Page({ onShow:function () { getApp().check_can_share(); }, - + //获取优惠活动 + async getprom(prom_id){ + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + oo.stoid + "/" + prom_id, {}).then(res => { + if (res.data.code == 0) { + let prom = res.data.data; + let limit_num =prom.limit_num + this.setData({ + limit_num + }) + } + }) + }, //设置优惠券的 set_prom_list:async function(arr){ var th=this; diff --git a/pages/goods/goodsList/goodsList.wxml b/pages/goods/goodsList/goodsList.wxml index 5f41d31..a43abc3 100644 --- a/pages/goods/goodsList/goodsList.wxml +++ b/pages/goods/goodsList/goodsList.wxml @@ -1,8 +1,10 @@ + + 每人限参与{{limit_num}}次; 满{{item.condition}} 减{{item.content.money}}元 打{{item.content.sale}}折