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, |