Commit 2adcd0faa5e58cbe43537a523537f8a97b6a2705

Authored by 泉州测试
1 parent 1a3700ce

fix:购物车问题

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