Commit 957c2e4b36026625aa4745059e9b1d7fba187115

Authored by 后端研发-倪永富
1 parent 3152bb36

购物车 再调用券的时候,不等券的调用,让商品能够显示

pages/cart/cart2/cart2.js
... ... @@ -113,11 +113,7 @@ Page({
113 113 onShow: function() {
114 114 var th=this;
115 115 if (th.data.isclose==0){
116   - /*---
117   - wx.navigateTo({
118   - url: "/pages/user/index/index"
119   - //url: "/pages/index/index/index"
120   - })---*/
  116 +
121 117 wx.switchTab({
122 118 url: "/pages/index/index/index"
123 119 })
... ... @@ -131,7 +127,7 @@ Page({
131 127 th.setData({user_addr: ie });
132 128 var going=0;
133 129  
134   - //使用计器,避免空现象
  130 + //使用计器,避免空现象
135 131 var jishi= setInterval(function () {
136 132 if (th.data.is_b_now == 1 && going==0) {
137 133 if(th.data.bn_goods) {
... ... @@ -243,7 +239,7 @@ Page({
243 239 data: {
244 240 user_id: to.globalData.user_id, selected:1,
245 241 store_id: oo.stoid, pageSize: 600 },
246   - success: async function (su) {
  242 + success:function (su) {
247 243 //按门店分类的数组
248 244 var arr = new Array();
249 245 var carr = su.data.data.pageData;
... ... @@ -305,74 +301,13 @@ Page({
305 301 arr.push(ie);
306 302 }
307 303 }
308   -
309   - //------------开始计算使用优惠券相关------------
310   - for(var ind in arr){
311   - var ep=arr[ind];
312   - var goodlist=ep.goods;
313   -
314   - //--更优惠券抵用有关,立即购买的,如果是购物车,如果有等级价还有考虑等级价的东西
315   - //就要把相应的值,写入cartlist数组中--
316   - var ckeck_quan_price=0,
317   - check_quan_price_list='',
318   - check_quan_ware_list='';
319   -
320   - for(var i in goodlist){
321   - var gd=goodlist[i];
322   - //--如果是秒杀就跳出--
323   - if(gd.prom_type==1){ continue; }
324   - var item_price=gd.goods_price*gd.goods_num;
325   - ckeck_quan_price+=item_price;
326   -
327   - //--组装价格list--
328   - if (check_quan_price_list) {
329   - check_quan_price_list += "," +item_price;
330   - } else {
331   - check_quan_price_list = item_price;
332   - }
333   - //--组装商品的线下erpwareid--
334   - if (check_quan_ware_list) {
335   - check_quan_ware_list += "," +gd['erpwareid'];
336   - } else {
337   - check_quan_ware_list = gd['erpwareid'];
338   - }
339   - }
340   -
341   - arr[ind].ckeck_quan_price=ckeck_quan_price;
342   - arr[ind].check_quan_ware_list=check_quan_ware_list;
343   - arr[ind].check_quan_price_list=check_quan_price_list;
344   -
345   - //是否关闭使用优惠券
346   - if (th.data.is_close_quan != 1) {
347   - //调用接口,获取优惠券的列表
348   - var url="/api/weshop/couponList/getUseCouponList";
349   - await app.request.promiseGet(url,{
350   - data:{storeId:oo.stoid,userId:app.globalData.user_id,BuySum:ckeck_quan_price,WareIds:check_quan_ware_list,pageSize:100}
351   - }).then(res=>{
352   - if(res.data.code==0)
353   - arr[ind].quan_list=res.data.data.pageData;
354   - })
355   -
356   - var frozenQuan=null;
357   - var url0="/api/weshop/users/frozenQuan/listFrozenQuan/"+app.globalData.user_id;
358   - await app.request.promiseGet(url0,{1:1}).then(res=>{
359   - if(res.data.code==0){
360   - frozenQuan=res.data.data;
361   - }
362   - })
363   -
364   - if (frozenQuan && arr[ind].quan_list){
365   - arr[ind].quan_list=th.check_is_frozenQuan(arr[ind].quan_list,frozenQuan);
366   - }
367   -
368   - }
369   - }
370   -
371 304 th.setData({
372 305 cartlist: arr,
373 306 }),
374 307  
375 308 th.calculatePrice();
  309 + //--- 获取一下看有没有优惠券 ----
  310 + th.get_cart_quan();
376 311 }
377 312 });
378 313 },
... ... @@ -381,7 +316,6 @@ Page({
381 316 get_buy_goods: function (e){
382 317 var th=this;
383 318 var gg = to.get_b_now();
384   -
385 319 //--------如果goods_id一样,就是要立即购买-----
386 320 if(e==gg.goods_id){
387 321 a.get("/api/weshop/goods/get/" + oo.stoid+"/"+e, {
... ... @@ -408,7 +342,6 @@ Page({
408 342 }
409 343 }
410 344  
411   -
412 345 switch (gd.prom_type){
413 346 case 0:
414 347 case 2:
... ... @@ -419,46 +352,21 @@ Page({
419 352 //--此时开始计算商品的使用券相关,如果有等级价还要计算和等级价相关的,
420 353 // 如果有优惠促销,还要把促销的部分计算在内,因为促销还有不能使用优惠券--
421 354 t.data.data.shop_price=gg.goods_price;
422   -
423 355 th.data.ckeck_quan_price=t.data.data.shop_price*gg.goods_num;
424 356 th.data.check_quan_price_list=t.data.data.shop_price*gg.goods_num+"";
425 357 th.data.check_quan_ware_list=t.data.data.erpwareid+"";
426 358  
427   - var quanlist=null;
428   -
429   - if (th.data.is_close_quan != 1) {
430   - var url="/api/weshop/couponList/getUseCouponList";
431   - await app.request.promiseGet(url,{
432   - data:{storeId:oo.stoid,userId:app.globalData.user_id,BuySum:th.data.ckeck_quan_price,WareIds:th.data.check_quan_ware_list,pageSize:100}
433   - }).then(res=>{
434   - if(res.data.code==0)
435   - quanlist=res.data.data.pageData;
436   -
437   -
438   - })
439   - }
440   -
441   - var frozenQuan=null;
442   - var url0="/api/weshop/users/frozenQuan/listFrozenQuan/"+app.globalData.user_id;
443   - await app.request.promiseGet(url0,{1:1}).then(res=>{
444   - if(res.data.code==0){
445   - frozenQuan=res.data.data;
446   - }
447   - })
448   -
449   - if (frozenQuan && quanlist){
450   - quanlist=th.check_is_frozenQuan(quanlist,frozenQuan);
451   - }
452   -
453 359 t.data.data.prom_id = 0;
454 360 t.data.data.prom_type = 0;
455 361  
456 362 th.setData({
457 363 bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_exp_type: et,index:m_wind,
458   - bn_pick: gg.pick_id, bn_t_exp_t: distr_t,selected_quan_list:quanlist
  364 + bn_pick: gg.pick_id, bn_t_exp_t: distr_t
459 365 });
460 366 //计算价格
461 367 th.calculatePrice2();
  368 + //获取优惠券
  369 + th.get_buy_now_quan();
462 370  
463 371 break;
464 372 case 1: //---秒杀-----
... ... @@ -474,37 +382,16 @@ Page({
474 382 th.data.ckeck_quan_price=t.data.data.shop_price*gg.goods_num;
475 383 th.data.check_quan_price_list=t.data.data.shop_price*gg.goods_num+"";
476 384 th.data.check_quan_ware_list=t.data.data.erpwareid+"";
477   -
478   - if (th.data.is_close_quan != 1) {
479   -
480   - var url="/api/weshop/couponList/getUseCouponList";
481   - await app.request.promiseGet(url,{
482   - data:{storeId:oo.stoid,userId:app.globalData.user_id,BuySum:th.data.ckeck_quan_price,WareIds:th.data.check_quan_ware_list,pageSize:100}
483   - }).then(res=>{
484   - if(res.data.code==0)
485   - quanlist=res.data.data.pageData;
486   - })
487   -
488   - var frozenQuan=null;
489   - var url0="/api/weshop/users/frozenQuan/listFrozenQuan/"+app.globalData.user_id;
490   - await app.request.promiseGet(url0,{1:1}).then(res=>{
491   - if(res.data.code==0){
492   - frozenQuan=res.data.data;
493   - }
494   - })
495   -
496   - if (frozenQuan && quanlist){
497   - quanlist=th.check_is_frozenQuan(quanlist,frozenQuan);
498   - }
499   - }
500 385 }
501 386  
502 387 th.setData({
503 388 bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_exp_type: et,index:m_wind,
504   - bn_pick: gg.pick_id, bn_t_exp_t: distr_t,selected_quan_list:quanlist
  389 + bn_pick: gg.pick_id, bn_t_exp_t: distr_t
505 390 });
506 391 //计算价格
507 392 th.calculatePrice2();
  393 + //获取优惠券
  394 + th.get_buy_now_quan();
508 395 }
509 396 });
510 397  
... ... @@ -1397,7 +1284,9 @@ Page({
1397 1284  
1398 1285 //--验证是否已经冻结--
1399 1286 check_is_frozenQuan:function(quanlist,frozenQuan){
1400   - console.log("券列表",quanlist);
  1287 + console.log("券列表",quanlist);
  1288 + if(!quanlist) return null;
  1289 + if(!frozenQuan) return quanlist;
1401 1290 var arr=[];
1402 1291 for(var i=0;i<quanlist.length;i++){
1403 1292 var item=quanlist[i];
... ... @@ -1519,7 +1408,99 @@ Page({
1519 1408 }
1520 1409 }
1521 1410 },500);
1522   - }
  1411 + },
  1412 + //-----获取购物车进来的劵-------
  1413 + get_cart_quan:function () {
  1414 + var arr=this.data.cartlist,th=this;
  1415 + //------------开始计算使用优惠券相关------------
  1416 + for(var ind in arr){
  1417 + var ep=arr[ind];
  1418 + var goodlist=ep.goods;
  1419 + //--更优惠券抵用有关,立即购买的,如果是购物车,如果有等级价还有考虑等级价的东西
  1420 + //就要把相应的值,写入cartlist数组中--
  1421 + var ckeck_quan_price=0,
  1422 + check_quan_price_list='',
  1423 + check_quan_ware_list='';
  1424 +
  1425 + for(var i in goodlist){
  1426 + var gd=goodlist[i];
  1427 + //--如果是秒杀就跳出--
  1428 + if(gd.prom_type==1){ continue; }
  1429 + var item_price=gd.goods_price*gd.goods_num;
  1430 + ckeck_quan_price+=item_price;
  1431 +
  1432 + //--组装价格list--
  1433 + if (check_quan_price_list) {
  1434 + check_quan_price_list += "," +item_price;
  1435 + } else {
  1436 + check_quan_price_list = item_price;
  1437 + }
  1438 + //--组装商品的线下erpwareid--
  1439 + if (check_quan_ware_list) {
  1440 + check_quan_ware_list += "," +gd['erpwareid'];
  1441 + } else {
  1442 + check_quan_ware_list = gd['erpwareid'];
  1443 + }
  1444 + }
1523 1445  
  1446 + arr[ind].ckeck_quan_price=ckeck_quan_price;
  1447 + arr[ind].check_quan_ware_list=check_quan_ware_list;
  1448 + arr[ind].check_quan_price_list=check_quan_price_list;
1524 1449  
  1450 + //是否关闭使用优惠券
  1451 + if (th.data.is_close_quan != 1) {
  1452 + var frozenQuan=null;
  1453 + var url0="/api/weshop/users/frozenQuan/listFrozenQuan/"+app.globalData.user_id;
  1454 + app.request.promiseGet(url0,{1:1}).then(res=>{
  1455 + if(res.data.code==0){ frozenQuan=res.data.data; }
  1456 + //--调用接口,获取优惠券的列表,3秒钟内控制接口请求--
  1457 + var url="/api/weshop/couponList/getUseCouponList";
  1458 + app.request.time_limit_get(6,url,{
  1459 + data:{storeId:oo.stoid,userId:app.globalData.user_id,BuySum:ckeck_quan_price,WareIds:check_quan_ware_list,pageSize:100},
  1460 + success:function (res) {
  1461 + if (res.data.code == 0) {
  1462 + arr[ind].quan_list = res.data.data.pageData;
  1463 + arr[ind].quan_list = th.check_is_frozenQuan(arr[ind].quan_list, frozenQuan);
  1464 + th.setData({cartlist:arr })
  1465 + }
  1466 + }
  1467 + })
  1468 + })
  1469 + }
  1470 + }
  1471 + },
  1472 + //------ 获取立即购买的购物车的劵 --------
  1473 + get_buy_now_quan:function () {
  1474 + var quanlist=null,th=this,frozenQuan = null;
  1475 + if(th.data.is_close_quan != 1)
  1476 + {
  1477 + var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
  1478 + var url="/api/weshop/couponList/getUseCouponList";
  1479 + app.request.promiseGet(url0, {1: 1}).then(res => {
  1480 + if (res.data.code == 0) {
  1481 + frozenQuan = res.data.data;
  1482 + }
  1483 + app.request.time_limit_get(6, url, {
  1484 + data: {
  1485 + storeId: oo.stoid,
  1486 + userId: app.globalData.user_id,
  1487 + BuySum: th.data.ckeck_quan_price,
  1488 + WareIds: th.data.check_quan_ware_list,
  1489 + pageSize: 100
  1490 + },
  1491 + success: function (res) {
  1492 + if (res.data.code == 0) {
  1493 + quanlist = res.data.data.pageData;
  1494 + if (quanlist) {
  1495 + quanlist = th.check_is_frozenQuan(quanlist, frozenQuan);
  1496 + th.setData({selected_quan_list:quanlist })
  1497 + }
  1498 + }
  1499 + }
  1500 +
  1501 + })
  1502 + })
  1503 +
  1504 + }
  1505 + }
1525 1506 });
... ...
utils/request.js
... ... @@ -8,7 +8,8 @@ module.exports = {
8 8 //"content-type": "application/texts"
9 9 }, s = "GET" != (e = e.toUpperCase()) && o.data ? t.json2Form(o.data) : o.data;
10 10 i = this.modifyUrl(i, o), o.isShowLoading = void 0 === o.isShowLoading || o.isShowLoading,
11   - o.isShowLoading && this.showLoading(), console.log("app.request", i, o), wx.request(Object.assign({}, o, {
  11 + o.isShowLoading && this.showLoading();
  12 + var req=wx.request(Object.assign({}, o, {
12 13 url: i,
13 14 method: e,
14 15 data: s,
... ... @@ -20,9 +21,10 @@ module.exports = {
20 21 o.isShowLoading && n.hideLoading(), n.doFail(o, t);
21 22 }
22 23 }));
  24 + return req;
23 25 },
24 26 get: function (t, e) {
25   - this.request("GET", t, e);
  27 + return this.request("GET", t, e);
26 28 },
27 29 post: function (t, e) {
28 30 this.request("POST", t, e);
... ... @@ -202,6 +204,13 @@ module.exports = {
202 204 fail(err) { data.isShowLoading && th.hideLoading(); reject(err); }
203 205 })
204 206 })
  207 + },
  208 + //--------具有时间限制的读取接口----------
  209 + time_limit_get(time,url,data){
  210 + var req=this.get(url,data);
  211 + setTimeout(function () {
  212 + req.abort();
  213 + },time*1000)
205 214 }
206 215  
207 216 };
208 217 \ No newline at end of file
... ...