Commit 7b960f778ca345044e7cc1602d25edebfa92de14
1 parent
bf754c0a
组合购测试返回的bug优化15条
Showing
15 changed files
with
280 additions
and
148 deletions
packageB/pages/zuhegou/index/index.js
| ... | ... | @@ -1040,7 +1040,7 @@ Page({ |
| 1040 | 1040 | } |
| 1041 | 1041 | } else { |
| 1042 | 1042 | dd = { |
| 1043 | - store_id: o.stoid, | |
| 1043 | + store_id: os.stoid, | |
| 1044 | 1044 | isstop: 0, |
| 1045 | 1045 | pageSize: 2000 |
| 1046 | 1046 | } |
| ... | ... | @@ -1615,21 +1615,21 @@ Page({ |
| 1615 | 1615 | //当满足组合的要求:总数要满足,起购数要满足 |
| 1616 | 1616 | if (all_num >= this.data.act.zhbuyqty && !need_to_buy) { |
| 1617 | 1617 | function sortData(a, b) { |
| 1618 | - return b.price - a.price | |
| 1618 | + return a.price - b.price | |
| 1619 | 1619 | } |
| 1620 | + if(no_in_arr.length) no_in_arr.sort(sortData); | |
| 1620 | 1621 | |
| 1621 | - no_in_arr.sort(sortData); | |
| 1622 | 1622 | var aprice = this.data.act.zhprice; |
| 1623 | 1623 | if (this.data.act.zhbuyqty > all_zhqty) { |
| 1624 | - for (var n = 0; n < this.data.act.zhbuyqty; n++) { | |
| 1624 | + for (var n = 0; n < this.data.act.zhbuyqty-all_zhqty; n++) { | |
| 1625 | 1625 | no_in_arr.pop(); |
| 1626 | 1626 | } |
| 1627 | 1627 | } |
| 1628 | 1628 | |
| 1629 | 1629 | //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 |
| 1630 | - if (this.data.act.is_bz && no_in_arr.length > this.data.act.zhbuyqty) { | |
| 1630 | + if (this.data.act.is_bz && no_in_arr.length >= this.data.act.zhbuyqty) { | |
| 1631 | 1631 | //看一下是几倍 |
| 1632 | - var be = parseInt(no_in_arr / this.data.act.zhbuyqty); | |
| 1632 | + var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); | |
| 1633 | 1633 | aprice += be * aprice; |
| 1634 | 1634 | for (var m = 0; m < be * this.data.act.zhbuyqty; m++) { |
| 1635 | 1635 | no_in_arr.pop(); | ... | ... |
packageB/pages/zuhegou/index/index.wxss
pages/cart/cart/cart.js
| ... | ... | @@ -304,7 +304,7 @@ Page({ |
| 304 | 304 | await getApp().request.promiseGet(url, {}).then(res => { |
| 305 | 305 | if(res.data.code==0 && res.data.data){ |
| 306 | 306 | if(res.data.data.is_show!=1){ |
| 307 | - return false; | |
| 307 | + isok=0; | |
| 308 | 308 | } |
| 309 | 309 | //如果活动已经结束 |
| 310 | 310 | if(res.data.data.is_end==1){ |
| ... | ... | @@ -1523,7 +1523,7 @@ Page({ |
| 1523 | 1523 | |
| 1524 | 1524 | //--------------去结算------------ |
| 1525 | 1525 | async checkout() { |
| 1526 | - | |
| 1526 | + if(!this.data.total_num || this.data.total_num<=0) return false; | |
| 1527 | 1527 | if(!this.data.is_load) return false; |
| 1528 | 1528 | if(this.data.up_dating) { |
| 1529 | 1529 | wx.showLoading({ |
| ... | ... | @@ -1587,7 +1587,8 @@ Page({ |
| 1587 | 1587 | glist += i_arr[j].goods_id + ","; |
| 1588 | 1588 | ab = 1; |
| 1589 | 1589 | //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存--- |
| 1590 | - if ((i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3 || i_arr[j].prom_type == 5 || i_arr[j].need_downlow_num ) && th.data.sales_rules == 2 && i_arr[j].is_gift != 1) { | |
| 1590 | + if ((i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3 || i_arr[j].prom_type == 5 | |
| 1591 | + || i_arr[j].need_downlow_num ) && th.data.sales_rules == 2 && i_arr[j].is_gift != 1) { | |
| 1591 | 1592 | //--获取商品的线下商品ID-- |
| 1592 | 1593 | var gd = null; |
| 1593 | 1594 | await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id, {}).then(res => { |
| ... | ... | @@ -1749,7 +1750,8 @@ Page({ |
| 1749 | 1750 | if (g_arr[i].goods_id == val.goods_id) { |
| 1750 | 1751 | |
| 1751 | 1752 | //如果会员是等级会员,商品有等级价,且不是活动商品 |
| 1752 | - if (card_field && val[card_field] > 0 && (val.prom_type == 0 || val.prom_type == 3 || val.prom_type == 4 || val.prom_type == 5 || normal_arr[val.goods_id])) { | |
| 1753 | + if (card_field && val[card_field] > 0 && | |
| 1754 | + (val.prom_type == 0 || val.prom_type == 3 || val.prom_type == 4 || val.prom_type == 5 || val.prom_type == 7 || normal_arr[val.goods_id])) { | |
| 1753 | 1755 | if (g_arr[i].goods_price != val[card_field]) { |
| 1754 | 1756 | isok = 0; |
| 1755 | 1757 | gname = val.goods_name; | ... | ... |
pages/cart/cart/zh_calculate.js
| ... | ... | @@ -146,26 +146,28 @@ module.exports = { |
| 146 | 146 | |
| 147 | 147 | //当满足组合的要求:总数要满足,起购数要满足 |
| 148 | 148 | if (all_num >= act.zhbuyqty && !need_to_buy) { |
| 149 | - function sortData(a, b) { | |
| 150 | - return b.price - a.price | |
| 151 | - } | |
| 149 | + function sortData(a, b) { | |
| 150 | + return a.price - b.price | |
| 151 | + } | |
| 152 | + if(no_in_arr.length>0) no_in_arr.sort(sortData); | |
| 152 | 153 | |
| 153 | - no_in_arr.sort(sortData); | |
| 154 | 154 | var aprice = act.zhprice; |
| 155 | 155 | if (act.zhbuyqty > all_zhqty) { |
| 156 | - for (var n = 0; n < act.zhbuyqty; n++) { | |
| 156 | + for (var n = 0; n < act.zhbuyqty-all_zhqty; n++) { | |
| 157 | 157 | no_in_arr.pop(); |
| 158 | 158 | } |
| 159 | 159 | } |
| 160 | 160 | //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 |
| 161 | - if (act.is_bz && no_in_arr.length > act.zhbuyqty) { | |
| 161 | + if (act.is_bz && no_in_arr.length >= act.zhbuyqty) { | |
| 162 | 162 | //看一下是几倍 |
| 163 | - var be = parseInt(no_in_arr / act.zhbuyqty); | |
| 163 | + var be = parseInt(no_in_arr.length / act.zhbuyqty); | |
| 164 | 164 | aprice += be * act.zhprice; |
| 165 | 165 | for (var m = 0; m < be * act.zhbuyqty; m++) { |
| 166 | 166 | no_in_arr.pop(); |
| 167 | 167 | } |
| 168 | 168 | } |
| 169 | + | |
| 170 | + | |
| 169 | 171 | //算一下剩余的钱 |
| 170 | 172 | if (no_in_arr.length) { |
| 171 | 173 | for (var ii in no_in_arr) { | ... | ... |
pages/cart/cart2/cart2.js
pages/cart/cart2/cart2.wxml
pages/cart/cart2/zh_calculate.js
| ... | ... | @@ -24,14 +24,14 @@ module.exports = { |
| 24 | 24 | let no_in_arr = []; //剩余的未加入组合购 |
| 25 | 25 | |
| 26 | 26 | for (let j in act_goos) { |
| 27 | + let item = act_goos[j]; | |
| 27 | 28 | let item_j = goods.find(function (ele) { |
| 28 | 29 | return ele.goods_id == act_goos[j].goods_id; |
| 29 | 30 | }) |
| 30 | - if(!item_j) continue; | |
| 31 | - act_goos[j].num = item_j.goods_num; | |
| 32 | - act_goos[j].goods_price = item_j.goods_price; | |
| 33 | - let item = act_goos[j]; | |
| 34 | - if (item.num) { | |
| 31 | + //-- 如果有找到的话 -- | |
| 32 | + if (item_j) { | |
| 33 | + act_goos[j].num = item_j.goods_num; | |
| 34 | + act_goos[j].goods_price = item_j.goods_price; | |
| 35 | 35 | all_num += item.num; |
| 36 | 36 | //当有起购数的控制的时候 |
| 37 | 37 | if (item.zhqty) { |
| ... | ... | @@ -65,19 +65,21 @@ module.exports = { |
| 65 | 65 | //当满足组合的要求:总数要满足,起购数要满足 |
| 66 | 66 | if (all_num >= act.zhbuyqty && !need_to_buy) { |
| 67 | 67 | function sortData(a, b) { |
| 68 | - return b.price - a.price | |
| 68 | + return a.price - b.price | |
| 69 | 69 | } |
| 70 | - no_in_arr.sort(sortData); | |
| 70 | + | |
| 71 | + if(no_in_arr.length>0) no_in_arr.sort(sortData); | |
| 72 | + | |
| 71 | 73 | aprice = act.zhprice; |
| 72 | 74 | if (act.zhbuyqty > all_zhqty) { |
| 73 | - for (let n = 0; n < act.zhbuyqty; n++) { | |
| 75 | + for (let n = 0; n < act.zhbuyqty-all_zhqty; n++) { | |
| 74 | 76 | no_in_arr.pop(); |
| 75 | 77 | } |
| 76 | 78 | } |
| 77 | 79 | //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 |
| 78 | - if (act.is_bz && no_in_arr.length > act.zhbuyqty) { | |
| 80 | + if (act.is_bz && no_in_arr.length >= act.zhbuyqty) { | |
| 79 | 81 | //看一下是几倍 |
| 80 | - let be = parseInt(no_in_arr / act.zhbuyqty); | |
| 82 | + let be = parseInt(no_in_arr.length / act.zhbuyqty); | |
| 81 | 83 | aprice += be * act.zhprice; |
| 82 | 84 | for (let m = 0; m < be * act.zhbuyqty; m++) { |
| 83 | 85 | no_in_arr.pop(); | ... | ... |
pages/goods/goodsInfo/goodsInfo.js
| ... | ... | @@ -1300,6 +1300,68 @@ Page({ |
| 1300 | 1300 | |
| 1301 | 1301 | th.add_cart_next(e,t,a,o,newd); //加入购物车下一步 |
| 1302 | 1302 | |
| 1303 | + }else if(o.prom_type==7){ | |
| 1304 | + | |
| 1305 | + //判断进行中的活动,是不是要判断线下库存 | |
| 1306 | + check_zh_acting(function (e) { | |
| 1307 | + newd.prom_id = 0; | |
| 1308 | + newd.prom_type = 0; | |
| 1309 | + if(e){ | |
| 1310 | + newd.prom_id = th.data.zh_act.id; | |
| 1311 | + newd.prom_type = 7; | |
| 1312 | + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | |
| 1313 | + if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | |
| 1314 | + th.add_cart_next(e,t,a,o,newd); //加入购物车下一步 | |
| 1315 | + return false; | |
| 1316 | + }else{ | |
| 1317 | + //---如果是线下门店销售的时候--- | |
| 1318 | + if(th.data.sales_rules==2){ | |
| 1319 | + var pick=th.get_pick_from_list(th.data.sto_sele_id) | |
| 1320 | + //---通过接口获取门店的线下库存信息-- | |
| 1321 | + getApp().request.get("/api/weshop/goods/getWareStorages",{ | |
| 1322 | + data:{storageNos:pick.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid}, | |
| 1323 | + success:function(res){ | |
| 1324 | + if(res.data.code==0){ | |
| 1325 | + if(res.data.data.pageData.length>0){ | |
| 1326 | + var CanOutQty=res.data.data.pageData[0].CanOutQty; | |
| 1327 | + if(CanOutQty<e.data.goodsInputNum){ | |
| 1328 | + return s.my_warnning("库存不足!", 0, th); | |
| 1329 | + } | |
| 1330 | + //在调一次接口,读取商品的预出库的数量,lock | |
| 1331 | + getApp().request.get("/api/weshop/order/ware/lock/page",{ | |
| 1332 | + data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,storageId:pick.pickup_id,pageSize:1000}, | |
| 1333 | + success:function(res_data){ | |
| 1334 | + if(res_data.data.code==0 && res_data.data.data.total>0){ | |
| 1335 | + | |
| 1336 | + var lock=0; | |
| 1337 | + for(var i in res_data.data.data.pageData){ | |
| 1338 | + lock+=res_data.data.data.pageData[i].outQty; | |
| 1339 | + } | |
| 1340 | + | |
| 1341 | + if(CanOutQty<=lock){ | |
| 1342 | + return s.my_warnning("库存不足!", 0, th); | |
| 1343 | + } | |
| 1344 | + th.add_cart_next(e,t,a,o,newd,CanOutQty-lock); | |
| 1345 | + }else{ | |
| 1346 | + th.add_cart_next(e,t,a,o,newd,CanOutQty); | |
| 1347 | + } | |
| 1348 | + } | |
| 1349 | + }) | |
| 1350 | + }else{ | |
| 1351 | + return s.my_warnning("库存不足!", 0, th); | |
| 1352 | + } | |
| 1353 | + | |
| 1354 | + } | |
| 1355 | + } | |
| 1356 | + }) | |
| 1357 | + }else{ | |
| 1358 | + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | |
| 1359 | + if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | |
| 1360 | + th.add_cart_next(e,t,a,o,newd); //加入购物车下一步 | |
| 1361 | + } | |
| 1362 | + } | |
| 1363 | + }) | |
| 1364 | + | |
| 1303 | 1365 | } |
| 1304 | 1366 | else if ( th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 2 || th.data.prom_type == 4 || th.data.prom_type == 5) { |
| 1305 | 1367 | newd.prom_type = 0; |
| ... | ... | @@ -1770,12 +1832,6 @@ Page({ |
| 1770 | 1832 | |
| 1771 | 1833 | var ind = t.currentTarget.dataset.ind; |
| 1772 | 1834 | |
| 1773 | - if(th.data.zh_act && ind==1){ | |
| 1774 | - getApp().goto("/packageB/pages/zuhegou/index/index?id="+th.data.zh_act.id); | |
| 1775 | - return false; | |
| 1776 | - } | |
| 1777 | - | |
| 1778 | - | |
| 1779 | 1835 | //回调。判断是不是优惠促销 |
| 1780 | 1836 | th.check_is_prom_goods(function (){ |
| 1781 | 1837 | th.setData({ |
| ... | ... | @@ -5466,5 +5522,42 @@ Page({ |
| 5466 | 5522 | go_zh:function (e) { |
| 5467 | 5523 | var id=e.currentTarget.dataset.id; |
| 5468 | 5524 | getApp().goto("/packageB/pages/zuhegou/index/index?id="+id); |
| 5469 | - } | |
| 5525 | + }, | |
| 5526 | + | |
| 5527 | + check_zh_acting:function (func) { | |
| 5528 | + var isok = 1,item=this.data.sele_g; | |
| 5529 | + //如果有组合购 | |
| 5530 | + var url="/api/weshop/prom/zhbuy/get/"+os.stoid+"/"+item.prom_id+"/"+getApp().globalData.userInfo.user_id; | |
| 5531 | + getApp().request.promiseGet(url, {}).then(res => { | |
| 5532 | + if(res.data.code==0 && res.data.data){ | |
| 5533 | + if(res.data.data.is_show!=1){ | |
| 5534 | + isok=0; | |
| 5535 | + } | |
| 5536 | + //如果活动已经结束 | |
| 5537 | + if(res.data.data.is_end==1){ | |
| 5538 | + isok=0; | |
| 5539 | + } | |
| 5540 | + //已经结束 | |
| 5541 | + if(ut.gettimestamp()>res.data.data.end_time){ | |
| 5542 | + isok=0; | |
| 5543 | + } | |
| 5544 | + //还未开始 | |
| 5545 | + if(ut.gettimestamp()<res.data.data.start_time){ | |
| 5546 | + isok=0; | |
| 5547 | + } | |
| 5548 | + | |
| 5549 | + }else{ | |
| 5550 | + //未找到商品的活动 | |
| 5551 | + isok = 0; | |
| 5552 | + } | |
| 5553 | + item.act=res.data.data; | |
| 5554 | + }) | |
| 5555 | + func(isok); | |
| 5556 | + } | |
| 5557 | + | |
| 5558 | + | |
| 5559 | + | |
| 5560 | + | |
| 5561 | + | |
| 5562 | + | |
| 5470 | 5563 | }); | ... | ... |
pages/goods/goodsInfo/goodsInfo.wxml
| ... | ... | @@ -519,7 +519,7 @@ |
| 519 | 519 | <view class="flex"> |
| 520 | 520 | <image class="hui_img" src="{{iurl}}/miniapp//images/hui.png"></image> |
| 521 | 521 | <view class="order_hui"> |
| 522 | - <view class="fs28 ellipsis-1">{{order_prom.name}}</view> | |
| 522 | + <view class="fs28 ellipsis-1">{{zh_act.name}}</view> | |
| 523 | 523 | <view class="fs26" >(活动时间:{{tool.format_tt(zh_act.start_time)}} - {{tool.format_tt(zh_act.end_time)}})</view> |
| 524 | 524 | </view> |
| 525 | 525 | </view> | ... | ... |
pages/user/index/index.wxml
| ... | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 | <view class="xc-user-left flex" wx:if="{{userInfo}}"> |
| 10 | 10 | <image class="xc-user-img circle" bindtap="go_info" src="{{userInfo.head_pic?userInfo.head_pic:defaultAvatar}}"></image> |
| 11 | 11 | <view class="xc-uesr-name"> |
| 12 | - {{userInfo.nickname}} | |
| 12 | + <text class="ellipsis-1" style="max-width: 290rpx;display: inline-block">{{userInfo.nickname}}</text> | |
| 13 | 13 | <view class="hvip" wx:if='{{GradeName && is_init}}'> |
| 14 | 14 | <image class="vip-mem" src="{{iurl}}/miniapp/images/vip_hg0.png"></image>{{GradeName}}</view> |
| 15 | 15 | <view class="flex fs24 xc-grow-ups" style="margin-left:8rpx;margin-top:6rpx" wx:if="{{is_init && gradeId}}" bindtap='jump'> | ... | ... |
pages/user/index/index.wxss
pages/user/order_detail/order_detail.js
| ... | ... | @@ -835,15 +835,15 @@ Page({ |
| 835 | 835 | //--如果是赠品,不加入购物车-- |
| 836 | 836 | if(g_item['is_gift']) continue; |
| 837 | 837 | if(g_item['prom_type']==4 ){ |
| 838 | - $err_text+= g_item['goods_name']+"积分购商品不加入购物车\n"; | |
| 838 | + err_text+= g_item['goods_name']+"积分购商品不加入购物车\n"; | |
| 839 | 839 | continue; |
| 840 | 840 | } |
| 841 | 841 | if(g_item['prom_type']==5){ |
| 842 | - $err_text+= g_item['goods_name']+"搭配购商品不加入购物车\n"; | |
| 842 | + err_text+= g_item['goods_name']+"搭配购商品不加入购物车\n"; | |
| 843 | 843 | continue; |
| 844 | 844 | } |
| 845 | 845 | if(g_item['prom_type']==6 ){ |
| 846 | - $err_text+= g_item['goods_name']+"拼团商品不加入购物车\n"; | |
| 846 | + err_text+= g_item['goods_name']+"拼团商品不加入购物车\n"; | |
| 847 | 847 | continue; |
| 848 | 848 | } |
| 849 | 849 | |
| ... | ... | @@ -919,6 +919,21 @@ Page({ |
| 919 | 919 | break; |
| 920 | 920 | case 6: |
| 921 | 921 | b_item.is_pd_normal=1; break; |
| 922 | + case 7: | |
| 923 | + //如果有组合购 | |
| 924 | + var url="/api/weshop/prom/zhbuy/get/"+os.stoid+"/"+good.prom_id+"/"+getApp().globalData.userInfo.user_id; | |
| 925 | + await getApp().request.promiseGet(url, {}).then(res => { | |
| 926 | + if(res.data.code==0 && res.data.data){ | |
| 927 | + if(res.data.data.is_show==1 && res.data.data.is_end==0 | |
| 928 | + && ut.gettimestamp()<res.data.data.end_time | |
| 929 | + && ut.gettimestamp()>res.data.data.start_time | |
| 930 | + ){ | |
| 931 | + b_item.prom_type=7; | |
| 932 | + b_item.prom_id=res.data.data.id; | |
| 933 | + } | |
| 934 | + } | |
| 935 | + }) | |
| 936 | + break; | |
| 922 | 937 | } |
| 923 | 938 | |
| 924 | 939 | //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 | ... | ... |
pages/user/order_list/order_list.js
| ... | ... | @@ -934,59 +934,59 @@ Page({ |
| 934 | 934 | var goods_list=item.order_goods; |
| 935 | 935 | //--- 返回的内容 --- |
| 936 | 936 | var back_goods_arr=[]; |
| 937 | - var err_text=""; | |
| 937 | + var err_text=""; | |
| 938 | 938 | for(var i in goods_list){ |
| 939 | 939 | var g_item=goods_list[i]; |
| 940 | 940 | //--如果是赠品,不加入购物车-- |
| 941 | - if(g_item['is_gift']) continue; | |
| 941 | + if(g_item['is_gift']) continue; | |
| 942 | 942 | if(g_item['prom_type']==4 ){ |
| 943 | - $err_text+= g_item['goods_name']+"积分购商品不加入购物车\n"; | |
| 943 | + err_text+= g_item['goods_name']+"积分购商品不加入购物车\n"; | |
| 944 | 944 | continue; |
| 945 | 945 | } |
| 946 | 946 | if(g_item['prom_type']==5){ |
| 947 | - $err_text+= g_item['goods_name']+"搭配购商品不加入购物车\n"; | |
| 947 | + err_text+= g_item['goods_name']+"搭配购商品不加入购物车\n"; | |
| 948 | 948 | continue; |
| 949 | 949 | } |
| 950 | 950 | if(g_item['prom_type']==6 ){ |
| 951 | - $err_text+= g_item['goods_name']+"拼团商品不加入购物车\n"; | |
| 951 | + err_text+= g_item['goods_name']+"拼团商品不加入购物车\n"; | |
| 952 | 952 | continue; |
| 953 | - } | |
| 954 | - | |
| 955 | - //--获取商品-- | |
| 956 | - var good=null; | |
| 953 | + } | |
| 954 | + | |
| 955 | + //--获取商品-- | |
| 956 | + var good=null; | |
| 957 | 957 | await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + g_item.goods_id, { |
| 958 | - | |
| 959 | - }).then(res=>{ | |
| 958 | + | |
| 959 | + }).then(res=>{ | |
| 960 | 960 | good=res.data.data; |
| 961 | 961 | }) |
| 962 | - | |
| 962 | + | |
| 963 | 963 | if(!good){ |
| 964 | 964 | err_text+= g_item['goods_name']+"未找到商品\n"; |
| 965 | 965 | continue; |
| 966 | - } | |
| 966 | + } | |
| 967 | 967 | if (good.is_on_sale != 1) { |
| 968 | 968 | err_text+= g_item['goods_name']+"已经下架\n"; |
| 969 | - continue; | |
| 969 | + continue; | |
| 970 | 970 | } |
| 971 | - | |
| 972 | - var timestamp = ut.gettimestamp(); | |
| 971 | + | |
| 972 | + var timestamp = ut.gettimestamp(); | |
| 973 | 973 | if (good.on_time > timestamp) { |
| 974 | 974 | err_text+= g_item['goods_name']+"还未上架\n"; |
| 975 | - continue; | |
| 976 | - } | |
| 975 | + continue; | |
| 976 | + } | |
| 977 | 977 | if (good.down_time > 0) { |
| 978 | 978 | if (good.down_time < timestamp) { |
| 979 | 979 | err_text+=g_item['goods_name']+"已经下架\n"; |
| 980 | 980 | continue; |
| 981 | 981 | } |
| 982 | 982 | } |
| 983 | - | |
| 983 | + | |
| 984 | 984 | //如果商品的配送方式和门店不匹配 |
| 985 | 985 | if(good['distr_type']>0 && pickup['distr_type']>0 && good['distr_type']!=pickup['distr_type'] ){ |
| 986 | 986 | err_text+= good['goods_name']+"配送方式不一致\n"; |
| 987 | 987 | continue; |
| 988 | 988 | } |
| 989 | - | |
| 989 | + | |
| 990 | 990 | var prom=null; |
| 991 | 991 | var b_item={} |
| 992 | 992 | b_item.goods_id=g_item.goods_id; |
| ... | ... | @@ -997,38 +997,56 @@ Page({ |
| 997 | 997 | b_item.pickup_id=item.pickup_id; |
| 998 | 998 | b_item.price=good.shop_price; |
| 999 | 999 | b_item.goods_sn=good.goods_sn; |
| 1000 | - b_item.sku=good.sku; | |
| 1000 | + b_item.sku=good.sku; | |
| 1001 | 1001 | b_item.is_integral_normal=g_item.is_integral_normal; |
| 1002 | - | |
| 1002 | + | |
| 1003 | 1003 | //-- 如果会员是等级卡的时候,同时商品也有设置相应的卡价格 -- |
| 1004 | 1004 | var card_field=th.data.card_field; |
| 1005 | 1005 | if(card_field && good[card_field]>0){ |
| 1006 | - b_item.price=good[card_field]; | |
| 1006 | + b_item.price=good[card_field]; | |
| 1007 | 1007 | } |
| 1008 | - | |
| 1008 | + | |
| 1009 | 1009 | //--判断商品当前的活动情况-- |
| 1010 | 1010 | switch(good.prom_type){ |
| 1011 | 1011 | //秒杀 |
| 1012 | - case 1: | |
| 1012 | + case 1: | |
| 1013 | 1013 | var flash=null; |
| 1014 | - await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + good.prom_id, { | |
| 1014 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + good.prom_id, { | |
| 1015 | 1015 | }).then(res=>{ |
| 1016 | 1016 | if (res.data.code== 0) { |
| 1017 | 1017 | flash=res.data.data; |
| 1018 | 1018 | } |
| 1019 | - }) | |
| 1020 | - //----已经结束----- | |
| 1019 | + }) | |
| 1020 | + //----活动还没有结束----- | |
| 1021 | 1021 | if (flash && flash.is_end == 0 && flash.end_time>timestamp && flash.start_time<timestamp ) { |
| 1022 | 1022 | prom=flash; |
| 1023 | 1023 | b_item.price=prom.price; // |
| 1024 | - } | |
| 1025 | - break; | |
| 1026 | - | |
| 1027 | - //拼团 | |
| 1028 | - case 6: | |
| 1029 | - b_item.is_pd_normal=1; break; | |
| 1024 | + } | |
| 1025 | + break; | |
| 1026 | + | |
| 1027 | + //拼团 | |
| 1028 | + case 6: | |
| 1029 | + b_item.is_pd_normal=1; | |
| 1030 | + break; | |
| 1031 | + //组合购的再来一单 | |
| 1032 | + case 7: | |
| 1033 | + //如果有组合购 | |
| 1034 | + var url="/api/weshop/prom/zhbuy/get/"+os.stoid+"/"+good.prom_id+"/"+getApp().globalData.userInfo.user_id; | |
| 1035 | + await getApp().request.promiseGet(url, {}).then(res => { | |
| 1036 | + if(res.data.code==0 && res.data.data){ | |
| 1037 | + if(res.data.data.is_show==1 && res.data.data.is_end==0 | |
| 1038 | + && ut.gettimestamp()<res.data.data.end_time | |
| 1039 | + && ut.gettimestamp()>res.data.data.start_time | |
| 1040 | + ){ | |
| 1041 | + b_item.prom_type=7; | |
| 1042 | + b_item.prom_id=res.data.data.id; | |
| 1043 | + } | |
| 1044 | + } | |
| 1045 | + }) | |
| 1046 | + break; | |
| 1030 | 1047 | } |
| 1031 | - | |
| 1048 | + | |
| 1049 | + | |
| 1032 | 1050 | //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 |
| 1033 | 1051 | if(g_item.prom_type==3 || good.prom_type==3){ |
| 1034 | 1052 | await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/1", {}).then(res => { |
| ... | ... | @@ -1038,15 +1056,15 @@ Page({ |
| 1038 | 1056 | b_item.prom_type=3; |
| 1039 | 1057 | b_item.prom_id=r_data.promGoodsLists[0].prom_id; |
| 1040 | 1058 | } |
| 1041 | - } | |
| 1042 | - }) | |
| 1059 | + } | |
| 1060 | + }) | |
| 1043 | 1061 | } |
| 1044 | - | |
| 1045 | - //判断是不是线下库存的购买, 是不是秒杀活动 | |
| 1046 | - if(th.data.sales_rules==2 && !prom){ | |
| 1062 | + | |
| 1063 | + //判断是不是线下库存的购买, 是不是秒杀活动 | |
| 1064 | + if(th.data.sales_rules==2 && !prom){ | |
| 1047 | 1065 | //-- 看一下购物车上有多少商品 -- |
| 1048 | - var cart_num=0; | |
| 1049 | - await getApp().request.promiseGet("/api/weshop/cart/page", { | |
| 1066 | + var cart_num=0; | |
| 1067 | + await getApp().request.promiseGet("/api/weshop/cart/page", { | |
| 1050 | 1068 | data: { |
| 1051 | 1069 | store_id: os.stoid, |
| 1052 | 1070 | user_id: getApp().globalData.user_id, |
| ... | ... | @@ -1061,9 +1079,9 @@ Page({ |
| 1061 | 1079 | num += res.data.data.pageData[i].goods_num; |
| 1062 | 1080 | } |
| 1063 | 1081 | } |
| 1064 | - cart_num=num; | |
| 1082 | + cart_num=num; | |
| 1065 | 1083 | }) |
| 1066 | - | |
| 1084 | + | |
| 1067 | 1085 | var lock=0,plist=null; |
| 1068 | 1086 | //先读取门店的lock, |
| 1069 | 1087 | await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ |
| ... | ... | @@ -1072,26 +1090,26 @@ Page({ |
| 1072 | 1090 | if(res.data.code==0 && res.data.data.total>0){ |
| 1073 | 1091 | for(var i in res.data.data.pageData) |
| 1074 | 1092 | lock+=res.data.data.pageData[i].outQty |
| 1075 | - } | |
| 1093 | + } | |
| 1076 | 1094 | }) |
| 1077 | - | |
| 1095 | + | |
| 1078 | 1096 | //---通过接口获取门店的线下库存信息-- |
| 1079 | 1097 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ |
| 1080 | 1098 | data:{storageNos:pickup.pickup_no,wareIds:encodeURIComponent(good.erpwareid),storeId:os.stoid} |
| 1081 | 1099 | }).then(res=>{ |
| 1082 | 1100 | if(res.data.code==0 && res.data.data.total>0){ |
| 1083 | 1101 | plist=res.data.data.pageData[0]; |
| 1084 | - } | |
| 1102 | + } | |
| 1085 | 1103 | }) |
| 1086 | - | |
| 1104 | + | |
| 1087 | 1105 | if(!plist){ |
| 1088 | 1106 | err_text+= good['goods_name']+"库存不足\n"; |
| 1089 | - continue; | |
| 1090 | - } | |
| 1107 | + continue; | |
| 1108 | + } | |
| 1091 | 1109 | if(plist.CanOutQty-lock<=0){ |
| 1092 | 1110 | err_text+= good['goods_name']+"库存不足\n"; |
| 1093 | - continue; | |
| 1094 | - } | |
| 1111 | + continue; | |
| 1112 | + } | |
| 1095 | 1113 | if(b_item.goods_num>(plist.CanOutQty-lock)){ |
| 1096 | 1114 | b_item.goods_num=plist.CanOutQty-lock; |
| 1097 | 1115 | } |
| ... | ... | @@ -1100,42 +1118,42 @@ Page({ |
| 1100 | 1118 | user_id: getApp().globalData.user_id, |
| 1101 | 1119 | goods_id: good.goods_id, |
| 1102 | 1120 | }; |
| 1103 | - | |
| 1104 | - var buynum=0; | |
| 1121 | + | |
| 1122 | + var buynum=0; | |
| 1105 | 1123 | //---要获得商品,该用户买了多少件,同步应用--- |
| 1106 | 1124 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { |
| 1107 | 1125 | data: req_data, |
| 1108 | - }).then(res => { | |
| 1126 | + }).then(res => { | |
| 1109 | 1127 | if(res.data.code==0){ |
| 1110 | 1128 | var buy_num_data = res.data.data; |
| 1111 | 1129 | buynum = buy_num_data.goodsbuynum; |
| 1112 | - } | |
| 1130 | + } | |
| 1113 | 1131 | }) |
| 1114 | - | |
| 1132 | + | |
| 1115 | 1133 | //---- 要计算商品的限购 ----- |
| 1116 | - if(good['viplimited']>0){ | |
| 1134 | + if(good['viplimited']>0){ | |
| 1117 | 1135 | if(cart_num+buynum>good['viplimited']){ |
| 1118 | 1136 | err_text+= good['goods_name']+"超出限购\n"; |
| 1119 | 1137 | continue; |
| 1120 | - } | |
| 1138 | + } | |
| 1121 | 1139 | good['viplimited']-=(cart_num+buynum); |
| 1122 | 1140 | if(b_item.goods_num>good['viplimited']){ |
| 1123 | 1141 | b_item.goods_num=good['viplimited']; |
| 1124 | - } | |
| 1142 | + } | |
| 1125 | 1143 | } |
| 1126 | - | |
| 1127 | - back_goods_arr.push(b_item); //返回商品元素 | |
| 1128 | - | |
| 1144 | + | |
| 1145 | + back_goods_arr.push(b_item); //返回商品元素 | |
| 1146 | + | |
| 1129 | 1147 | }else{ |
| 1130 | - | |
| 1148 | + | |
| 1131 | 1149 | //-- 看一下购物车上有多少商品 -- |
| 1132 | - var cart_num=0; | |
| 1133 | - await getApp().request.promiseGet("/api/weshop/cart/page", { | |
| 1150 | + var cart_num=0; | |
| 1151 | + await getApp().request.promiseGet("/api/weshop/cart/page", { | |
| 1134 | 1152 | data: { |
| 1135 | 1153 | store_id: os.stoid, |
| 1136 | 1154 | user_id: getApp().globalData.user_id, |
| 1137 | 1155 | state:0, is_gift:0, |
| 1138 | - goods_id:good.goods_id | |
| 1156 | + goods_id:good.goods_id | |
| 1139 | 1157 | } |
| 1140 | 1158 | }).then(res=>{ |
| 1141 | 1159 | var num = 0; |
| ... | ... | @@ -1144,95 +1162,95 @@ Page({ |
| 1144 | 1162 | num += res.data.data.pageData[i].goods_num; |
| 1145 | 1163 | } |
| 1146 | 1164 | } |
| 1147 | - cart_num=num; | |
| 1165 | + cart_num=num; | |
| 1148 | 1166 | }) |
| 1149 | - | |
| 1150 | - | |
| 1167 | + | |
| 1168 | + | |
| 1151 | 1169 | if(good.store_count<=0){ |
| 1152 | 1170 | err_text+= good['goods_name']+"库存不足\n"; |
| 1153 | - continue; | |
| 1171 | + continue; | |
| 1154 | 1172 | } |
| 1155 | 1173 | if(b_item.goods_num>good.store_count) |
| 1156 | 1174 | b_item.goods_num=good.store_count; |
| 1157 | - | |
| 1175 | + | |
| 1158 | 1176 | var buynum=0; //商品已经购买多少件 |
| 1159 | - var promgoodsbuynum=0; //活动已经购买多少件 | |
| 1177 | + var promgoodsbuynum=0; //活动已经购买多少件 | |
| 1160 | 1178 | var redis_num = 0; //redis库存 |
| 1161 | - | |
| 1179 | + | |
| 1162 | 1180 | var req_data={ |
| 1163 | 1181 | store_id: os.stoid, |
| 1164 | 1182 | user_id: getApp().globalData.user_id, |
| 1165 | 1183 | goods_id: good.goods_id, |
| 1166 | 1184 | }; |
| 1167 | - | |
| 1185 | + | |
| 1168 | 1186 | if(prom){ |
| 1169 | 1187 | req_data.prom_type= good.prom_type; |
| 1170 | 1188 | req_data.prom_id= good.prom_id; |
| 1171 | - b_item.prom_type=good.prom_type; | |
| 1172 | - b_item.prom_id=good.prom_id; | |
| 1189 | + b_item.prom_type=good.prom_type; | |
| 1190 | + b_item.prom_id=good.prom_id; | |
| 1173 | 1191 | //------判断活动是否抢光----- |
| 1174 | 1192 | await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + |
| 1175 | 1193 | os.stoid + "/" + good.prom_type + "/" + good.prom_id, { |
| 1176 | 1194 | 1: 1 |
| 1177 | 1195 | }).then(res => { |
| 1178 | 1196 | redis_num = res.data.data; |
| 1179 | - }); | |
| 1197 | + }); | |
| 1180 | 1198 | if(redis_num<=0){ |
| 1181 | 1199 | err_text+= good['goods_name']+"活动不足\n"; |
| 1182 | - continue; | |
| 1183 | - } | |
| 1184 | - | |
| 1200 | + continue; | |
| 1201 | + } | |
| 1202 | + | |
| 1185 | 1203 | } |
| 1186 | - | |
| 1204 | + | |
| 1187 | 1205 | //---要获得商品,该用户买了多少件,同步应用--- |
| 1188 | 1206 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { |
| 1189 | 1207 | data: req_data, |
| 1190 | - }).then(res => { | |
| 1208 | + }).then(res => { | |
| 1191 | 1209 | if(res.data.code==0){ |
| 1192 | 1210 | var buy_num_data = res.data.data; |
| 1193 | 1211 | if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; |
| 1194 | 1212 | buynum = buy_num_data.goodsbuynum; |
| 1195 | - } | |
| 1196 | - }) | |
| 1197 | - | |
| 1198 | - //---- 要计算商品的限购 ----- | |
| 1199 | - if(good['viplimited']>0){ | |
| 1213 | + } | |
| 1214 | + }) | |
| 1215 | + | |
| 1216 | + //---- 要计算商品的限购 ----- | |
| 1217 | + if(good['viplimited']>0){ | |
| 1200 | 1218 | if(cart_num+buynum>good['viplimited']){ |
| 1201 | 1219 | err_text+= good['goods_name']+"超出限购\n"; |
| 1202 | 1220 | continue; |
| 1203 | - } | |
| 1221 | + } | |
| 1204 | 1222 | good['viplimited']-=(cart_num+buynum); |
| 1205 | 1223 | if(b_item.goods_num>good['viplimited']){ |
| 1206 | 1224 | b_item.goods_num=good['viplimited']; |
| 1207 | 1225 | } |
| 1208 | - | |
| 1226 | + | |
| 1209 | 1227 | } |
| 1210 | - | |
| 1228 | + | |
| 1211 | 1229 | //-- 判断活动的库存 -- |
| 1212 | - if(prom){ | |
| 1230 | + if(prom){ | |
| 1213 | 1231 | if(prom['goods_num']<=prom['buy_num']){ |
| 1214 | 1232 | err_text+= good['goods_name']+"超出活动库存\n";continue; |
| 1215 | - } | |
| 1216 | - | |
| 1233 | + } | |
| 1234 | + | |
| 1217 | 1235 | if(b_item.goods_num>prom['goods_num']-prom['buy_num']){ |
| 1218 | 1236 | b_item['goods_num']= b_item['goods_num']-b_item['buy_num']; |
| 1219 | 1237 | } |
| 1220 | - | |
| 1238 | + | |
| 1221 | 1239 | if(b_item.goods_num>redis_num){ |
| 1222 | 1240 | b_item.goods_num=redis_num; |
| 1223 | - } | |
| 1224 | - | |
| 1241 | + } | |
| 1242 | + | |
| 1225 | 1243 | if(cart_num+buynum>prom['buy_limit']){ |
| 1226 | 1244 | err_text+= good['goods_name']+"超出活动限购\n";continue; |
| 1227 | 1245 | } |
| 1228 | 1246 | prom['buy_limit'] -= (cart_num+buynum); |
| 1229 | 1247 | if(b_item.goods_num>prom['buy_limit']){ |
| 1230 | - b_item.goods_num=prom['buy_limit']; | |
| 1248 | + b_item.goods_num=prom['buy_limit']; | |
| 1231 | 1249 | } |
| 1232 | - | |
| 1250 | + | |
| 1233 | 1251 | } |
| 1234 | - back_goods_arr.push(b_item); //返回商品元素 | |
| 1235 | - } | |
| 1252 | + back_goods_arr.push(b_item); //返回商品元素 | |
| 1253 | + } | |
| 1236 | 1254 | } |
| 1237 | 1255 | |
| 1238 | 1256 | //有重新购买的数据是时候,就要重新生成订单 | ... | ... |
pages/user/userinfo/userinfo.wxml
| ... | ... | @@ -10,12 +10,12 @@ |
| 10 | 10 | </view> |
| 11 | 11 | <view class="flex-center vipmax"> |
| 12 | 12 | <view> |
| 13 | - <view class="fs32"> | |
| 14 | - <view class="ellipsis-1 Nickname">{{user.nickname}} | |
| 13 | + <view> | |
| 14 | + <view class="ellipsis-2 Nickname" style="font-size: 31rpx">{{user.nickname}} | |
| 15 | 15 | </view> |
| 16 | 16 | </view> |
| 17 | 17 | |
| 18 | - <view class="flex-center fs22 vip"> | |
| 18 | + <view class="flex fs22 vip"> | |
| 19 | 19 | <block wx:if="{{isBool&&gradename}}"> |
| 20 | 20 | <navigator url="/pages/user/userqy/userqy"> |
| 21 | 21 | <view class="flex-center AncrownMax"> | ... | ... |