Commit 19d480b4dc367260d26b1553aa75a761cd490b9f
1 parent
a8e5fd02
小程序多活动的优化
Showing
5 changed files
with
148 additions
and
109 deletions
pages/cart/cart2_pt/cart2_pt.js
... | ... | @@ -418,6 +418,8 @@ Page({ |
418 | 418 | th.calculatePrice2(); |
419 | 419 | } else { |
420 | 420 | |
421 | + | |
422 | + gd.prom_id=gg.prom_id; | |
421 | 423 | //--阶梯团很特殊,不能用总表来拿价格-- |
422 | 424 | getApp().request.get("/api/weshop/teamlist/get/" + oo.stoid + "/" + gd.prom_id, { |
423 | 425 | success: function (tt) { |
... | ... | @@ -458,6 +460,11 @@ Page({ |
458 | 460 | if (pt_data.kttype == 3) { |
459 | 461 | t.data.data.shop_price = tt.data.data.yf_price; //用定金来购买 |
460 | 462 | } |
463 | + | |
464 | + t.data.data.prom_id = gd.prom_id; | |
465 | + t.data.data.prom_type = 6; | |
466 | + | |
467 | + | |
461 | 468 | } |
462 | 469 | } else { |
463 | 470 | t.data.data.prom_id = 0; | ... | ... |
pages/cart/cart_wk/cart_wk.js
... | ... | @@ -786,7 +786,7 @@ Page({ |
786 | 786 | switch (ord_prom['type']) { |
787 | 787 | case 0: |
788 | 788 | allpice = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 |
789 | - order_prom_amount = (o_condition - order_m).toFixed(2); | |
789 | + order_prom_amount = (o_condition - allpice).toFixed(2); | |
790 | 790 | break; |
791 | 791 | case 1: |
792 | 792 | //-- 如果有优惠促销倍减的时候 -- |
... | ... | @@ -847,7 +847,7 @@ Page({ |
847 | 847 | switch (ord_prom['type']) { |
848 | 848 | case 0: |
849 | 849 | allpice = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折 |
850 | - order_prom_amount = (o_condition - order_m).toFixed(2); | |
850 | + order_prom_amount = (o_condition - allpice).toFixed(2); | |
851 | 851 | break; |
852 | 852 | case 1: |
853 | 853 | //-- 如果有优惠促销倍减的时候 -- | ... | ... |
pages/user/order_detail/order_detail.js
... | ... | @@ -543,12 +543,7 @@ Page({ |
543 | 543 | |
544 | 544 | //商品的普通购买 ,不要进行判断 |
545 | 545 | if((good.prom_type==1 || good.prom_type==2 || good.prom_type==6 || good.prom_type==4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){ |
546 | - if(gg.prom_type!=good.prom_type && gg.prom_type>0) { | |
547 | - var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买'; | |
548 | - th.toast(content); | |
549 | - th.setData({paying:0}); | |
550 | - return false; | |
551 | - } | |
546 | + | |
552 | 547 | }else{ |
553 | 548 | if((gg.prom_type==1 || gg.prom_type==3 || gg.prom_type==5 || gg.prom_type==6 || gg.prom_type==4) |
554 | 549 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { |
... | ... | @@ -597,7 +592,7 @@ Page({ |
597 | 592 | if(prom){ |
598 | 593 | var t_now=ut.gettimestamp(); |
599 | 594 | if(prom.is_end==0 && prom.start_time<t_now && prom.end_time>t_now){ |
600 | - | |
595 | + | |
601 | 596 | var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买'; |
602 | 597 | th.toast(content); |
603 | 598 | th.setData({paying:0}); |
... | ... | @@ -1160,94 +1155,105 @@ Page({ |
1160 | 1155 | b_item.price=good[card_field]; |
1161 | 1156 | } |
1162 | 1157 | |
1163 | - var url="/api/weshop/activitylist/getGoodActInfo"; | |
1164 | - var req_data={ | |
1165 | - store_id:g_item.store_id,goodsidlist:g_item.goods_id,is_detail:1,user_id:user_id | |
1158 | + var url = "/api/weshop/activitylist/listGoodActInfo2New"; | |
1159 | + var req_data = { | |
1160 | + store_id: g_item.store_id, goods_id: g_item.goods_id, user_id: user_id | |
1166 | 1161 | }; |
1167 | - await getApp().request.promiseGet(url, {data:req_data}).then(res=>{ | |
1168 | - if(res.data.code==0){ | |
1169 | - var list = res.data.data; | |
1170 | - for(let i in list){ | |
1171 | - let item=list[i]; | |
1172 | - if(item.prom_type==1){ good.prom_type=1; good.prom_id=item.act_id; } | |
1162 | + await getApp().request.promiseGet(url, { data: req_data }).then(res => { | |
1163 | + if (res.data.code == 0) { | |
1164 | + | |
1165 | + var arr = res.data.data; | |
1166 | + //-- 预热也要计算 -- | |
1167 | + var arr2 = arr.filter(function (e) { | |
1168 | + return e.s_time < ut.gettimestamp(); | |
1169 | + }) | |
1170 | + | |
1171 | + if (arr2.length == 1) { | |
1172 | + good.prom_type = 1; | |
1173 | + good.prom_id = item.act_id; | |
1174 | + | |
1175 | + | |
1176 | + | |
1177 | + } | |
1178 | + else if (arr2.length > 1) { | |
1179 | + good.prom_type = g_item.prom_type; good.prom_id = g_item.prom_id; | |
1173 | 1180 | } |
1174 | 1181 | } |
1175 | 1182 | }) |
1176 | 1183 | |
1177 | - if(!prom) { | |
1178 | - //--判断商品当前的活动情况-- | |
1179 | - switch (good.prom_type) { | |
1180 | - case 1: | |
1181 | - var flash = null; | |
1182 | - await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + good.prom_id, {}).then(res => { | |
1183 | - if (res.data.code == 0) { | |
1184 | - flash = res.data.data; | |
1185 | - } | |
1186 | - }) | |
1187 | - //----已经结束----- | |
1188 | - if (flash && flash.is_end == 0) { | |
1189 | - | |
1190 | - if( flash.end_time > timestamp && flash.start_time < timestamp){ | |
1191 | - prom = flash; | |
1192 | - prom.price = prom.user_price; | |
1193 | - b_item.price = prom.price; | |
1194 | - good.prom_type = 1; | |
1195 | - good.prom_id = prom.id; | |
1196 | - }else{ | |
1197 | - if(g_item.prom_type==0 && !flash.is_shop_buy ){ | |
1198 | - err_text+=g_item['goods_name']+"秒杀活动不允许普通价\n"; | |
1199 | - continue; | |
1200 | - } | |
1184 | + //--判断商品当前的活动情况-- | |
1185 | + switch (good.prom_type) { | |
1186 | + case 1: | |
1187 | + var flash = null; | |
1188 | + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + good.prom_id, {}).then(res => { | |
1189 | + if (res.data.code == 0) { | |
1190 | + flash = res.data.data; | |
1191 | + } | |
1192 | + }) | |
1193 | + //----已经结束----- | |
1194 | + if (flash && flash.is_end == 0) { | |
1195 | + | |
1196 | + if( flash.end_time > timestamp && flash.start_time < timestamp){ | |
1197 | + prom = flash; | |
1198 | + prom.price = prom.user_price; | |
1199 | + b_item.price = prom.price; | |
1200 | + good.prom_type = 1; | |
1201 | + good.prom_id = prom.id; | |
1202 | + }else{ | |
1203 | + if(g_item.prom_type==0 && !flash.is_shop_buy ){ | |
1204 | + err_text+=g_item['goods_name']+"秒杀活动不允许普通价\n"; | |
1205 | + continue; | |
1201 | 1206 | } |
1207 | + } | |
1202 | 1208 | |
1209 | + } | |
1210 | + break; | |
1211 | + case 2: | |
1212 | + var group = null; | |
1213 | + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + good.goods_id + "/" + good.prom_id, {}).then(res => { | |
1214 | + if (res.data.code == 0) { | |
1215 | + group = res.data.data; | |
1203 | 1216 | } |
1204 | - break; | |
1205 | - case 2: | |
1206 | - var group = null; | |
1207 | - await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + good.goods_id + "/" + good.prom_id, {}).then(res => { | |
1208 | - if (res.data.code == 0) { | |
1209 | - group = res.data.data; | |
1210 | - } | |
1211 | - }) | |
1212 | - //----已经结束----- | |
1213 | - if (group && group.is_end == 0 && group.end_time > timestamp && group.start_time < timestamp) { | |
1214 | - prom = group; | |
1215 | - prom.price = prom.price; | |
1216 | - b_item.price = prom.price; | |
1217 | - } | |
1218 | - break; | |
1219 | - case 6: | |
1220 | - b_item.is_pd_normal = 1; | |
1221 | - break; | |
1222 | - case 7: | |
1223 | - //如果有组合购 | |
1224 | - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; | |
1225 | - await getApp().request.promiseGet(url, {}).then(res => { | |
1226 | - if (res.data.code == 0 && res.data.data) { | |
1227 | - if (res.data.data.is_show == 1 && res.data.data.is_end == 0 | |
1228 | - && ut.gettimestamp() < res.data.data.end_time | |
1229 | - && ut.gettimestamp() > res.data.data.start_time | |
1230 | - ) { | |
1231 | - b_item.prom_type = 7; | |
1232 | - b_item.prom_id = res.data.data.id; | |
1233 | - good.prom_type = 7; | |
1234 | - good.prom_id = res.data.data.id; | |
1235 | - } | |
1217 | + }) | |
1218 | + //----已经结束----- | |
1219 | + if (group && group.is_end == 0 && group.end_time > timestamp && group.start_time < timestamp) { | |
1220 | + prom = group; | |
1221 | + prom.price = prom.price; | |
1222 | + b_item.price = prom.price; | |
1223 | + } | |
1224 | + break; | |
1225 | + case 6: | |
1226 | + b_item.is_pd_normal = 1; | |
1227 | + break; | |
1228 | + case 7: | |
1229 | + //如果有组合购 | |
1230 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; | |
1231 | + await getApp().request.promiseGet(url, {}).then(res => { | |
1232 | + if (res.data.code == 0 && res.data.data) { | |
1233 | + if (res.data.data.is_show == 1 && res.data.data.is_end == 0 | |
1234 | + && ut.gettimestamp() < res.data.data.end_time | |
1235 | + && ut.gettimestamp() > res.data.data.start_time | |
1236 | + ) { | |
1237 | + b_item.prom_type = 7; | |
1238 | + b_item.prom_id = res.data.data.id; | |
1239 | + good.prom_type = 7; | |
1240 | + good.prom_id = res.data.data.id; | |
1236 | 1241 | } |
1237 | - }) | |
1238 | - break; | |
1239 | - case 10: | |
1240 | - | |
1241 | - var url = `/api/weshop/prom/ladderForm/getNew/${os.stoid}/${user_id}/${good.prom_id}`; | |
1242 | - await getApp().request.promiseGet(url, {}).then(res => { | |
1243 | - if (res.data.code == 0 && res.data.data && res.data.data.isuse && res.data.data.is_end == 0) { | |
1244 | - b_item.prom_type = 10; | |
1245 | - b_item.prom_id = res.data.data.id; | |
1246 | - } | |
1247 | - }) | |
1248 | - break; | |
1249 | - } | |
1242 | + } | |
1243 | + }) | |
1244 | + break; | |
1245 | + case 10: | |
1246 | + | |
1247 | + var url = `/api/weshop/prom/ladderForm/getNew/${os.stoid}/${user_id}/${good.prom_id}`; | |
1248 | + await getApp().request.promiseGet(url, {}).then(res => { | |
1249 | + if (res.data.code == 0 && res.data.data && res.data.data.isuse && res.data.data.is_end == 0) { | |
1250 | + b_item.prom_type = 10; | |
1251 | + b_item.prom_id = res.data.data.id; | |
1252 | + } | |
1253 | + }) | |
1254 | + break; | |
1250 | 1255 | } |
1256 | + | |
1251 | 1257 | |
1252 | 1258 | //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 |
1253 | 1259 | if((g_item.prom_type==3 || good.prom_type==3) && good.whsle_id<=0){ |
... | ... | @@ -1603,12 +1609,33 @@ Page({ |
1603 | 1609 | if (res.data.data.total > 0) { |
1604 | 1610 | b_cart_goods= res.data.data.pageData[0]; |
1605 | 1611 | } |
1606 | - }) | |
1612 | + }) | |
1613 | + | |
1614 | + | |
1615 | + //-- 判断购物车是不是有重复 -- | |
1616 | + var is_has=0; | |
1617 | + if(b_cart_goods) { | |
1618 | + for (let jr = 0; jr < b_cart_goods.length; jr++) { | |
1619 | + var b_cart_item = b_cart_goods[jr]; | |
1620 | + if (g_item.prom_type == 0) { | |
1621 | + if ([0, 3, 5, 7, 10].indexOf(b_cart_item.prom_type) > -1) { | |
1622 | + is_has = b_cart_item.id; | |
1623 | + break | |
1624 | + } | |
1625 | + } else { | |
1626 | + if (b_cart_goods.prom_type == g_item.prom_type && b_cart_goods.prom_id == g_item.prom_id) { | |
1627 | + is_has = b_cart_item.id; | |
1628 | + break | |
1629 | + } | |
1630 | + } | |
1631 | + } | |
1632 | + } | |
1633 | + | |
1607 | 1634 | |
1608 | 1635 | //-- 如果就加入过购物车 -- |
1609 | - if(b_cart_goods){ | |
1636 | + if(is_has){ | |
1610 | 1637 | var updata = { |
1611 | - id: b_cart_goods.id, | |
1638 | + id: is_has, | |
1612 | 1639 | goods_num: newd.goods_num + b_cart_goods.goods_num, |
1613 | 1640 | goods_price: newd.goods_price, |
1614 | 1641 | member_goods_price:newd.goods_price, |
... | ... | @@ -1688,7 +1715,15 @@ Page({ |
1688 | 1715 | var user_id=getApp().globalData.user_id; |
1689 | 1716 | if(!user_id) user_id=0; |
1690 | 1717 | |
1691 | - var gd= e.currentTarget.dataset.gd; | |
1718 | + var gd_item= e.currentTarget.dataset.gd; | |
1719 | + var gd=gd_item.goods_id; | |
1720 | + | |
1721 | + if(gd_item.prom_type>0){ | |
1722 | + good_url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gd + "&prom_id=" + gd_item.prom_id + "&prom_type="+gd_item.prom_type; | |
1723 | + getApp().goto(good_url); | |
1724 | + return false; | |
1725 | + } | |
1726 | + | |
1692 | 1727 | var good_url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + gd; |
1693 | 1728 | var url="/api/weshop/activitylist/getGoodActInfo"; |
1694 | 1729 | var req_data={ | ... | ... |
pages/user/order_detail/order_detail.wxml
... | ... | @@ -20,12 +20,12 @@ |
20 | 20 | </view> |
21 | 21 | <!--wx:if="{{item.return_btn!=4}}" --> |
22 | 22 | <view class="order-detail" wx:for="{{order.order_goods}}" wx:key="{{index}}" > |
23 | - <view class="goods-img" bindtap="go_gd" data-gd="{{item.goods_id}}"> | |
23 | + <view class="goods-img" bindtap="go_gd" data-gd="{{item}}"> | |
24 | 24 | <image class="wh100" src="{{resourceUrl+item.original_img}}" binderror="bind_bnerr" lazy-load="true" |
25 | 25 | data-errorimg="order.order_goods[{{index}}].original_img"></image> |
26 | 26 | </view> |
27 | 27 | <!-- 跳转到商品 --> |
28 | - <navigator class="order-cont" bindtap="go_gd" data-gd="{{item.goods_id}}"> | |
28 | + <navigator class="order-cont" bindtap="go_gd" data-gd="{{item}}"> | |
29 | 29 | <view class="goods-name">{{item.goods_name}}</view> |
30 | 30 | <!--<view class="goods-color">{{item.goods_spec}} {{item.goods_color}}</view>--> |
31 | 31 | <view class="goods-color">{{filters.show_gui_ge(item.goods_spec,item.goods_color)}}</view> | ... | ... |
pages/user/order_list/order_list.js
... | ... | @@ -882,12 +882,6 @@ Page({ |
882 | 882 | //商品的普通购买 ,不要进行判断 |
883 | 883 | if ((good.prom_type == 1 || good.prom_type == 2 || good.prom_type == 6 || good.prom_type == 4 || good.prom_type == 8) |
884 | 884 | && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal) { |
885 | - if (gg.prom_type != good.prom_type && gg.prom_type > 0) { | |
886 | - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; | |
887 | - th.toast(content); | |
888 | - th.setData({ paying: 0 }); | |
889 | - return false; | |
890 | - } | |
891 | 885 | |
892 | 886 | } else { |
893 | 887 | if ((gg.prom_type == 1 || good.prom_type == 2 || gg.prom_type == 3 || gg.prom_type == 5 || gg.prom_type == 6 || gg.prom_type == 4) |
... | ... | @@ -1485,7 +1479,8 @@ Page({ |
1485 | 1479 | }) |
1486 | 1480 | |
1487 | 1481 | if (arr2.length == 1) { |
1488 | - good.prom_type = 1; good.prom_id = item.act_id; | |
1482 | + good.prom_type = item.prom_type; | |
1483 | + good.prom_id = item.act_id; | |
1489 | 1484 | } |
1490 | 1485 | else if (arr2.length > 1) { |
1491 | 1486 | good.prom_type = g_item.prom_type; good.prom_id = g_item.prom_id; |
... | ... | @@ -1549,8 +1544,6 @@ Page({ |
1549 | 1544 | ) { |
1550 | 1545 | b_item.prom_type = 7; |
1551 | 1546 | b_item.prom_id = res.data.data.id; |
1552 | - good.prom_type = 7; | |
1553 | - good.prom_id = b_item.prom_id; | |
1554 | 1547 | |
1555 | 1548 | } |
1556 | 1549 | } |
... | ... | @@ -1926,23 +1919,27 @@ Page({ |
1926 | 1919 | }).then(res => { |
1927 | 1920 | //-------如果购物车中有相关的数据------- |
1928 | 1921 | if (res.data.data.total > 0) { |
1929 | - b_cart_goods = res.data.data.pageData[0]; | |
1922 | + b_cart_goods = res.data.data.pageData; | |
1930 | 1923 | } |
1931 | 1924 | }) |
1932 | 1925 | |
1933 | 1926 | //-- 判断购物车是不是有重复 -- |
1934 | - var is_has=0; | |
1927 | + var is_has=null; | |
1935 | 1928 | if(b_cart_goods) { |
1929 | + | |
1930 | + | |
1936 | 1931 | for (let jr = 0; jr < b_cart_goods.length; jr++) { |
1937 | 1932 | var b_cart_item = b_cart_goods[jr]; |
1933 | + | |
1934 | + | |
1938 | 1935 | if (g_item.prom_type == 0) { |
1939 | 1936 | if ([0, 3, 5, 7, 10].indexOf(b_cart_item.prom_type) > -1) { |
1940 | - is_has = b_cart_item.id; | |
1937 | + is_has = b_cart_item; | |
1941 | 1938 | break |
1942 | 1939 | } |
1943 | 1940 | } else { |
1944 | - if (b_cart_goods.prom_type == g_item.prom_type && b_cart_goods.prom_id == g_item.prom_id) { | |
1945 | - is_has = b_cart_item.id; | |
1941 | + if (b_cart_item.prom_type == g_item.prom_type && b_cart_item.prom_id == g_item.prom_id) { | |
1942 | + is_has = b_cart_item; | |
1946 | 1943 | break |
1947 | 1944 | } |
1948 | 1945 | } |
... | ... | @@ -1952,8 +1949,8 @@ Page({ |
1952 | 1949 | //-- 如果就加入过购物车 -- |
1953 | 1950 | if (is_has) { |
1954 | 1951 | var updata = { |
1955 | - id: is_has_cart, | |
1956 | - goods_num: newd.goods_num + b_cart_goods.goods_num, | |
1952 | + id: is_has.id, | |
1953 | + goods_num: newd.goods_num + is_has.goods_num, | |
1957 | 1954 | goods_price: newd.goods_price, |
1958 | 1955 | member_goods_price: newd.goods_price, |
1959 | 1956 | store_id: os.stoid, | ... | ... |