Commit de1adffa6a40c47a6aab258bd69218aed9760c78
1 parent
2d90d4d3
fix:服务卡订单立即支付限制库存限购
Showing
1 changed file
with
163 additions
and
22 deletions
pages/user/order_list/order_list.js
| @@ -2224,35 +2224,176 @@ Page({ | @@ -2224,35 +2224,176 @@ Page({ | ||
| 2224 | }, | 2224 | }, |
| 2225 | 2225 | ||
| 2226 | // 卡项订单 - 立即支付 | 2226 | // 卡项订单 - 立即支付 |
| 2227 | - pay(e) { | 2227 | + pay: async function(e) { |
| 2228 | let index = e.currentTarget.dataset.index; | 2228 | let index = e.currentTarget.dataset.index; |
| 2229 | let item = this.data.cardList[index]; | 2229 | let item = this.data.cardList[index]; |
| 2230 | let order_sn = item.order_sn; | 2230 | let order_sn = item.order_sn; |
| 2231 | let order_id = item.order_id; | 2231 | let order_id = item.order_id; |
| 2232 | let store_id = app.globalData.setting.stoid; | 2232 | let store_id = app.globalData.setting.stoid; |
| 2233 | - // console.log('go1!!!!!!!!!!!!!!!!!!!!!!!!!',index,item,order_sn,store_id); | 2233 | + let user_id = oo.user_id; |
| 2234 | + let flag = true; | ||
| 2235 | + | ||
| 2236 | + | ||
| 2237 | + // 如果是普通购买或单独购买,不用判断 | ||
| 2238 | + // 如果是秒杀购买:1、判断活动是否变化;2、是否超出限购 | ||
| 2239 | + | ||
| 2240 | + let list = item.list; | ||
| 2241 | + for(const it of list) { | ||
| 2242 | + if(it.prom_type == 1) { | ||
| 2243 | + let act_details = null; | ||
| 2244 | + let redis_num = 0; | ||
| 2245 | + let promcardbuynum = 0; | ||
| 2246 | + let qty = it.qty; | ||
| 2247 | + | ||
| 2248 | + | ||
| 2249 | + await getApp().request.promiseGet('/api/ms/flash_sale/getNew/' + store_id + '/' + user_id + '/' + it.prom_id, {}).then(res => { | ||
| 2250 | + console.log('11111111====>>>'); | ||
| 2251 | + if(res.data.code == 0) { | ||
| 2252 | + console.log('当前的秒杀活动信息:', res.data.data); | ||
| 2253 | + act_details = res.data.data; | ||
| 2254 | + if(act_details.is_end == 1) { | ||
| 2255 | + wx.showModal({ | ||
| 2256 | + title: '提示', | ||
| 2257 | + content: '活动已结束,无法支付,请取消订单!', | ||
| 2258 | + showCancel: false, | ||
| 2259 | + }); | ||
| 2260 | + flag = false; | ||
| 2261 | + return false; | ||
| 2262 | + }; | ||
| 2263 | + if(act_details.id != it.prom_id) { | ||
| 2264 | + wx.showModal({ | ||
| 2265 | + title: '提示', | ||
| 2266 | + content: '活动发生了变化,无法支付,请取消订单,重新购买!', | ||
| 2267 | + showCancel: false, | ||
| 2268 | + }); | ||
| 2269 | + flag = false; | ||
| 2270 | + return false; | ||
| 2271 | + }; | ||
| 2272 | + }; | ||
| 2273 | + }); | ||
| 2274 | + | ||
| 2275 | + await getApp().request.promiseGet('/api/weshop/activitylist/getActLen/' + store_id + '/' + it.prom_type + '/' + it.prom_id, { | ||
| 2276 | + 1: 1 | ||
| 2277 | + }).then(res => { | ||
| 2278 | + console.log('222222222====>>>'); | ||
| 2279 | + if (res.data.code == 0) { | ||
| 2280 | + // 当前可以购买的数量 | ||
| 2281 | + console.log('redis当前可以购买的数量:', res.data.data); | ||
| 2282 | + redis_num = res.data.data; | ||
| 2283 | + // if(redis_num <=0) { | ||
| 2284 | + // wx.showModal({ | ||
| 2285 | + // title: '提示', | ||
| 2286 | + // content: '活动库存不足,无法支付,请取消订单!', | ||
| 2287 | + // showCancel: false, | ||
| 2288 | + // }); | ||
| 2289 | + // // flag = false; | ||
| 2290 | + // return true; | ||
| 2291 | + // }; | ||
| 2292 | + }; | ||
| 2293 | + }); | ||
| 2294 | + | ||
| 2295 | + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", { | ||
| 2296 | + data: { | ||
| 2297 | + store_id: store_id, | ||
| 2298 | + user_id: user_id, | ||
| 2299 | + card_id: it.card_id, | ||
| 2300 | + prom_type: it.prom_type, | ||
| 2301 | + prom_id: it.prom_id, | ||
| 2302 | + } | ||
| 2303 | + }).then(res => { | ||
| 2304 | + console.log('333333333====>>>'); | ||
| 2305 | + if (res.data.code == 0) { | ||
| 2306 | + console.log('已经购买的数量:', res.data.data); | ||
| 2307 | + promcardbuynum = res.data.data.promcardbuynum; | ||
| 2308 | + | ||
| 2309 | + | ||
| 2310 | + let limited = act_details.buy_limit; // 限购数量a | ||
| 2311 | + let buyedNum = promcardbuynum; // 自己已经购买的数量b | ||
| 2312 | + let canBuyNum = limited - buyedNum; // 自己还可购买的数量c | ||
| 2313 | + | ||
| 2314 | + | ||
| 2315 | + if(canBuyNum <= 0) { | ||
| 2316 | + wx.showModal({ | ||
| 2317 | + title: '提示', | ||
| 2318 | + content: '您已超出活动限购数量,无法支付,请取消订单!', | ||
| 2319 | + showCancel: false, | ||
| 2320 | + }); | ||
| 2321 | + flag = false; | ||
| 2322 | + return false; | ||
| 2323 | + }; | ||
| 2324 | + | ||
| 2325 | + if(limited > redis_num) { | ||
| 2326 | + if(canBuyNum <= redis_num) { | ||
| 2327 | + if(qty > canBuyNum) { | ||
| 2328 | + wx.showModal({ | ||
| 2329 | + title: '提示', | ||
| 2330 | + content: '您已超出活动限购数量,无法支付,请取消订单!', | ||
| 2331 | + showCancel: false, | ||
| 2332 | + }); | ||
| 2333 | + flag = false; | ||
| 2334 | + return false; | ||
| 2335 | + }; | ||
| 2336 | + | ||
| 2337 | + }; | ||
| 2338 | + | ||
| 2339 | + if(canBuyNum > redis_num) { | ||
| 2340 | + if(qty > redis_num) { | ||
| 2341 | + wx.showModal({ | ||
| 2342 | + title: '提示', | ||
| 2343 | + content: '活动库存不足,无法支付,请取消订单!', | ||
| 2344 | + showCancel: false, | ||
| 2345 | + }); | ||
| 2346 | + flag = false; | ||
| 2347 | + return false; | ||
| 2348 | + }; | ||
| 2349 | + | ||
| 2350 | + }; | ||
| 2351 | + }; | ||
| 2352 | + | ||
| 2353 | + if(limited <= redis_num) { | ||
| 2354 | + if(qty > canBuyNum) { | ||
| 2355 | + wx.showModal({ | ||
| 2356 | + title: '提示', | ||
| 2357 | + content: '您已超出活动限购数量,无法支付,请取消订单!', | ||
| 2358 | + showCancel: false, | ||
| 2359 | + }); | ||
| 2360 | + flag = false; | ||
| 2361 | + return false; | ||
| 2362 | + }; | ||
| 2363 | + }; | ||
| 2364 | + }; | ||
| 2365 | + }); | ||
| 2366 | + | ||
| 2367 | + }; | ||
| 2368 | + | ||
| 2369 | + }; | ||
| 2370 | + | ||
| 2234 | 2371 | ||
| 2235 | - app.request.post('/api/weshop/order/pay/createRechargeOrder', { | ||
| 2236 | - data: { | ||
| 2237 | - parentSn: order_sn, | ||
| 2238 | - store_id: store_id, | ||
| 2239 | - }, | 2372 | + if(flag) { |
| 2373 | + await app.request.promisePost('/api/weshop/order/pay/createRechargeOrder', { | ||
| 2374 | + data: { | ||
| 2375 | + parentSn: order_sn, | ||
| 2376 | + store_id: store_id, | ||
| 2377 | + }, | ||
| 2378 | + }).then(res => { | ||
| 2379 | + // success: function(res) { | ||
| 2380 | + var n = res.data.data; | ||
| 2381 | + self.weixinPay(n, function() { | ||
| 2382 | + app.showWarning('支付成功'); | ||
| 2383 | + | ||
| 2384 | + }, function() { | ||
| 2385 | + app.showWarning('支付失败'); | ||
| 2386 | + // setTimeout(function() { | ||
| 2387 | + // wx.reLaunch({ | ||
| 2388 | + // url: '/packageA/pages/cardList/cardList', | ||
| 2389 | + // }) | ||
| 2390 | + // }, 1000) | ||
| 2391 | + }); | ||
| 2392 | + // } | ||
| 2393 | + }); | ||
| 2394 | + }; | ||
| 2395 | + | ||
| 2240 | 2396 | ||
| 2241 | - success: function(res) { | ||
| 2242 | - var n = res.data.data; | ||
| 2243 | - self.weixinPay(n, function() { | ||
| 2244 | - app.showWarning('支付成功'); | ||
| 2245 | - | ||
| 2246 | - }, function() { | ||
| 2247 | - app.showWarning('支付失败'); | ||
| 2248 | - // setTimeout(function() { | ||
| 2249 | - // wx.reLaunch({ | ||
| 2250 | - // url: '/packageA/pages/cardList/cardList', | ||
| 2251 | - // }) | ||
| 2252 | - // }, 1000) | ||
| 2253 | - }); | ||
| 2254 | - } | ||
| 2255 | - }) | ||
| 2256 | }, | 2397 | }, |
| 2257 | 2398 | ||
| 2258 | //------调起支付框-------- | 2399 | //------调起支付框-------- |