Commit 2adcd0faa5e58cbe43537a523537f8a97b6a2705
1 parent
1a3700ce
fix:购物车问题
Showing
2 changed files
with
138 additions
and
105 deletions
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, |