Commit da959847c64e5401f189766c4da0fda20b857781
1 parent
5cfde18d
fix:购物车库存限制
Showing
1 changed file
with
56 additions
and
46 deletions
packageA/pages/goodsInfo/goodsInfo.js
@@ -843,12 +843,16 @@ Page({ | @@ -843,12 +843,16 @@ Page({ | ||
843 | }, | 843 | }, |
844 | 844 | ||
845 | //------------加入购物车-------------- | 845 | //------------加入购物车-------------- |
846 | - addCart: function(t) { | 846 | + addCart: async function(t) { |
847 | var th = this; | 847 | var th = this; |
848 | var ind = t.currentTarget.dataset.openSpecModal_ind; | 848 | var ind = t.currentTarget.dataset.openSpecModal_ind; |
849 | var action= t.currentTarget.dataset.action; | 849 | var action= t.currentTarget.dataset.action; |
850 | if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; | 850 | if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; |
851 | - | 851 | + // 活动ID |
852 | + var prom_id = th.data.prom_id; | ||
853 | + | ||
854 | + var redisNum = 0; | ||
855 | + | ||
852 | th.setData({ | 856 | th.setData({ |
853 | open_ind_store: ind | 857 | open_ind_store: ind |
854 | }); | 858 | }); |
@@ -859,69 +863,79 @@ Page({ | @@ -859,69 +863,79 @@ Page({ | ||
859 | }; | 863 | }; |
860 | 864 | ||
861 | 865 | ||
862 | - | ||
863 | - | ||
864 | - //000000 | ||
865 | - //如果是秒杀的话,要看redis够不够 | ||
866 | - // if (this.data.prom_type == 1) { | ||
867 | - | ||
868 | - // if (this.data.openSpecModal_flash_normal) { | ||
869 | - // this.data.is_normal=1; //是普通购买 | ||
870 | - // return false; | ||
871 | - // } | ||
872 | - | ||
873 | - | ||
874 | - // this.getactLen(function (num) { | ||
875 | - // if (num < th.data.goodsInputNum) { | ||
876 | - // getApp().my_warnning("活动库存不足!", 0, th); | ||
877 | - // return false; | ||
878 | - // } else { | ||
879 | - // // th.add_cart_func(t); | ||
880 | - // } | ||
881 | - // }); | ||
882 | - // } else { | ||
883 | - // // th.add_cart_func(t); | ||
884 | - // } | ||
885 | - //000000 | ||
886 | - | ||
887 | // if(!this.data.openSpecModal_ind) { | 866 | // if(!this.data.openSpecModal_ind) { |
888 | if(this.data.prom_type == 1) { | 867 | if(this.data.prom_type == 1) { |
889 | this.data.sele_g.viplimited = this.data.sele_g.buy_limit; | 868 | this.data.sele_g.viplimited = this.data.sele_g.buy_limit; |
890 | 869 | ||
891 | - if(this.data.sele_g.viplimited > 0 && !this.data.is_normal) { | 870 | + if(!this.data.is_normal) { |
871 | + // 输入的数量 | ||
892 | var t = th.data.goodsInputNum; | 872 | var t = th.data.goodsInputNum; |
873 | + | ||
874 | + // 检查redis库存量 | ||
875 | + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + | ||
876 | + os.stoid + "/1/" + prom_id, | ||
877 | + {} | ||
878 | + ).then(res => { | ||
879 | + if (res.data.code == 0) { | ||
880 | + redisNum = res.data.data; | ||
881 | + }; | ||
882 | + }); | ||
883 | + | ||
884 | + if (t > redisNum) { | ||
885 | + wx.showModal({ | ||
886 | + title: '超出活动库存', | ||
887 | + }); | ||
888 | + return false; | ||
889 | + } | ||
890 | + | ||
891 | + // 获取购物车同类数量 判断是否超库存 | ||
892 | + var cartGoodsNum = 0; | ||
893 | + await getApp().request.promiseGet("/api/weshop/cartService/page?store_id="+os.stoid+"&user_id="+oo.user_id+"&service_id="+th.data.data.id+"&pick_id="+th.data.sto_sele_id, | ||
894 | + { }).then(res => { | ||
895 | + if (res.data.data.pageData.length > 0) { | ||
896 | + const tmpObj = res.data.data.pageData[0]; | ||
897 | + cartGoodsNum = tmpObj.goods_num; | ||
898 | + } | ||
899 | + | ||
900 | + }); | ||
901 | + | ||
902 | + if (cartGoodsNum >= redisNum) { | ||
903 | + wx.showModal({ | ||
904 | + title: '超出活动库存', | ||
905 | + }); | ||
906 | + return false; | ||
907 | + } | ||
908 | + | ||
909 | + // 每人限购数 | ||
893 | th.data.sele_g.viplimited = th.data.sele_g.buy_limit; | 910 | th.data.sele_g.viplimited = th.data.sele_g.buy_limit; |
911 | + | ||
912 | + // 是否开启个人限购 | ||
894 | if (th.data.sele_g.viplimited > 0) { | 913 | if (th.data.sele_g.viplimited > 0) { |
895 | - var gd_buy_num = th.data.sele_g.buy_num; | ||
896 | - | 914 | + // 已经付款的单数 |
915 | + var gd_buy_num = th.data.sele_g.buy_num; | ||
916 | + | ||
897 | if (t + gd_buy_num > th.data.sele_g.viplimited) { | 917 | if (t + gd_buy_num > th.data.sele_g.viplimited) { |
898 | wx.showModal({ | 918 | wx.showModal({ |
899 | - title: '超出活动库存', | 919 | + title: '超出活动限购数量', |
900 | }); | 920 | }); |
901 | 921 | ||
902 | let num = th.data.sele_g.viplimited - gd_buy_num; | 922 | let num = th.data.sele_g.viplimited - gd_buy_num; |
903 | if (num <= 0) num = 1; | 923 | if (num <= 0) num = 1; |
904 | th.setData({goodsInputNum: num}); | 924 | th.setData({goodsInputNum: num}); |
905 | return false; | 925 | return false; |
906 | - } | 926 | + } |
927 | + | ||
928 | + | ||
907 | }; | 929 | }; |
908 | }; | 930 | }; |
909 | }; | 931 | }; |
910 | 932 | ||
911 | 933 | ||
912 | - | ||
913 | // }; | 934 | // }; |
914 | 935 | ||
915 | - | ||
916 | - | ||
917 | - | ||
918 | - | ||
919 | - | ||
920 | - | ||
921 | - | ||
922 | 936 | ||
923 | 937 | ||
924 | - if(action=="buy"){ | 938 | + if(action=="buy"){ // 直接购买 |
925 | //--------------此时操作的数据------------ | 939 | //--------------此时操作的数据------------ |
926 | var newd = { | 940 | var newd = { |
927 | id: th.data.data.id, | 941 | id: th.data.data.id, |
@@ -946,10 +960,7 @@ Page({ | @@ -946,10 +960,7 @@ Page({ | ||
946 | 960 | ||
947 | // console.log('newd++++++++', newd); | 961 | // console.log('newd++++++++', newd); |
948 | th.buyNow(newd); | 962 | th.buyNow(newd); |
949 | - } else { | ||
950 | - | ||
951 | - | ||
952 | - | 963 | + } else { // 购物车 |
953 | 964 | ||
954 | var newd = { | 965 | var newd = { |
955 | service_id: th.data.data.id, | 966 | service_id: th.data.data.id, |
@@ -976,7 +987,6 @@ Page({ | @@ -976,7 +987,6 @@ Page({ | ||
976 | newd['money'] = th.data.prom_price; | 987 | newd['money'] = th.data.prom_price; |
977 | }; | 988 | }; |
978 | }; | 989 | }; |
979 | - | ||
980 | 990 | ||
981 | //----先看会员在购物车中是否加入了该商品----- | 991 | //----先看会员在购物车中是否加入了该商品----- |
982 | getApp().request.get("/api/weshop/cartService/page", { | 992 | getApp().request.get("/api/weshop/cartService/page", { |