Commit cad3828782c425f421b4387eb93dd75f5f9fdfbe

Authored by 泉州测试
1 parent 0541f89d

fix修改预热活动数量限购问题

Showing 1 changed file with 112 additions and 108 deletions
pages/cart/cart/cart.js
@@ -1113,6 +1113,7 @@ Page({ @@ -1113,6 +1113,7 @@ Page({
1113 id: a.id, 1113 id: a.id,
1114 goods_id: a.service_id, 1114 goods_id: a.service_id,
1115 store_id: oo.stoid, 1115 store_id: oo.stoid,
  1116 + is_pd_normal: a. is_pd_normal
1116 }; 1117 };
1117 if(a.prom_type) { 1118 if(a.prom_type) {
1118 e.prom_type = a.prom_type; 1119 e.prom_type = a.prom_type;
@@ -1151,7 +1152,8 @@ Page({ @@ -1151,7 +1152,8 @@ Page({
1151 goods_num: a.goods_num - 1, 1152 goods_num: a.goods_num - 1,
1152 id: a.id, 1153 id: a.id,
1153 goods_id: a.service_id, 1154 goods_id: a.service_id,
1154 - store_id: oo.stoid 1155 + store_id: oo.stoid,
  1156 + is_pd_normal: a. is_pd_normal
1155 }; 1157 };
1156 1158
1157 this.postCardList_ser(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems); 1159 this.postCardList_ser(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
@@ -2027,124 +2029,126 @@ Page({ @@ -2027,124 +2029,126 @@ Page({
2027 [txt]: t.goods_num 2029 [txt]: t.goods_num
2028 }); 2030 });
2029 2031
2030 -  
2031 -  
2032 - if(t.prom_type == 1) {  
2033 - var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num";  
2034 - var redis_num = 0;  
2035 -  
2036 - // 获取其他门店,同类商品的数量  
2037 - var cartGoodsNum = 0;  
2038 - await getApp().request.promiseGet("/api/weshop/cartService/page?store_id="+t.store_id+"&user_id="+getApp().globalData.user_id+"&service_id="+t.goods_id,  
2039 - { }).then(res => {  
2040 - if (res.data.data.pageData.length > 0) {  
2041 - const tmpObj = res.data.data.pageData;  
2042 - tmpObj.forEach(v => {  
2043 - if (t.id != v.id) {  
2044 - cartGoodsNum += parseInt(v.goods_num);  
2045 - }  
2046 -  
2047 - }); 2032 + // 1.秒杀活动
  2033 + // 2.活动开始
  2034 + if(t.prom_type == 1 && t.is_pd_normal == 0) {
  2035 + var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num";
  2036 + var redis_num = 0;
  2037 +
  2038 + // 获取其他门店,同类商品的数量
  2039 + var cartGoodsNum = 0;
  2040 + await getApp().request.promiseGet("/api/weshop/cartService/page?store_id="+t.store_id+"&user_id="+getApp().globalData.user_id+"&service_id="+t.goods_id,
  2041 + { }).then(res => {
  2042 + if (res.data.data.pageData.length > 0) {
  2043 + const tmpObj = res.data.data.pageData;
  2044 + tmpObj.forEach(v => {
  2045 + if (t.id != v.id) {
  2046 + cartGoodsNum += parseInt(v.goods_num);
2048 } 2047 }
  2048 +
2049 }); 2049 });
2050 - // 当前商品数量包括其他门店  
2051 - var totalNum = 0  
2052 - if (cartGoodsNum > 0) {  
2053 - totalNum = t.goods_num + cartGoodsNum;  
2054 - } else {  
2055 - totalNum = t.goods_num;  
2056 - } 2050 + }
  2051 + });
  2052 + // 当前商品数量包括其他门店
  2053 + var totalNum = 0
  2054 + if (cartGoodsNum > 0) {
  2055 + totalNum = t.goods_num + cartGoodsNum;
  2056 + } else {
  2057 + totalNum = t.goods_num;
  2058 + }
2057 2059
2058 - //获取当前商品活动库存  
2059 - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +  
2060 - t.store_id + "/" + t.prom_type + "/" + t.prom_id, {  
2061 - 1: 1  
2062 - }).then(res => {  
2063 - redis_num = res.data.data;  
2064 - });  
2065 -  
2066 - // 检测库存  
2067 - if(redis_num == 0) {  
2068 - wx.showToast({  
2069 - title: '超出活动库存',  
2070 - icon: 'none',  
2071 - });  
2072 - th.setData({[txt]: redis_num});  
2073 - await e.doCheckAll();  
2074 - return false;  
2075 - }; 2060 + //获取当前商品活动库存
  2061 + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
  2062 + t.store_id + "/" + t.prom_type + "/" + t.prom_id, {
  2063 + 1: 1
  2064 + }).then(res => {
  2065 + redis_num = res.data.data;
  2066 + });
  2067 +
  2068 + // 检测库存
  2069 + if(redis_num == 0) {
  2070 + wx.showToast({
  2071 + title: '超出活动库存',
  2072 + icon: 'none',
  2073 + });
  2074 + th.setData({[txt]: redis_num});
  2075 + await e.doCheckAll();
  2076 + return false;
  2077 + };
2076 2078
2077 - // 限购数量  
2078 - var buylimit = 0  
2079 - await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, {  
2080 -  
2081 - }).then(res => {  
2082 - if(res.data.code == 0) {  
2083 - th.data.sele_g = res.data.data;  
2084 - th.data.sele_g.viplimited = res.data.data.buy_limit;  
2085 - buylimit = !res.data.data.buy_limit ? 0 : res.data.data.buy_limit;  
2086 - };  
2087 - }); 2079 + // 限购数量
  2080 + var buylimit = 0
  2081 + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, {
  2082 +
  2083 + }).then(res => {
  2084 + if(res.data.code == 0) {
  2085 + th.data.sele_g = res.data.data;
  2086 + th.data.sele_g.viplimited = res.data.data.buy_limit;
  2087 + buylimit = !res.data.data.buy_limit ? 0 : res.data.data.buy_limit;
  2088 + };
  2089 + });
2088 2090
2089 - //用户已经成功付款购买的数量  
2090 - var gd_buy_num = 0;  
2091 - await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum?store_id="+t.store_id+"&user_id="+getApp().globalData.user_id+"&card_id="+t.card_id+"&prom_type="+t.prom_type+"&prom_id="+t.prom_id, {  
2092 - }).then(tt => {  
2093 - if (tt.data.code == 0) {  
2094 - gd_buy_num = !tt.data.data.promcardbuynum ? 0 : tt.data.data.promcardbuynum;  
2095 - th.setData({  
2096 - promcardbuynum: !tt.data.data.promcardbuynum ? 0 : tt.data.data.promcardbuynum,  
2097 - cardbuynum: tt.data.data.cardbuynum,  
2098 - });  
2099 - }; 2091 + //用户已经成功付款购买的数量
  2092 + var gd_buy_num = 0;
  2093 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum?store_id="+t.store_id+"&user_id="+getApp().globalData.user_id+"&card_id="+t.card_id+"&prom_type="+t.prom_type+"&prom_id="+t.prom_id, {
  2094 + }).then(tt => {
  2095 + if (tt.data.code == 0) {
  2096 + gd_buy_num = !tt.data.data.promcardbuynum ? 0 : tt.data.data.promcardbuynum;
  2097 + th.setData({
  2098 + promcardbuynum: !tt.data.data.promcardbuynum ? 0 : tt.data.data.promcardbuynum,
  2099 + cardbuynum: tt.data.data.cardbuynum,
2100 }); 2100 });
  2101 + };
  2102 + });
2101 2103
2102 - // 剩余购买数  
2103 - let num = buylimit - gd_buy_num; 2104 + // 剩余购买数
  2105 + let num = buylimit - gd_buy_num;
2104 2106
2105 - if(totalNum > redis_num) {  
2106 - wx.showToast({  
2107 - title: '超出活动库存',  
2108 - icon: 'none',  
2109 - });  
2110 - // 开启限购  
2111 - if (buylimit > 0) {  
2112 - if (num > redis_num) {  
2113 - th.setData({[txt]: redis_num-cartGoodsNum});  
2114 - } else {  
2115 - th.setData({[txt]: num - cartGoodsNum});  
2116 - }  
2117 - } else {  
2118 - th.setData({[txt]: redis_num - cartGoodsNum});  
2119 - } 2107 + if(totalNum > redis_num) {
  2108 + wx.showToast({
  2109 + title: '超出活动库存',
  2110 + icon: 'none',
  2111 + });
  2112 + // 开启限购
  2113 + if (buylimit > 0) {
  2114 + if (num > redis_num) {
  2115 + th.setData({[txt]: redis_num-cartGoodsNum});
  2116 + } else {
  2117 + th.setData({[txt]: num - cartGoodsNum});
  2118 + }
  2119 + } else {
  2120 + th.setData({[txt]: redis_num - cartGoodsNum});
  2121 + }
2120 2122
2121 - await e.doCheckAll();  
2122 - return false;  
2123 - }; 2123 + await e.doCheckAll();
  2124 + return false;
  2125 + };
2124 2126
  2127 +
  2128 + //--秒杀:判断商品是否超出活动限购--
  2129 + if (buylimit > 0) {
  2130 +
  2131 + // 如果限购数量<=活动库存数量,增加数量时会先超过限购数量,此时应提示“超出活动限购数量”
  2132 + if(totalNum > num) {
  2133 + // 计算还可以购买的数量:库存量 - 已购数
  2134 + wx.showToast({
  2135 + title: '超出活动限购',
  2136 + icon: 'none',
  2137 + });
  2138 + if (num <= 0) num = 1;
  2139 + th.setData({[txt]: num - cartGoodsNum});
  2140 + await e.doCheckAll();
  2141 + return false;
  2142 + };
2125 2143
2126 - //--秒杀:判断商品是否超出活动限购--  
2127 - if (buylimit > 0) {  
2128 -  
2129 - // 如果限购数量<=活动库存数量,增加数量时会先超过限购数量,此时应提示“超出活动限购数量”  
2130 - if(totalNum > num) {  
2131 - // 计算还可以购买的数量:库存量 - 已购数  
2132 - wx.showToast({  
2133 - title: '超出活动限购',  
2134 - icon: 'none',  
2135 - });  
2136 - if (num <= 0) num = 1;  
2137 - th.setData({[txt]: num - cartGoodsNum});  
2138 - await e.doCheckAll();  
2139 - return false;  
2140 - };  
2141 -  
2142 - }  
2143 -  
2144 -  
2145 - }  
2146 - await e.doCheckAll();  
2147 - await e.update_cart_ser(t, pitem, item); 2144 + }
  2145 +
  2146 +
  2147 + }
  2148 +
  2149 +
  2150 + await e.doCheckAll();
  2151 + await e.update_cart_ser(t, pitem, item);
2148 2152
2149 2153
2150 }, 2154 },