Commit 937fb8b4ea30c07e73f03d32e305b76616881d53
1 parent
1ca5e1b6
fix购物车服务卡限购和库存
Showing
1 changed file
with
38 additions
and
15 deletions
pages/cart/cart/cart.js
@@ -1150,9 +1150,10 @@ Page({ | @@ -1150,9 +1150,10 @@ Page({ | ||
1150 | var e = { | 1150 | var e = { |
1151 | goods_num: a.goods_num - 1, | 1151 | goods_num: a.goods_num - 1, |
1152 | id: a.id, | 1152 | id: a.id, |
1153 | - goods_id: a.goods_id, | 1153 | + goods_id: a.service_id, |
1154 | store_id: oo.stoid | 1154 | store_id: oo.stoid |
1155 | }; | 1155 | }; |
1156 | + | ||
1156 | this.postCardList_ser(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); | 1157 | this.postCardList_ser(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); |
1157 | } | 1158 | } |
1158 | }, | 1159 | }, |
@@ -2025,13 +2026,36 @@ Page({ | @@ -2025,13 +2026,36 @@ Page({ | ||
2025 | e.setData({ | 2026 | e.setData({ |
2026 | [txt]: t.goods_num | 2027 | [txt]: t.goods_num |
2027 | }); | 2028 | }); |
2028 | - | ||
2029 | - | 2029 | + |
2030 | + | ||
2031 | + | ||
2030 | if(t.prom_type == 1) { | 2032 | if(t.prom_type == 1) { |
2031 | var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num"; | 2033 | var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num"; |
2032 | var redis_num = 0; | 2034 | var redis_num = 0; |
2033 | 2035 | ||
2034 | - //------判断活动是否抢光----- | 2036 | + // 获取其他门店,同类商品的数量 |
2037 | + var cartGoodsNum = 0; | ||
2038 | + await getApp().request.promiseGet("/api/weshop/cartService/page?store_id="+t.store_id+"&user_id="+getApp().globalData.user_id+"&service_id="+t.goods_id, | ||
2039 | + { }).then(res => { | ||
2040 | + if (res.data.data.pageData.length > 0) { | ||
2041 | + const tmpObj = res.data.data.pageData; | ||
2042 | + tmpObj.forEach(v => { | ||
2043 | + if (t.id != v.id) { | ||
2044 | + cartGoodsNum += parseInt(v.goods_num); | ||
2045 | + } | ||
2046 | + | ||
2047 | + }); | ||
2048 | + } | ||
2049 | + }); | ||
2050 | + // 当前商品数量包括其他门店 | ||
2051 | + var totalNum = 0 | ||
2052 | + if (cartGoodsNum > 0) { | ||
2053 | + totalNum = t.goods_num + cartGoodsNum; | ||
2054 | + } else { | ||
2055 | + totalNum = t.goods_num; | ||
2056 | + } | ||
2057 | + | ||
2058 | + //获取当前商品活动库存 | ||
2035 | await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + | 2059 | await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + |
2036 | t.store_id + "/" + t.prom_type + "/" + t.prom_id, { | 2060 | t.store_id + "/" + t.prom_type + "/" + t.prom_id, { |
2037 | 1: 1 | 2061 | 1: 1 |
@@ -2050,19 +2074,19 @@ Page({ | @@ -2050,19 +2074,19 @@ Page({ | ||
2050 | return false; | 2074 | return false; |
2051 | }; | 2075 | }; |
2052 | 2076 | ||
2077 | + // 限购数量 | ||
2053 | var buylimit = 0 | 2078 | var buylimit = 0 |
2054 | await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, { | 2079 | await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, { |
2055 | 2080 | ||
2056 | }).then(res => { | 2081 | }).then(res => { |
2057 | if(res.data.code == 0) { | 2082 | if(res.data.code == 0) { |
2058 | - | ||
2059 | th.data.sele_g = res.data.data; | 2083 | th.data.sele_g = res.data.data; |
2060 | th.data.sele_g.viplimited = res.data.data.buy_limit; | 2084 | th.data.sele_g.viplimited = res.data.data.buy_limit; |
2061 | buylimit = !res.data.data.buy_limit ? 0 : res.data.data.buy_limit; | 2085 | buylimit = !res.data.data.buy_limit ? 0 : res.data.data.buy_limit; |
2062 | }; | 2086 | }; |
2063 | }); | 2087 | }); |
2064 | 2088 | ||
2065 | - //----获取用户活动购买数---- | 2089 | + //用户已经成功付款购买的数量 |
2066 | var gd_buy_num = 0; | 2090 | var gd_buy_num = 0; |
2067 | await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum?store_id="+t.store_id+"&user_id="+getApp().globalData.user_id+"&card_id="+t.card_id+"&prom_type="+t.prom_type+"&prom_id="+t.prom_id, { | 2091 | await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum?store_id="+t.store_id+"&user_id="+getApp().globalData.user_id+"&card_id="+t.card_id+"&prom_type="+t.prom_type+"&prom_id="+t.prom_id, { |
2068 | }).then(tt => { | 2092 | }).then(tt => { |
@@ -2075,22 +2099,23 @@ Page({ | @@ -2075,22 +2099,23 @@ Page({ | ||
2075 | }; | 2099 | }; |
2076 | }); | 2100 | }); |
2077 | 2101 | ||
2102 | + // 剩余购买数 | ||
2103 | + let num = buylimit - gd_buy_num; | ||
2078 | 2104 | ||
2079 | - if(t.goods_num > redis_num) { | 2105 | + if(totalNum > redis_num) { |
2080 | wx.showToast({ | 2106 | wx.showToast({ |
2081 | title: '超出活动库存', | 2107 | title: '超出活动库存', |
2082 | icon: 'none', | 2108 | icon: 'none', |
2083 | }); | 2109 | }); |
2084 | // 开启限购 | 2110 | // 开启限购 |
2085 | if (buylimit > 0) { | 2111 | if (buylimit > 0) { |
2086 | - let num = buylimit - gd_buy_num; | ||
2087 | if (num > redis_num) { | 2112 | if (num > redis_num) { |
2088 | - th.setData({[txt]: redis_num}); | 2113 | + th.setData({[txt]: redis_num-cartGoodsNum}); |
2089 | } else { | 2114 | } else { |
2090 | - th.setData({[txt]: num}); | 2115 | + th.setData({[txt]: num - cartGoodsNum}); |
2091 | } | 2116 | } |
2092 | } else { | 2117 | } else { |
2093 | - th.setData({[txt]: redis_num}); | 2118 | + th.setData({[txt]: redis_num - cartGoodsNum}); |
2094 | } | 2119 | } |
2095 | 2120 | ||
2096 | await e.doCheckAll(); | 2121 | await e.doCheckAll(); |
@@ -2102,15 +2127,14 @@ Page({ | @@ -2102,15 +2127,14 @@ Page({ | ||
2102 | if (buylimit > 0) { | 2127 | if (buylimit > 0) { |
2103 | 2128 | ||
2104 | // 如果限购数量<=活动库存数量,增加数量时会先超过限购数量,此时应提示“超出活动限购数量” | 2129 | // 如果限购数量<=活动库存数量,增加数量时会先超过限购数量,此时应提示“超出活动限购数量” |
2105 | - if(t.goods_num + gd_buy_num > buylimit) { | 2130 | + if(totalNum > num) { |
2106 | // 计算还可以购买的数量:库存量 - 已购数 | 2131 | // 计算还可以购买的数量:库存量 - 已购数 |
2107 | wx.showToast({ | 2132 | wx.showToast({ |
2108 | title: '超出活动限购', | 2133 | title: '超出活动限购', |
2109 | icon: 'none', | 2134 | icon: 'none', |
2110 | }); | 2135 | }); |
2111 | - let num = buylimit - gd_buy_num; | ||
2112 | if (num <= 0) num = 1; | 2136 | if (num <= 0) num = 1; |
2113 | - th.setData({[txt]: num}); | 2137 | + th.setData({[txt]: num - cartGoodsNum}); |
2114 | await e.doCheckAll(); | 2138 | await e.doCheckAll(); |
2115 | return false; | 2139 | return false; |
2116 | }; | 2140 | }; |
@@ -2334,7 +2358,6 @@ Page({ | @@ -2334,7 +2358,6 @@ Page({ | ||
2334 | update_cart_ser: function (t, pitem, item) { | 2358 | update_cart_ser: function (t, pitem, item) { |
2335 | var e = this; | 2359 | var e = this; |
2336 | 2360 | ||
2337 | - console.log('t===>', t); | ||
2338 | getApp().request.put("/api/weshop/cartService/update", { | 2361 | getApp().request.put("/api/weshop/cartService/update", { |
2339 | data: t, | 2362 | data: t, |
2340 | success: async function (ee) { | 2363 | success: async function (ee) { |