Commit e0129ff12bcae74c387a175bf406be06c5fcc88e
1 parent
4fda5f9f
优化幸运购,在普通购买的时候,参与组合促销的时候总数量和限购的优化
Showing
2 changed files
with
248 additions
and
47 deletions
packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js
@@ -2017,6 +2017,113 @@ Page({ | @@ -2017,6 +2017,113 @@ Page({ | ||
2017 | // e.prom_id = 0; | 2017 | // e.prom_id = 0; |
2018 | } | 2018 | } |
2019 | 2019 | ||
2020 | + //-- 这一步主要是要让立即购买 走 购物车的逻辑 参与活动,如果有zh_act就强制组合购购买,要计算一下组合购的总数量 -- | ||
2021 | + if(th.data.zh_act && (!th.data.zh_act.zh_num || th.data.zh_act.zh_buy_num>th.data.zh_act.zh_num ) | ||
2022 | + && th.data.zh_act.zhbuyqty <= th.data.goodsInputNum){ | ||
2023 | + wx.hideLoading(); | ||
2024 | + | ||
2025 | + if((th.data.zh_act.buy_limit !=0 && th.data.zh_act.buy_limit <= th.data.userbuynum)){ | ||
2026 | + wx.showModal({ | ||
2027 | + title: '提示', | ||
2028 | + // content: `商品${str},组合购活动,购买次数已超,将以普通商品购买?`, | ||
2029 | + content: `${th.data.data.goods_name}超出组合购限购次数,将以普通商品购买`, | ||
2030 | + success:res=>{ | ||
2031 | + if (res.confirm) { | ||
2032 | + console.log('用户点击确定') | ||
2033 | + //----先看会员在购物车中是否加入了该商品,立即购买的----- | ||
2034 | + getApp().request.get("/api/weshop/cart/page", { | ||
2035 | + data: { | ||
2036 | + store_id: os.stoid, | ||
2037 | + user_id: oo.user_id, | ||
2038 | + state: 1 | ||
2039 | + }, | ||
2040 | + success: function (res) { | ||
2041 | + //-------如果购物车中有相关的数据--------- | ||
2042 | + if (res.data.code == 0 && res.data.data.total > 0) { | ||
2043 | + for (let j in res.data.data.pageData) { | ||
2044 | + let item_j = res.data.data.pageData[j]; | ||
2045 | + var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id; | ||
2046 | + getApp().request.delete(url, {}); | ||
2047 | + } | ||
2048 | + } | ||
2049 | + e.state = 1; | ||
2050 | + e.prom_type=0; | ||
2051 | + e.prom_id=0 | ||
2052 | + getApp().request.post("/api/weshop/cart/save", { | ||
2053 | + data: e, | ||
2054 | + success: function (t) { | ||
2055 | + th.closeSpecModal(); | ||
2056 | + getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); | ||
2057 | + } | ||
2058 | + }); | ||
2059 | + } | ||
2060 | + }) | ||
2061 | + } else if (res.cancel) { | ||
2062 | + | ||
2063 | + console.log('用户点击取消') | ||
2064 | + } | ||
2065 | + } | ||
2066 | + }) | ||
2067 | + }else{ | ||
2068 | + | ||
2069 | + | ||
2070 | + //----先看会员在购物车中是否加入了该商品,立即购买的----- | ||
2071 | + getApp().request.get("/api/weshop/cart/page", { | ||
2072 | + data: { | ||
2073 | + store_id: os.stoid, | ||
2074 | + user_id: oo.user_id, | ||
2075 | + state: 1 | ||
2076 | + }, | ||
2077 | + success: function (res) { | ||
2078 | + //-------如果购物车中有相关的数据,先清理掉--------- | ||
2079 | + if (res.data.code == 0 && res.data.data.total > 0) { | ||
2080 | + for (let j in res.data.data.pageData) { | ||
2081 | + let item_j = res.data.data.pageData[j]; | ||
2082 | + var url = '/api/weshop/cart/del/' + os.stoid + '/' + item_j.id; | ||
2083 | + getApp().request.delete(url, {}); | ||
2084 | + } | ||
2085 | + } | ||
2086 | + | ||
2087 | + e.state = 1; | ||
2088 | + e.prom_type=7; | ||
2089 | + e.prom_id=th.data.zh_act.id; | ||
2090 | + getApp().request.post("/api/weshop/cart/save", { | ||
2091 | + data: e, | ||
2092 | + success: function (t) { | ||
2093 | + th.closeSpecModal(); | ||
2094 | + getApp().goto("/packageE/pages/cart/cart2/cart2?state=1"); | ||
2095 | + } | ||
2096 | + }); | ||
2097 | + | ||
2098 | + } | ||
2099 | + }) | ||
2100 | + } | ||
2101 | + | ||
2102 | + | ||
2103 | + return false | ||
2104 | + }else{ | ||
2105 | + //----先看会员在购物车中是否加入了该商品,立即购买的----- | ||
2106 | + getApp().request.get("/api/weshop/cart/page", { | ||
2107 | + data: { | ||
2108 | + store_id: os.stoid, | ||
2109 | + user_id: oo.user_id, | ||
2110 | + state: 1 | ||
2111 | + }, | ||
2112 | + success: function (res) { | ||
2113 | + //-------如果购物车中有相关的数据--------- | ||
2114 | + if (res.data.code == 0 && res.data.data.total > 0) { | ||
2115 | + for (let j in res.data.data.pageData) { | ||
2116 | + let item_j = res.data.data.pageData[j]; | ||
2117 | + var url = '/api/weshop/cart/del/' + e.data.stoid + '/' + item_j.id; | ||
2118 | + getApp().request.delete(url, {}); | ||
2119 | + } | ||
2120 | + } | ||
2121 | + | ||
2122 | + } | ||
2123 | + }) | ||
2124 | + | ||
2125 | + } | ||
2126 | + | ||
2020 | 2127 | ||
2021 | if(e.prom_type==10){ | 2128 | if(e.prom_type==10){ |
2022 | //----先看会员在购物车中是否加入了该商品,立即购买的----- | 2129 | //----先看会员在购物车中是否加入了该商品,立即购买的----- |
@@ -4514,15 +4621,9 @@ Page({ | @@ -4514,15 +4621,9 @@ Page({ | ||
4514 | newd['is_normal'] = th.data.is_normal; | 4621 | newd['is_normal'] = th.data.is_normal; |
4515 | 4622 | ||
4516 | if (newd['is_normal']) { | 4623 | if (newd['is_normal']) { |
4517 | - newd['is_pd_normal'] = 1; | ||
4518 | - //判断一下有没有全局优惠活动 | ||
4519 | - th.check_nor_promgood(newd.goods_id, function (e) { | ||
4520 | - if (e && e.act_id) { | ||
4521 | - newd['prom_type'] = e.prom_type; | ||
4522 | - newd['prom_id'] = e.act_id; | ||
4523 | - } | 4624 | + newd['is_pd_normal'] = 1; |
4625 | + //判断一下有没有全局优惠活动 | ||
4524 | th.buyNow(newd); | 4626 | th.buyNow(newd); |
4525 | - }); | ||
4526 | } | 4627 | } |
4527 | else { | 4628 | else { |
4528 | // 点击立即参团 | 4629 | // 点击立即参团 |
@@ -6106,52 +6207,135 @@ Page({ | @@ -6106,52 +6207,135 @@ Page({ | ||
6106 | }, | 6207 | }, |
6107 | 6208 | ||
6108 | //---检查有没有优惠活动--- | 6209 | //---检查有没有优惠活动--- |
6109 | - check_is_youhui: function (gid, is_nor) { | 6210 | + check_is_youhui:async function (gid, is_nor) { |
6110 | var th = this; | 6211 | var th = this; |
6111 | - //如果是普通购买的时候,要进行调用 | ||
6112 | - if (is_nor) { | ||
6113 | - getApp().request.get("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + gid, { | ||
6114 | - success: function (res) { | ||
6115 | - if (res.data.code == 0) { | ||
6116 | - var r_data = res.data.data; | ||
6117 | - th.setData({ | ||
6118 | - prom_goods: r_data.promGoodsLists, | 6212 | + var user_id = getApp().globalData.user_id; |
6213 | + if (!user_id) user_id = 0; | ||
6214 | + | ||
6215 | + //普通购买的时候,重新算一下组合购有没有 | ||
6216 | + if(is_nor){ | ||
6217 | + var arr3=null; | ||
6218 | + var url = '/api/weshop/activitylist/listGoodActInfo2New'; | ||
6219 | + var req_d = { | ||
6220 | + "store_id": os.stoid, | ||
6221 | + "goods_id": this.data.gid, | ||
6222 | + "user_id": user_id, | ||
6223 | + } | ||
6224 | + await getApp().request.promiseGet(url, { | ||
6225 | + data: req_d, | ||
6226 | + }).then(e=>{ | ||
6227 | + if (e.data.code == 0 && e.data.data && e.data.data.length > 0) { | ||
6228 | + var arr = e.data.data; | ||
6229 | + if(arr.length){ | ||
6230 | + arr3 = arr.filter(function (e) { | ||
6231 | + return e.s_time < ut.gettimestamp() && e.prom_type==7; | ||
6119 | }) | 6232 | }) |
6120 | - th.is_show_more_buy(); | ||
6121 | } | 6233 | } |
6122 | - }, | 6234 | + } |
6123 | }) | 6235 | }) |
6124 | 6236 | ||
6125 | - } else { | ||
6126 | - //调用接口判断订单优惠, | ||
6127 | - getApp().request.get("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + gid + "/0", { | ||
6128 | - success: function (res) { | ||
6129 | - console.log(res); | ||
6130 | - if (res.data.code == 0) { | ||
6131 | - var r_data = res.data.data; | ||
6132 | - var max = 0, min = 0; | ||
6133 | - if (r_data.collocationList) { | ||
6134 | - for (var i in r_data.collocationList) { | ||
6135 | - if (max == 0) max = r_data.collocationList[i].price; | ||
6136 | - if (min == 0) min = r_data.collocationList[i].price; | ||
6137 | - | ||
6138 | - if (max < parseFloat(r_data.collocationList[i].price)) max = r_data.collocationList[i].price; | ||
6139 | - if (min > parseFloat(r_data.collocationList[i].price)) min = r_data.collocationList[i].price; | ||
6140 | - } | ||
6141 | - r_data.collocationPromList.max = (max + th.data.data.shop_price).toFixed(2); | ||
6142 | - r_data.collocationPromList.min = (min + th.data.data.shop_price).toFixed(2); | 6237 | + if(arr3 && arr3.length>0){ |
6238 | + //获取活动信息 | ||
6239 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" +arr3[0].act_id + "/" + getApp().globalData.user_id; | ||
6240 | + await getApp().request.promiseGet(url, { | ||
6241 | + | ||
6242 | + }).then(e=>{ | ||
6243 | + if (e.data.code == 0 && e.data.data) { | ||
6244 | + if (ut.gettimestamp() < e.data.data.start_time) { | ||
6245 | + return false; | ||
6143 | } | 6246 | } |
6144 | - th.setData({ | ||
6145 | - order_prom: r_data.promOrder, | ||
6146 | - collocationGoods: r_data.collocationPromList, | ||
6147 | - prom_goods: r_data.promGoodsLists, | ||
6148 | - }) | ||
6149 | - th.is_show_more_buy(); | 6247 | + if (e.data.data.is_end == 0 && ut.gettimestamp() < e.data.data.end_time) { |
6248 | + //-- 获取商品列表 -- | ||
6249 | + th.data.zh_act=e.data.data; | ||
6250 | + th.getUserBuyPromNum(e.data.data.id) | ||
6251 | + } | ||
6252 | + } | ||
6253 | + }) | ||
6254 | + } | ||
6255 | + } | ||
6256 | + | ||
6257 | + | ||
6258 | + //调用接口判断订单优惠, | ||
6259 | + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gid + "/0" + "/" + user_id, { | ||
6260 | + }).then(async res=>{ | ||
6261 | + if (res.data.code == 0 && res.data.data) { | ||
6262 | + var r_data = res.data.data; | ||
6263 | + var max = 0, min = 0; | ||
6264 | + //暂时积分够 不和 优惠,阶梯重叠 | ||
6265 | + if(th.data.zh_act){ | ||
6266 | + r_data.collocationList=null; | ||
6267 | + r_data.ladderLists=null; | ||
6268 | + r_data.promGoodsLists=null; | ||
6269 | + } | ||
6270 | + | ||
6271 | + if (r_data.collocationList) { | ||
6272 | + for (var i in r_data.collocationList) { | ||
6273 | + if (max == 0) max = r_data.collocationList[i].price; | ||
6274 | + if (min == 0) min = r_data.collocationList[i].price; | ||
6275 | + | ||
6276 | + if (max < parseFloat(r_data.collocationList[i].price)) max = r_data.collocationList[i].price; | ||
6277 | + if (min > parseFloat(r_data.collocationList[i].price)) min = r_data.collocationList[i].price; | ||
6150 | } | 6278 | } |
6279 | + r_data.collocationPromList.max = (max + th.data.data.shop_price).toFixed(2); | ||
6280 | + r_data.collocationPromList.min = (min + th.data.data.shop_price).toFixed(2); | ||
6281 | + | ||
6282 | + //如果有搭配促销先不和 阶梯促销和优惠测序重合,做到后台可以重合 | ||
6283 | + r_data.ladderLists=null; | ||
6284 | + r_data.promGoodsLists=null; | ||
6151 | } | 6285 | } |
6152 | 6286 | ||
6153 | - }) | ||
6154 | - } | 6287 | + |
6288 | + if (r_data.ladderLists) { | ||
6289 | + var act_id = r_data.ladderLists[0].form_id; | ||
6290 | + //-- 判断会员能不能参与阶梯促销 -- | ||
6291 | + await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { | ||
6292 | + if (res.data.code == 0 && res.data.data) { | ||
6293 | + var prom_content = ""; | ||
6294 | + | ||
6295 | + //暂定优惠促销还不能重叠 | ||
6296 | + if(res.data.data.good_object==0 && (r_data.promGoodsLists || th.data.zh_act)){ | ||
6297 | + return false; | ||
6298 | + } | ||
6299 | + | ||
6300 | + if(res.data.data.good_object==1){ | ||
6301 | + r_data.promGoodsLists=null; | ||
6302 | + } | ||
6303 | + | ||
6304 | + for (let jj in r_data.ladderLists) { | ||
6305 | + if (r_data.ladderLists[jj].discount == 10) { | ||
6306 | + prom_content += "第" + (parseInt(jj) + 1) + "件原价,"; | ||
6307 | + } else { | ||
6308 | + prom_content += "第" + (parseInt(jj) + 1) + "件" + r_data.ladderLists[jj].discount + "折,"; | ||
6309 | + } | ||
6310 | + } | ||
6311 | + prom_content = ut.sub_last(prom_content); | ||
6312 | + th.data.prom_type = 10; | ||
6313 | + th.data.prom_id = act_id; | ||
6314 | + th.setData({ | ||
6315 | + jieti_prom: prom_content, | ||
6316 | + ladder_act_id: act_id | ||
6317 | + }) | ||
6318 | + } | ||
6319 | + }) | ||
6320 | + } | ||
6321 | + | ||
6322 | + | ||
6323 | + //普通购买不在界面显示 | ||
6324 | + if(is_nor){ | ||
6325 | + th.data.collocationGoods=r_data.collocationPromList; | ||
6326 | + th.data.prom_goods=r_data.promGoodsLists; | ||
6327 | + }else{ | ||
6328 | + th.setData({ | ||
6329 | + order_prom: r_data.promOrder, | ||
6330 | + collocationGoods: r_data.collocationPromList, | ||
6331 | + prom_goods: r_data.promGoodsLists, | ||
6332 | + }) | ||
6333 | + } | ||
6334 | + th.is_show_more_buy(); | ||
6335 | + } | ||
6336 | + }) | ||
6337 | + | ||
6338 | + | ||
6155 | 6339 | ||
6156 | 6340 | ||
6157 | }, | 6341 | }, |
@@ -6412,7 +6596,7 @@ Page({ | @@ -6412,7 +6596,7 @@ Page({ | ||
6412 | if(th.data.zh_act){ | 6596 | if(th.data.zh_act){ |
6413 | obj = { | 6597 | obj = { |
6414 | act_id: th.data.zh_act.id, | 6598 | act_id: th.data.zh_act.id, |
6415 | - prom_type:3 | 6599 | + prom_type:7 |
6416 | } | 6600 | } |
6417 | back(obj); | 6601 | back(obj); |
6418 | return false; | 6602 | return false; |
@@ -6844,5 +7028,22 @@ Page({ | @@ -6844,5 +7028,22 @@ Page({ | ||
6844 | }, | 7028 | }, |
6845 | 7029 | ||
6846 | 7030 | ||
7031 | + async getUserBuyPromNum(prom_id){ | ||
7032 | + var userInfo = getApp().globalData.userInfo; | ||
7033 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=7&prom_id=${prom_id}`; | ||
7034 | + let res = await getApp().request.promiseGet(url, { | ||
7035 | + data:{} | ||
7036 | + }); | ||
7037 | + let userbuynum=0 | ||
7038 | + if(res.data.code==0 && res.data.data){ | ||
7039 | + userbuynum=res.data.data.userbuynum | ||
7040 | + } | ||
7041 | + this.setData({ | ||
7042 | + userbuynum | ||
7043 | + }) | ||
7044 | + // return userbuynum | ||
7045 | + }, | ||
7046 | + | ||
7047 | + | ||
6847 | 7048 | ||
6848 | }); | 7049 | }); |
pages/goods/goodsInfo/goodsInfo.js
@@ -7651,7 +7651,7 @@ Page({ | @@ -7651,7 +7651,7 @@ Page({ | ||
7651 | if(th.data.zh_act){ | 7651 | if(th.data.zh_act){ |
7652 | obj = { | 7652 | obj = { |
7653 | act_id: th.data.zh_act.id, | 7653 | act_id: th.data.zh_act.id, |
7654 | - prom_type:3 | 7654 | + prom_type:7 |
7655 | } | 7655 | } |
7656 | back(obj); | 7656 | back(obj); |
7657 | return false; | 7657 | return false; |