Commit 2adcd0faa5e58cbe43537a523537f8a97b6a2705

Authored by 泉州测试
1 parent 1a3700ce

fix:购物车问题

packageA/pages/goodsInfo/goodsInfo.js
@@ -906,13 +906,6 @@ Page({ @@ -906,13 +906,6 @@ Page({
906 // 输入的数量 + 购物车同款商品的数量 906 // 输入的数量 + 购物车同款商品的数量
907 var maxNum = parseInt(t) + parseInt(cartGoodsNum); 907 var maxNum = parseInt(t) + parseInt(cartGoodsNum);
908 908
909 - if (maxNum > redisNum) {  
910 - wx.showModal({  
911 - title: '超出活动库存',  
912 - });  
913 - return false;  
914 - }  
915 -  
916 // 是否开启个人限购 909 // 是否开启个人限购
917 if (th.data.sele_g.viplimited > 0) { 910 if (th.data.sele_g.viplimited > 0) {
918 911
@@ -925,7 +918,12 @@ Page({ @@ -925,7 +918,12 @@ Page({
925 918
926 } 919 }
927 920
928 - 921 + if (maxNum > redisNum) {
  922 + wx.showModal({
  923 + title: '超出活动库存',
  924 + });
  925 + return false;
  926 + }
929 927
930 } 928 }
931 929
pages/cart/cart/cart.js
@@ -2016,19 +2016,84 @@ Page({ @@ -2016,19 +2016,84 @@ Page({
2016 th = e; 2016 th = e;
2017 var user_id = getApp().globalData.user_id; 2017 var user_id = getApp().globalData.user_id;
2018 var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num"; 2018 var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num";
  2019 +
2019 e.setData({ 2020 e.setData({
2020 [txt]: t.goods_num 2021 [txt]: t.goods_num
2021 }); 2022 });
2022 - // if(t.prom_type == 1) {  
2023 -  
2024 - // } else {  
2025 -  
2026 -  
2027 - // }; 2023 +
  2024 +
2028 if(t.prom_type == 1) { 2025 if(t.prom_type == 1) {
2029 - await e.checkCartNum(t, item, pitem); 2026 + var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num";
  2027 + var redis_num = 0;
  2028 +
  2029 + //------判断活动是否抢光-----
  2030 + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
  2031 + t.store_id + "/" + t.prom_type + "/" + t.prom_id, {
  2032 + 1: 1
  2033 + }).then(res => {
  2034 + redis_num = res.data.data;
  2035 + });
  2036 +
  2037 + // 检测库存
  2038 + if(redis_num == 0) {
  2039 + wx.showModal({
  2040 + title: '超出活动库存1',
  2041 + });
  2042 + th.setData({[txt]: redis_num});
  2043 + return false;
  2044 + };
  2045 +
  2046 + // 个人限购
  2047 + //----获取用户活动购买数----
  2048 + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum?store_id="+t.store_id+"&user_id="+getApp().globalData.user_id+"&card_id="+t.goods_id+"&prom_type="+t.prom_type+"&prom_id="+t.prom_id, {
  2049 + }).then(tt => {
  2050 + if (tt.data.code == 0) {
  2051 + th.setData({
  2052 + promcardbuynum: tt.data.data.promcardbuynum,
  2053 + cardbuynum: tt.data.data.cardbuynum,
  2054 + });
  2055 + };
  2056 + });
  2057 +
  2058 + var buylimit = 0
  2059 + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, {
  2060 +
  2061 + }).then(res => {
  2062 + if(res.data.code == 0) {
  2063 +
  2064 + th.data.sele_g = res.data.data;
  2065 + th.data.sele_g.viplimited = res.data.data.buy_limit;
  2066 + buylimit = res.data.data.buy_limit;
  2067 + };
  2068 + });
  2069 + //--秒杀:判断商品是否超出活动限购--
  2070 + if (buylimit > 0) {
  2071 +
  2072 + var gd_buy_num = th.data.promcardbuynum;
  2073 +
  2074 + // 如果限购数量<=活动库存数量,增加数量时会先超过限购数量,此时应提示“超出活动限购数量”
  2075 + if(t.goods_num + gd_buy_num > buylimit) {
  2076 + // 计算还可以购买的数量:库存量 - 已购数
  2077 + wx.showModal({
  2078 + title: '超出活动限购',
  2079 + });
  2080 + th.setData({[txt]: buylimit});
  2081 + return false;
  2082 + };
  2083 +
  2084 + }
  2085 +
  2086 + if(t.goods_num > redis_num) {
  2087 + wx.showModal({
  2088 + title: '超出活动库存2',
  2089 + });
  2090 + th.setData({[txt]: redis_num});
  2091 + return false;
  2092 + };
  2093 +
  2094 +
  2095 +
2030 } 2096 }
2031 -  
2032 await e.doCheckAll(); 2097 await e.doCheckAll();
2033 await e.update_cart_ser(t, pitem, item); 2098 await e.update_cart_ser(t, pitem, item);
2034 2099
@@ -2037,37 +2102,40 @@ Page({ @@ -2037,37 +2102,40 @@ Page({
2037 2102
2038 2103
2039 // 检查购物车数量 2104 // 检查购物车数量
2040 - async checkCartNum(t, item, pitem) { 2105 + async checkCartNum(t, item, pitem) {
2041 var th = this; 2106 var th = this;
2042 if(t.is_pd_normal) return false; 2107 if(t.is_pd_normal) return false;
2043 if (t.prom_type == 1) { 2108 if (t.prom_type == 1) {
2044 var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num"; 2109 var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num";
2045 - var redis_num = 0; 2110 + var redis_num = 0;
  2111 +
2046 //------判断活动是否抢光----- 2112 //------判断活动是否抢光-----
2047 - // await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +  
2048 - // t.store_id + "/" + t.prom_type + "/" + t.prom_id, {  
2049 - // 1: 1  
2050 - // }).then(res => {  
2051 - // redis_num = res.data.data;  
2052 - // if(redis_num == 0) {  
2053 - // wx.showModal({  
2054 - // title: '来晚了,已被抢光~',  
2055 - // });  
2056 - // return false;  
2057 - // };  
2058 - // if(t.goods_num > redis_num) {  
2059 - // wx.showModal({  
2060 - // title: '超出商品活动限购数量2',  
2061 - // // title: '来晚了,已被抢光~',  
2062 - // });  
2063 - // // th.setData({goodsInputNum: redis_num})  
2064 - // return false;  
2065 - // };  
2066 - // });  
2067 -  
2068 -  
2069 -  
2070 - //----获取活动购买数---- 2113 + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" +
  2114 + t.store_id + "/" + t.prom_type + "/" + t.prom_id, {
  2115 + 1: 1
  2116 + }).then(res => {
  2117 + redis_num = res.data.data;
  2118 + });
  2119 +
  2120 + // 检测库存
  2121 + if(redis_num == 0) {
  2122 + wx.showModal({
  2123 + title: '超出活动库存',
  2124 + });
  2125 + th.setData({[txt]: redis_num});
  2126 + return false;
  2127 + };
  2128 +
  2129 + if(t.goods_num > redis_num) {
  2130 + wx.showModal({
  2131 + title: '超出活动库存',
  2132 + });
  2133 + th.setData({[txt]: redis_num});
  2134 + return false;
  2135 + };
  2136 +
  2137 + // 个人限购
  2138 + //----获取用户活动购买数----
2071 await getApp().request.get("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", { 2139 await getApp().request.get("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", {
2072 data: { 2140 data: {
2073 store_id: t.store_id, 2141 store_id: t.store_id,
@@ -2087,72 +2155,41 @@ Page({ @@ -2087,72 +2155,41 @@ Page({
2087 }, 2155 },
2088 2156
2089 }); 2157 });
2090 -  
2091 -  
2092 - 2158 +
  2159 + var buylimit = 0
2093 await getApp().request.get("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, { 2160 await getApp().request.get("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, {
2094 success: function (res) { 2161 success: function (res) {
2095 if(res.data.code == 0) { 2162 if(res.data.code == 0) {
2096 th.data.sele_g = res.data.data; 2163 th.data.sele_g = res.data.data;
2097 - th.data.sele_g.viplimited = res.data.data.buy_limit;  
2098 - //--秒杀:判断商品是否超出活动限购--  
2099 - if (th.data.sele_g.viplimited > 0) {  
2100 - var gd_buy_num = th.data.promcardbuynum;  
2101 -  
2102 - // 如果限购数量>活动库存数量,增加数量时会先超过库存数量,此时应该提示“超出活动库存”;  
2103 - // 如果限购数量<=活动库存数量,增加数量时会先超过限购数量,此时应提示“超出活动限购数量”  
2104 -  
2105 - if(th.data.sele_g.viplimited > th.data.sele_g.goods_num) {  
2106 - // 计算还可以购买的数量:库存量 - 已购数  
2107 - var num = th.data.sele_g.goods_num - gd_buy_num;  
2108 - if(num < 0) num = 0;  
2109 - if(t.goods_num > num) {  
2110 - wx.showModal({  
2111 - title: '超出活动库存',  
2112 - });  
2113 -  
2114 - // var num = th.data.sele_g.goods_num;  
2115 - th.setData({[txt]: num});  
2116 - // t.goods_num = num;  
2117 - // th.doCheckAll();  
2118 - // th.update_cart_ser(t, pitem, item);  
2119 - // return false;  
2120 -  
2121 - };  
2122 -  
2123 - } else {  
2124 -  
2125 - if ((t.goods_num + gd_buy_num> th.data.sele_g.viplimited) && (t.goods_num <= th.data.sele_g.goods_num)) {  
2126 - wx.showModal({  
2127 - title: '超出活动限购数量',  
2128 - });  
2129 -  
2130 - var num = th.data.sele_g.viplimited - gd_buy_num;  
2131 - if (num <= 0) num = 1;  
2132 -  
2133 - th.setData({  
2134 - [txt]: num,  
2135 - gdnum: num,  
2136 - });  
2137 -  
2138 - // return false;  
2139 - }  
2140 -  
2141 - };  
2142 -  
2143 -  
2144 - t.goods_num = num;  
2145 - th.doCheckAll();  
2146 - th.update_cart_ser(t, pitem, item);  
2147 -  
2148 -  
2149 -  
2150 - };  
2151 - 2164 + th.data.sele_g.viplimited = res.data.data.buy_limit;
  2165 + buylimit = res.data.data.buy_limit;
2152 }; 2166 };
2153 }, 2167 },
2154 - });  
2155 - 2168 + });
  2169 +
  2170 +
  2171 + //--秒杀:判断商品是否超出活动限购--
  2172 + if (buylimit > 0) {
  2173 +
  2174 + var gd_buy_num = th.data.promcardbuynum;
  2175 +
  2176 + // 如果限购数量<=活动库存数量,增加数量时会先超过限购数量,此时应提示“超出活动限购数量”
  2177 + if(t.goods_num + gd_buy_num > buylimit) {
  2178 + // 计算还可以购买的数量:库存量 - 已购数
  2179 + wx.showModal({
  2180 + title: '超出活动限购',
  2181 + });
  2182 + th.setData({[txt]: buylimit});
  2183 +
  2184 + };
  2185 +
  2186 + }
  2187 +
  2188 +
  2189 + th.doCheckAll();
  2190 + th.update_cart_ser(t, pitem, item);
  2191 +
  2192 +
2156 2193
2157 }; 2194 };
2158 }, 2195 },
@@ -2275,9 +2312,7 @@ Page({ @@ -2275,9 +2312,7 @@ Page({
2275 //--更新购物车--- 2312 //--更新购物车---
2276 update_cart_ser: function (t, pitem, item) { 2313 update_cart_ser: function (t, pitem, item) {
2277 var e = this; 2314 var e = this;
2278 - // if(t.prom_type == 1) {  
2279 - // t.goods_num = e.data.gdnum;  
2280 - // } 2315 +
2281 console.log('t===>', t); 2316 console.log('t===>', t);
2282 getApp().request.put("/api/weshop/cartService/update", { 2317 getApp().request.put("/api/weshop/cartService/update", {
2283 data: t, 2318 data: t,