Commit 5356a47374657338b332aa2533cf0042ace2a5d4
1 parent
2388cf59
促销的数量的优化
Showing
1 changed file
with
101 additions
and
53 deletions
pages/cart/cart/cart.js
@@ -89,23 +89,44 @@ Page({ | @@ -89,23 +89,44 @@ Page({ | ||
89 | }); | 89 | }); |
90 | 90 | ||
91 | },1) | 91 | },1) |
92 | - | ||
93 | - //--获取是否又秒杀活动-- | ||
94 | - getApp().request.promiseGet("/api/ms/flash_sale/spikepage", { | ||
95 | - data: { | ||
96 | - store_id: oo.stoid, | ||
97 | - timetype: 2, | ||
98 | - is_end: 0, | ||
99 | - is_show: 1, | ||
100 | - pageSize: 1 | ||
101 | - }, | ||
102 | - }).then(res => { | ||
103 | - if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) { | ||
104 | - th.setData({ | ||
105 | - is_has_flash: 1 | ||
106 | - }) | ||
107 | - } | ||
108 | - }); | 92 | + |
93 | + //-- 判断有没有自定义的广告图片 -- | ||
94 | + getApp().request.promiseGet("/api/weshop/ad/page?pid=1101&store_id=" + os.stoid, { | ||
95 | + data: { | ||
96 | + enabled: 1 | ||
97 | + } | ||
98 | + }).then(res => { | ||
99 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
100 | + var a = res.data.data.pageData; | ||
101 | + var tt = { | ||
102 | + 'ad_code': os.imghost + a[0].ad_code, | ||
103 | + 'media_link': '', | ||
104 | + 'ad_weapplink':a[0].ad_weapplink | ||
105 | + }; | ||
106 | + th.setData({ad_data:tt}); | ||
107 | + }else{ | ||
108 | + //--获取是否又秒杀活动-- | ||
109 | + getApp().request.promiseGet("/api/ms/flash_sale/spikepage", { | ||
110 | + data: { | ||
111 | + store_id: oo.stoid, | ||
112 | + timetype: 2, | ||
113 | + is_end: 0, | ||
114 | + is_show: 1, | ||
115 | + pageSize: 1 | ||
116 | + }, | ||
117 | + }).then(res => { | ||
118 | + if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) { | ||
119 | + th.setData({ | ||
120 | + is_has_flash: 1 | ||
121 | + }) | ||
122 | + } | ||
123 | + }); | ||
124 | + } | ||
125 | + }) | ||
126 | + | ||
127 | + | ||
128 | + | ||
129 | + | ||
109 | 130 | ||
110 | }, | 131 | }, |
111 | 132 | ||
@@ -584,7 +605,11 @@ Page({ | @@ -584,7 +605,11 @@ Page({ | ||
584 | e.setData({ | 605 | e.setData({ |
585 | [txt]: Number(!sele), | 606 | [txt]: Number(!sele), |
586 | }); | 607 | }); |
587 | - await e.check_prom_activity(pitems); | 608 | + |
609 | + await e.check_prom_activity(pitems); | ||
610 | + for(var i in e.data.requestData){ | ||
611 | + if(i!=pitems) await e.check_prom_activity(i); | ||
612 | + } | ||
588 | this.doCheckAll(); | 613 | this.doCheckAll(); |
589 | }, | 614 | }, |
590 | 615 | ||
@@ -630,8 +655,12 @@ Page({ | @@ -630,8 +655,12 @@ Page({ | ||
630 | }); | 655 | }); |
631 | 656 | ||
632 | if(a.prom_type==3){ | 657 | if(a.prom_type==3){ |
658 | + | ||
659 | + await e.check_prom_activity(pitems); | ||
633 | //判断商品是不是优惠活动 | 660 | //判断商品是不是优惠活动 |
634 | - await e.check_prom_activity(pitems); | 661 | + for(var i in e.data.requestData){ |
662 | + if(i!=pitems) await e.check_prom_activity(i); | ||
663 | + } | ||
635 | } | 664 | } |
636 | 665 | ||
637 | this.doCheckAll(); | 666 | this.doCheckAll(); |
@@ -953,9 +982,11 @@ Page({ | @@ -953,9 +982,11 @@ Page({ | ||
953 | e.setData({ | 982 | e.setData({ |
954 | [txt]: t.goods_num, | 983 | [txt]: t.goods_num, |
955 | }); | 984 | }); |
956 | - //for(var i in e.data.requestData){ | ||
957 | - await e.check_prom_activity(pitem) | ||
958 | - //} | 985 | + |
986 | + await e.check_prom_activity(pitem) | ||
987 | + for(var i in e.data.requestData){ | ||
988 | + if(i!=pitem) await e.check_prom_activity(i) | ||
989 | + } | ||
959 | e.doCheckAll(); | 990 | e.doCheckAll(); |
960 | getApp().requestCardNum(e); | 991 | getApp().requestCardNum(e); |
961 | } | 992 | } |
@@ -1321,10 +1352,19 @@ Page({ | @@ -1321,10 +1352,19 @@ Page({ | ||
1321 | var map=new Map(); | 1352 | var map=new Map(); |
1322 | var list= JSON.parse(JSON.stringify(this.data.requestData[cindex])); | 1353 | var list= JSON.parse(JSON.stringify(this.data.requestData[cindex])); |
1323 | //循环处理活动,看活动商品的数量,用map来出来存储,key为活动id,值是数量 | 1354 | //循环处理活动,看活动商品的数量,用map来出来存储,key为活动id,值是数量 |
1324 | - | ||
1325 | - for(var i=0;i<list.goods.length;i++){ | ||
1326 | - var item=list.goods[i]; | 1355 | + |
1356 | + //-- 所有的购物车的数据,要用拷贝的赖进行计算 -- | ||
1357 | + var alllist= JSON.parse(JSON.stringify(this.data.requestData)); | ||
1358 | + var list2=alllist[cindex]; | ||
1359 | + var no_gift_arr=[]; | ||
1360 | + | ||
1361 | + //主要判断有没有促销活动 | ||
1362 | + var is_sele_prom=0; | ||
1363 | + var is_gift_del=0; | ||
1364 | + for(var i=0;i<list.goods.length;i++){ | ||
1365 | + var item=list.goods[i]; | ||
1327 | if(item.prom_type==3 && item.selected && !item.is_gift){ | 1366 | if(item.prom_type==3 && item.selected && !item.is_gift){ |
1367 | + is_sele_prom=1; | ||
1328 | if(map.has(item.prom_id+"")){ | 1368 | if(map.has(item.prom_id+"")){ |
1329 | var ob=map.get(item.prom_id+""); | 1369 | var ob=map.get(item.prom_id+""); |
1330 | ob.num+=item.goods_num; | 1370 | ob.num+=item.goods_num; |
@@ -1342,10 +1382,20 @@ Page({ | @@ -1342,10 +1382,20 @@ Page({ | ||
1342 | var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | 1382 | var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; |
1343 | //getApp().request.delete(url, {}); | 1383 | //getApp().request.delete(url, {}); |
1344 | await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除 | 1384 | await getApp().request.promiseDelete(url, {}) // 要用同步让赠品删除 |
1345 | - list.goods.splice(i--,1); | 1385 | + list2.goods.splice(i,1); |
1386 | + list.goods.splice(i--,1); | ||
1387 | + is_gift_del=1; | ||
1346 | } | 1388 | } |
1347 | } | 1389 | } |
1348 | - | 1390 | + //--如果没有选中的促销活动的,直接退出 -- |
1391 | + if(!is_sele_prom){ | ||
1392 | + //如果有赠品,要重新更新购物车的前台渲染-- | ||
1393 | + if(is_gift_del){ | ||
1394 | + var rq_text="requestData["+cindex+"]"; | ||
1395 | + this.setData({[rq_text]:list}); | ||
1396 | + } | ||
1397 | + return false; | ||
1398 | + } | ||
1349 | /*-- | 1399 | /*-- |
1350 | var map2=new Map(); | 1400 | var map2=new Map(); |
1351 | //请那些是赠品,但是优惠活动并没有被选中的商品要删除,同时满足条件的要放到map2, | 1401 | //请那些是赠品,但是优惠活动并没有被选中的商品要删除,同时满足条件的要放到map2, |
@@ -1365,7 +1415,6 @@ Page({ | @@ -1365,7 +1415,6 @@ Page({ | ||
1365 | }--*/ | 1415 | }--*/ |
1366 | 1416 | ||
1367 | var t_prom_list=new Array(); | 1417 | var t_prom_list=new Array(); |
1368 | - | ||
1369 | for(let p_item of map.entries()){ | 1418 | for(let p_item of map.entries()){ |
1370 | var prom=null; | 1419 | var prom=null; |
1371 | await getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+p_item[0],{}).then(res=> { | 1420 | await getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+p_item[0],{}).then(res=> { |
@@ -1387,7 +1436,6 @@ Page({ | @@ -1387,7 +1436,6 @@ Page({ | ||
1387 | } | 1436 | } |
1388 | 1437 | ||
1389 | t_prom_list.push(prom); | 1438 | t_prom_list.push(prom); |
1390 | - | ||
1391 | //---读取打折的详情--- | 1439 | //---读取打折的详情--- |
1392 | var ob=p_item[1];var discount=null; | 1440 | var ob=p_item[1];var discount=null; |
1393 | await getApp().request.promiseGet("/api/weshop/goods/getDiscount",{ | 1441 | await getApp().request.promiseGet("/api/weshop/goods/getDiscount",{ |
@@ -1403,7 +1451,9 @@ Page({ | @@ -1403,7 +1451,9 @@ Page({ | ||
1403 | }) | 1451 | }) |
1404 | 1452 | ||
1405 | //---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量--- | 1453 | //---如果有打折的信息,赠送的信息,赠送的时候要判断是不是限购数量--- |
1406 | - if(discount && discount['goods_id'] && discount.limit_num>=discount.bs && discount.gift_storecount>=discount.bs){ | 1454 | + if(discount && discount['goods_id'] && discount.limit_num>=discount.bs && discount.gift_storecount>=discount.bs){ |
1455 | + //如果这礼品超了情况下 | ||
1456 | + if(no_gift_arr.indexOf(discount.gift_id)!=-1) continue; | ||
1407 | var o=discount.goodsinfo; | 1457 | var o=discount.goodsinfo; |
1408 | var newd = { | 1458 | var newd = { |
1409 | goods_id: o.goods_id, | 1459 | goods_id: o.goods_id, |
@@ -1424,28 +1474,27 @@ Page({ | @@ -1424,28 +1474,27 @@ Page({ | ||
1424 | original_img:th.data.imgUrl+o.original_img | 1474 | original_img:th.data.imgUrl+o.original_img |
1425 | }; | 1475 | }; |
1426 | 1476 | ||
1427 | - | ||
1428 | - /*--- | ||
1429 | - if(map2.has(p_item[0]+"")){ | ||
1430 | - var index=map2.get(p_item[0]+""); | ||
1431 | - if( list.goods[index].goods_num!=discount.bs){ | ||
1432 | - list.goods[index].goods_num=discount.bs; | ||
1433 | - getApp().request.put("/api/weshop/cart/update", { | ||
1434 | - data: { | ||
1435 | - id: list.goods[index].id, | ||
1436 | - selected: 1, | ||
1437 | - store_id: oo.stoid, | ||
1438 | - goods_num:discount.bs | ||
1439 | - }, | ||
1440 | - success: function(ee) { | ||
1441 | - console.log(ee); | ||
1442 | - } | ||
1443 | - }); | ||
1444 | - } | ||
1445 | - | ||
1446 | - }else{---*/ | 1477 | + |
1478 | + list2.goods.push(newd); | ||
1479 | + var all_num=0; | ||
1480 | + for(var i in alllist){ | ||
1481 | + var list_item=alllist[i]; | ||
1482 | + for(var j in list_item.goods){ | ||
1483 | + //如果赠品的ID一样,要进行统计数量 | ||
1484 | + if(list_item.goods[j].is_gift==1 && list_item.goods[j].gift_id==newd.gift_id){ | ||
1485 | + all_num+= list_item.goods[j].goods_num; | ||
1486 | + } | ||
1487 | + } | ||
1488 | + } | ||
1489 | + //-- 赠品的数量超出,这里是保证所有的赠品部会超出 -- | ||
1490 | + if(discount.gift_storecount<all_num){ | ||
1491 | + no_gift_arr.push(discount.gift_id); | ||
1492 | + //--进入下一个循环 -- | ||
1493 | + continue; | ||
1494 | + } | ||
1495 | + | ||
1447 | var url="/api/weshop/cart/delGift?store_id="+newd.store_id+"&user_id=" | 1496 | var url="/api/weshop/cart/delGift?store_id="+newd.store_id+"&user_id=" |
1448 | - +newd.user_id+"&goods_id="+newd.goods_id+"&is_gift=1&pick_id="+newd.pick_id; | 1497 | + +newd.user_id+"&goods_id="+newd.goods_id+"&is_gift=1&pick_id="+newd.pick_id+"&prom_id="+newd.prom_id |
1449 | await getApp().request.promiseDelete(url, {}) | 1498 | await getApp().request.promiseDelete(url, {}) |
1450 | 1499 | ||
1451 | var add_data=null; | 1500 | var add_data=null; |
@@ -1457,8 +1506,7 @@ Page({ | @@ -1457,8 +1506,7 @@ Page({ | ||
1457 | if(add_data){ | 1506 | if(add_data){ |
1458 | newd.id=add_data.id; | 1507 | newd.id=add_data.id; |
1459 | list.goods.push(newd); | 1508 | list.goods.push(newd); |
1460 | - } | ||
1461 | - //} | 1509 | + } |
1462 | } | 1510 | } |
1463 | 1511 | ||
1464 | } | 1512 | } |