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 | 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 | 2128 | if(e.prom_type==10){ |
| 2022 | 2129 | //----先看会员在购物车中是否加入了该商品,立即购买的----- |
| ... | ... | @@ -4514,15 +4621,9 @@ Page({ |
| 4514 | 4621 | newd['is_normal'] = th.data.is_normal; |
| 4515 | 4622 | |
| 4516 | 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 | 4626 | th.buyNow(newd); |
| 4525 | - }); | |
| 4526 | 4627 | } |
| 4527 | 4628 | else { |
| 4528 | 4629 | // 点击立即参团 |
| ... | ... | @@ -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 | 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 | 6596 | if(th.data.zh_act){ |
| 6413 | 6597 | obj = { |
| 6414 | 6598 | act_id: th.data.zh_act.id, |
| 6415 | - prom_type:3 | |
| 6599 | + prom_type:7 | |
| 6416 | 6600 | } |
| 6417 | 6601 | back(obj); |
| 6418 | 6602 | return false; |
| ... | ... | @@ -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 | }); | ... | ... |