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 | 906 | // 输入的数量 + 购物车同款商品的数量 |
907 | 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 | 910 | if (th.data.sele_g.viplimited > 0) { |
918 | 911 | |
... | ... | @@ -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 | 2016 | th = e; |
2017 | 2017 | var user_id = getApp().globalData.user_id; |
2018 | 2018 | var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num"; |
2019 | + | |
2019 | 2020 | e.setData({ |
2020 | 2021 | [txt]: t.goods_num |
2021 | 2022 | }); |
2022 | - // if(t.prom_type == 1) { | |
2023 | - | |
2024 | - // } else { | |
2025 | - | |
2026 | - | |
2027 | - // }; | |
2023 | + | |
2024 | + | |
2028 | 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 | 2097 | await e.doCheckAll(); |
2033 | 2098 | await e.update_cart_ser(t, pitem, item); |
2034 | 2099 | |
... | ... | @@ -2037,37 +2102,40 @@ Page({ |
2037 | 2102 | |
2038 | 2103 | |
2039 | 2104 | // 检查购物车数量 |
2040 | - async checkCartNum(t, item, pitem) { | |
2105 | + async checkCartNum(t, item, pitem) { | |
2041 | 2106 | var th = this; |
2042 | 2107 | if(t.is_pd_normal) return false; |
2043 | 2108 | if (t.prom_type == 1) { |
2044 | 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 | 2139 | await getApp().request.get("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", { |
2072 | 2140 | data: { |
2073 | 2141 | store_id: t.store_id, |
... | ... | @@ -2087,72 +2155,41 @@ Page({ |
2087 | 2155 | }, |
2088 | 2156 | |
2089 | 2157 | }); |
2090 | - | |
2091 | - | |
2092 | - | |
2158 | + | |
2159 | + var buylimit = 0 | |
2093 | 2160 | await getApp().request.get("/api/ms/flash_sale/getNew/" + t.store_id + "/" + getApp().globalData.user_id + "/" + t.prom_id, { |
2094 | 2161 | success: function (res) { |
2095 | 2162 | if(res.data.code == 0) { |
2096 | 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 | 2312 | //--更新购物车--- |
2276 | 2313 | update_cart_ser: function (t, pitem, item) { |
2277 | 2314 | var e = this; |
2278 | - // if(t.prom_type == 1) { | |
2279 | - // t.goods_num = e.data.gdnum; | |
2280 | - // } | |
2315 | + | |
2281 | 2316 | console.log('t===>', t); |
2282 | 2317 | getApp().request.put("/api/weshop/cartService/update", { |
2283 | 2318 | data: t, | ... | ... |