Commit 2badbe81874fe3e595892b4887c8b38928b42eb5

Authored by yvan.ni
1 parent da9d6b70

秒杀和全场活动的叠加

packageE/pages/cart/cart2/cart2.js
... ... @@ -1411,7 +1411,7 @@ Page({
1411 1411 }
1412 1412 th.setData({ collocation_goods: gg.collocation_goods });
1413 1413  
1414   - if (th.data.all_collocation_list) {
  1414 + if (th.data.all_collocation_list && gg.collocation_goods) {
1415 1415 for (var i = 0; i < th.data.all_collocation_list.length; i++) {
1416 1416 var item0 = th.data.all_collocation_list[i];
1417 1417 var idx = gg.collocation_goods.findIndex(function (e) {
... ... @@ -1425,12 +1425,14 @@ Page({
1425 1425  
1426 1426 }
1427 1427  
  1428 + if( gg.collocation_goods){
  1429 + //var narr=gg.collocation_goods;
  1430 + //修改成深拷贝,确保返回是数据正确
  1431 + var narr = JSON.parse(JSON.stringify(gg.collocation_goods));
  1432 + narr.push(t.data.data);
  1433 + await th.get_collocation_list(narr);
  1434 + }
1428 1435  
1429   - //var narr=gg.collocation_goods;
1430   - //修改成深拷贝,确保返回是数据正确
1431   - var narr = JSON.parse(JSON.stringify(gg.collocation_goods));
1432   - narr.push(t.data.data);
1433   - await th.get_collocation_list(narr);
1434 1436 }
1435 1437 th.setData({
1436 1438 bn_goods: gd, bn_pickname: gg.pick_name, index: m_wind,
... ... @@ -1914,6 +1916,9 @@ Page({
1914 1916  
1915 1917  
1916 1918 calclate_lbNum(r_data) {
  1919 +
  1920 + if(!r_data) return false;
  1921 +
1917 1922 let send_lb = this.data.send_lb;
1918 1923 //g_lb_num我的礼包 g_zxlb_num专享礼包
1919 1924 r_data.forEach(r_d => {
... ...
pages/cart/cart/cart.js
... ... @@ -427,6 +427,9 @@ Page({
427 427 th.data.ladder_map = {};
428 428 var rd = Math.random().toString(36).substr(2, 15);
429 429 var user_id = getApp().globalData.user_id;
  430 +
  431 + wx.showLoading();
  432 +
430 433 getApp().request.get("/api/weshop/cart/list", {
431 434 data: {
432 435 user_id: app.globalData.user_id,
... ... @@ -1161,6 +1164,8 @@ Page({
1161 1164 }),
1162 1165 th.doCheckAll(), wx.stopPullDownRefresh();
1163 1166  
  1167 + wx.hideLoading();
  1168 +
1164 1169 }
1165 1170 });
1166 1171 },
... ...
pages/goods/goodsInfo/goodsInfo.js
... ... @@ -987,8 +987,8 @@ Page({
987 987 ee.data.prom_id = t.data.data.prom_id;
988 988 }
989 989  
990   -
991 990 //一件代发商品不去计算优惠
  991 + //if (!ee.data.fir_goods.whsle_id && ee.data.prom_type != 1 && ee.data.prom_type != 4 && ee.data.prom_type != 6 && ee.data.prom_type != 2) {
992 992 if (!ee.data.fir_goods.whsle_id && ee.data.prom_type != 1 && ee.data.prom_type != 4 && ee.data.prom_type != 6 && ee.data.prom_type != 2) {
993 993 ee.check_is_youhui(ee.data.gid);
994 994 }
... ... @@ -2037,51 +2037,89 @@ Page({
2037 2037 } else {
2038 2038  
2039 2039 //-- 这一步主要是要让立即购买 走 购物车的逻辑 参与活动,如果有zh_act就强制组合购购买 --
2040   - if(th.data.zh_act && th.data.zh_act.buy_limit !=0 && th.data.zh_act.buy_limit <= th.data.userbuynum && th.data.zh_act.zhbuyqty <= th.data.goodsInputNum){
2041   - wx.hideLoading()
2042   -
2043   - wx.showModal({
2044   - title: '提示',
2045   - // content: `商品${str},组合购活动,购买次数已超,将以普通商品购买?`,
2046   - content: `${th.data.data.goods_name}超出组合购限购次数,将以普通商品购买`,
2047   - success:res=>{
2048   - if (res.confirm) {
2049   - console.log('用户点击确定')
2050   - //----先看会员在购物车中是否加入了该商品,立即购买的-----
2051   - getApp().request.get("/api/weshop/cart/page", {
2052   - data: {
  2040 + if(th.data.zh_act
  2041 + && th.data.zh_act.zhbuyqty <= th.data.goodsInputNum){
  2042 + wx.hideLoading();
  2043 +
  2044 + if((th.data.zh_act.buy_limit !=0 && th.data.zh_act.buy_limit <= th.data.userbuynum)){
  2045 + wx.showModal({
  2046 + title: '提示',
  2047 + // content: `商品${str},组合购活动,购买次数已超,将以普通商品购买?`,
  2048 + content: `${th.data.data.goods_name}超出组合购限购次数,将以普通商品购买`,
  2049 + success:res=>{
  2050 + if (res.confirm) {
  2051 + console.log('用户点击确定')
  2052 + //----先看会员在购物车中是否加入了该商品,立即购买的-----
  2053 + getApp().request.get("/api/weshop/cart/page", {
  2054 + data: {
2053 2055 store_id: e.data.stoid,
2054 2056 user_id: oo.user_id,
2055 2057 state: 1
2056   - },
2057   - success: function (res) {
  2058 + },
  2059 + success: function (res) {
2058 2060 //-------如果购物车中有相关的数据---------
2059 2061 if (res.data.code == 0 && res.data.data.total > 0) {
2060   - for (let j in res.data.data.pageData) {
2061   - let item_j = res.data.data.pageData[j];
2062   - var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
2063   - getApp().request.delete(url, {});
2064   - }
  2062 + for (let j in res.data.data.pageData) {
  2063 + let item_j = res.data.data.pageData[j];
  2064 + var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
  2065 + getApp().request.delete(url, {});
  2066 + }
2065 2067 }
2066 2068 newd.state = 1;
2067 2069 newd.prom_type=0;
2068 2070 newd.prom_id=0
2069 2071 getApp().request.post("/api/weshop/cart/save", {
2070   - data: newd,
2071   - success: function (t) {
2072   - th.closeSpecModal();
2073   - getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
2074   - }
  2072 + data: newd,
  2073 + success: function (t) {
  2074 + th.closeSpecModal();
  2075 + getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
  2076 + }
2075 2077 });
  2078 + }
  2079 + })
  2080 + } else if (res.cancel) {
  2081 +
  2082 + console.log('用户点击取消')
  2083 + }
  2084 + }
  2085 + })
  2086 + }else{
  2087 +
  2088 +
  2089 + //----先看会员在购物车中是否加入了该商品,立即购买的-----
  2090 + getApp().request.get("/api/weshop/cart/page", {
  2091 + data: {
  2092 + store_id: e.data.stoid,
  2093 + user_id: oo.user_id,
  2094 + state: 1
  2095 + },
  2096 + success: function (res) {
  2097 + //-------如果购物车中有相关的数据,先清理掉---------
  2098 + if (res.data.code == 0 && res.data.data.total > 0) {
  2099 + for (let j in res.data.data.pageData) {
  2100 + let item_j = res.data.data.pageData[j];
  2101 + var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id;
  2102 + getApp().request.delete(url, {});
2076 2103 }
2077   - })
2078   - } else if (res.cancel) {
  2104 + }
  2105 +
  2106 + newd.state = 1;
  2107 + newd.prom_type=7;
  2108 + newd.prom_id=th.data.zh_act.id;
  2109 + getApp().request.post("/api/weshop/cart/save", {
  2110 + data: newd,
  2111 + success: function (t) {
  2112 + th.closeSpecModal();
  2113 + getApp().goto("/packageE/pages/cart/cart2/cart2?state=1");
  2114 + }
  2115 + });
2079 2116  
2080   - console.log('用户点击取消')
  2117 + }
  2118 + })
2081 2119 }
2082   - }
2083   - })
2084   - return false
  2120 +
  2121 +
  2122 + return false
2085 2123 }else{
2086 2124 //----先看会员在购物车中是否加入了该商品,立即购买的-----
2087 2125 getApp().request.get("/api/weshop/cart/page", {
... ... @@ -2128,11 +2166,19 @@ Page({
2128 2166 }
2129 2167  
2130 2168 //如果有阶梯促销的时候
2131   - if(th.data.jieti_prom){
  2169 + if(th.data.jieti_prom && newd.prom_type==0){
2132 2170 newd.prom_type = 7;
2133 2171 newd.prom_id = th.data.ladder_act_id;
2134 2172 }
2135 2173  
  2174 +
  2175 + //如果有搭配购的时候的时候
  2176 + if(th.data.collocationGoods && newd.prom_type==0){
  2177 + newd.prom_type = 5;
  2178 + newd.prom_id = th.data.collocationGoods.id;
  2179 + }
  2180 +
  2181 +
2136 2182 newd['pick_name'] = th.data.sto_sele_name;
2137 2183 newd['pick_dis'] = th.data.sto_sele_distr;
2138 2184 th.buyNow(newd);
... ... @@ -2585,7 +2631,7 @@ Page({
2585 2631 callback();
2586 2632 } else {
2587 2633 //-- 判断有没有优惠活动 --
2588   - getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew/" + os.stoid + "/" + th.data.sele_g.goods_id + "/0" + "/" + usr.user_id, {}).then(res => {
  2634 + getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + th.data.sele_g.goods_id + "/0" + "/" + usr.user_id, {}).then(res => {
2589 2635 if (res.data.code == 0) {
2590 2636 var r_data = res.data.data;
2591 2637 th.data.prom_goods = r_data.promGoodsLists;
... ... @@ -7046,12 +7092,14 @@ Page({
7046 7092  
7047 7093 } else {
7048 7094 //调用接口判断订单优惠,
7049   - getApp().request.get("/api/weshop/goods/getGoodsPromListNew/" + os.stoid + "/" + gid + "/0" + "/" + user_id, {
  7095 + getApp().request.get("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gid + "/0" + "/" + user_id, {
7050 7096 success: function (res) {
7051 7097 if (res.data.code == 0 && res.data.data) {
7052 7098 var r_data = res.data.data;
7053 7099 var max = 0,
7054 7100 min = 0;
  7101 +
  7102 +
7055 7103 if (r_data.collocationList) {
7056 7104 for (var i in r_data.collocationList) {
7057 7105 if (max == 0) max = r_data.collocationList[i].price;
... ... @@ -7062,8 +7110,13 @@ Page({
7062 7110 }
7063 7111 r_data.collocationPromList.max = (max + th.data.data.shop_price).toFixed(2);
7064 7112 r_data.collocationPromList.min = (min + th.data.data.shop_price).toFixed(2);
  7113 +
  7114 + //如果有搭配促销先不和 阶梯促销和优惠测序重合,做到后台可以重合
  7115 + r_data.ladderLists=null;
  7116 + r_data.promGoodsLists=null;
7065 7117 }
7066 7118  
  7119 +
7067 7120 if (r_data.ladderLists) {
7068 7121 var act_id = r_data.ladderLists[0].form_id;
7069 7122 //-- 判断会员能不能参与阶梯促销 --
... ... @@ -7088,6 +7141,8 @@ Page({
7088 7141 })
7089 7142 }
7090 7143  
  7144 +
  7145 +
7091 7146 th.setData({
7092 7147 order_prom: r_data.promOrder,
7093 7148 collocationGoods: r_data.collocationPromList,
... ... @@ -7367,7 +7422,8 @@ Page({
7367 7422 store_id: os.stoid,
7368 7423 goodsidlist: this.data.data.goods_id,
7369 7424 is_detail: 1,
7370   - user_id: user_id
  7425 + user_id: user_id,
  7426 + timetype:0
7371 7427 };
7372 7428 //获取秒杀的多规格
7373 7429 getApp().request.promiseGet(url, {
... ... @@ -7470,7 +7526,7 @@ Page({
7470 7526 },
7471 7527  
7472 7528 //-- 检验商品的活动情况 --
7473   - check_gd_prom_new: function (func) {
  7529 + check_gd_prom_new: async function (func) {
7474 7530  
7475 7531 if([1,2,4,6,8,9].indexOf(parseInt(this.data.prom_type))>-1 ){
7476 7532 func(); return false;
... ... @@ -7480,7 +7536,7 @@ Page({
7480 7536 var user_id = getApp().globalData.user_id;
7481 7537 if (!user_id) user_id = 0;
7482 7538  
7483   - var url = '/api/weshop/activitylist/listGoodActInfo2';
  7539 + var url = '/api/weshop/activitylist/listGoodActInfo2New';
7484 7540 var req_d = {
7485 7541 "store_id": os.stoid,
7486 7542 "goods_id": this.data.gid,
... ... @@ -7491,7 +7547,8 @@ Page({
7491 7547 success: function (e) {
7492 7548 if (e.data.code == 0 && e.data.data && e.data.data.length > 0) {
7493 7549 var arr = e.data.data;
7494   - let times = new Date().getTime()
  7550 + let times = new Date().getTime();
  7551 +
7495 7552 arr.map(item=>{
7496 7553 //如果是积分购的话,要进行活动时间判断
7497 7554 if(item.prom_type==4){
... ... @@ -7505,8 +7562,9 @@ Page({
7505 7562 }
7506 7563 })
7507 7564  
  7565 + //-- 预热也要计算 --
7508 7566 var arr2 = arr.filter(function (e) {
7509   - return e.s_time < ut.gettimestamp();
  7567 + return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime<ut.gettimestamp() )
7510 7568 })
7511 7569  
7512 7570 var arr3 = arr.filter(function (e) {
... ...
pages/goods/goodsInfo/goodsInfo.wxml
... ... @@ -697,6 +697,7 @@
697 697 </view>
698 698 </view>
699 699 </view>
  700 +
700 701 <!-- - 搭配促销 -- -->
701 702 <view class="dp_cx_view" wx:if="{{collocationGoods}}">
702 703 <view class="bb_view">
... ...