From 366aa639bb8296ffba8379eefd00a92d0f56db35 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Wed, 1 Nov 2023 17:47:16 +0800 Subject: [PATCH] 预售的服务卡项的优化 --- packageA/pages/details_serviceCard/details_serviceCard.js | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ packageC/pages/presell/cardInfo/goodsInfo.js | 17 ++++++++++++++++- pages/user/order_list/order_list.js | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------- 3 files changed, 177 insertions(+), 52 deletions(-) diff --git a/packageA/pages/details_serviceCard/details_serviceCard.js b/packageA/pages/details_serviceCard/details_serviceCard.js index 9459004..8886adb 100644 --- a/packageA/pages/details_serviceCard/details_serviceCard.js +++ b/packageA/pages/details_serviceCard/details_serviceCard.js @@ -454,6 +454,13 @@ Page({ return false; } + if(prom_type==8){ + wx.showModal({ + title: details.list[i].service_name +"预售商品不加入购物车\n" + }); + return false; + } + //----先看会员在购物车中是否加入了该商品----- app.request.get("/api/weshop/cartService/page", { data: { @@ -794,6 +801,104 @@ Page({ } pt_act=act_details; } + //-- 预售 -- + if (it.prom_type == 8) { + + let act_details = null; + let promcardbuynum = 0; + let qty = it.qty; + let presell_id=0; + + var url = "/api/weshop/marketing/marketingPresellList/list" + var rd = { + store_id: os.stoid, + presell_id: it.prom_id, + goods_id: it.card_id + } + console.log('获取预售从表') + //------获取预售从表---------- + await getApp().request.promiseGet(url, { + data: rd + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + act_details = res.data.data[0]; + presell_id = act_details.presell_id; + } + }) + + //------获取预售主表---------- + await getApp().request.promiseGet(`/api/weshop/marketing/marketingPresellForm/get/${os.stoid}/${presell_id}`, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + var act_data = res.data.data; + if (act_data.is_end) { + wx.showToast({ title: "活动已经结束", icon: 'none', duration: 3000 }); + flag = 0; + return false; + } + if (act_data.isuse == 0) { + wx.showToast({ title: "活动未启用", icon: 'none', duration: 3000 }); + flag = 0; + return false; + } + + var err_txt = "活动定金时间已经结束"; + var end_time = act_data.end_time; + if (act_data.presell_type == 1) { + err_txt = "活动时间已经结束"; + } + if (end_time < ut.gettimestamp()) { + wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); + flag = 0; + return false; + } + + if (act_data.presell_type == 0) { + end_time = act_data.pay_enddate; + err_txt = "活动尾款时间已经结束"; + } + if (end_time < ut.gettimestamp()) { + wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); + flag = 0; + return false; + } + } + }) + + if(!flag) { + th.data.ser_paying=0; + return false; + } + + //-- 判断一下限购的计算 -- + if(act_details.vip_butyqty>0){ + await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", { + data: { + store_id: store_id, + user_id: user_id, + card_id: it.card_id, + prom_type: it.prom_type, + prom_id: it.prom_id, + ispay:1 + } + }).then(res => { + if (res.data.code == 0) { + console.log('已经购买的数量:', res.data.data); + promcardbuynum = res.data.data.promcardbuynum; + } + }) + let limited = act_details.buy_limit; // 限购数量a + let canBuyNum = limited - promcardbuynum; // 自己还可购买的数量c + + if (canBuyNum < qty ) { + wx.showModal({ + title: '提示', + content: '您已超出活动限购数量,无法支付,请取消订单!', + showCancel: false, + }); + flag = false; + } + } + } } if (flag) { diff --git a/packageC/pages/presell/cardInfo/goodsInfo.js b/packageC/pages/presell/cardInfo/goodsInfo.js index 314ff79..8215396 100644 --- a/packageC/pages/presell/cardInfo/goodsInfo.js +++ b/packageC/pages/presell/cardInfo/goodsInfo.js @@ -2445,7 +2445,7 @@ Page({ }, - //--跳转到商品详情页面-- + //--跳转到商品详情页面 -- go_goods: function(e) { var gid = e.currentTarget.dataset.gid; var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + gid; @@ -3434,6 +3434,21 @@ Page({ // "function" == typeof func && func(); // return false; // } + + + getApp().request.get("/api/weshop/order/orderPresell/countBuyGoodsSum", { + data: { store_id: os.stoid, user_id: user_id, goods_id: gd.goods_id, prom_id: t_prom_id }, + success: function (e) { + if (e.data.code == 0) { + th.setData({ prom_buy_num: e.data.data.sumgoodsnum }) + "function" == typeof func && func(); + } else { + th.setData({ prom_buy_num: 0, }) + "function" == typeof func && func(); + } + + } + }); //----获取商品购买数---- diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js index 6c342e5..90a00cc 100644 --- a/pages/user/order_list/order_list.js +++ b/pages/user/order_list/order_list.js @@ -2997,7 +2997,7 @@ Page({ } }; - //拼团 + //-- 拼团 -- if (it.prom_type == 6) { let act_details = null; let redis_num = 0; @@ -3054,7 +3054,6 @@ Page({ } } - } }); @@ -3089,68 +3088,76 @@ Page({ pt_act=act_details; } - //预售 + //-- 预售 -- if (it.prom_type == 8) { + let act_details = null; - let redis_num = 0; let promcardbuynum = 0; let qty = it.qty; + let presell_id=0; - await getApp().request.promiseGet("/api/weshop/teamlist/get/" + store_id + "/" + it.prom_id, {}).then(res => { - - if (res.data.code == 0) { - - act_details = res.data.data; + var url = "/api/weshop/marketing/marketingPresellList/list" + var rd = { + store_id: os.stoid, + presell_id: it.prom_id, + goods_id: it.card_id + } + console.log('获取预售从表') + //------获取预售从表---------- + await getApp().request.promiseGet(url, { + data: rd + }).then(res => { + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { + act_details = res.data.data[0]; + presell_id = act_details.presell_id; + } + }) - if (act_details.is_end == 1) { - wx.showModal({ - title: '提示', - content: '活动已结束,无法支付,请取消订单!', - showCancel: false, - }); - flag = false; + //------获取预售主表---------- + await getApp().request.promiseGet(`/api/weshop/marketing/marketingPresellForm/get/${os.stoid}/${presell_id}`, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + var act_data = res.data.data; + if (act_data.is_end) { + wx.showToast({ title: "活动已经结束", icon: 'none', duration: 3000 }); + flag = 0; return false; } - - if (act_details.id != it.prom_id) { - wx.showModal({ - title: '提示', - content: '活动发生了变化,无法支付,请取消订单,重新购买!', - showCancel: false, - }); - flag = false; + if (act_data.isuse == 0) { + wx.showToast({ title: "活动未启用", icon: 'none', duration: 3000 }); + flag = 0; return false; } - var t_now = ut.gettimestamp(); - if (act_details.is_end == 1 || act_details.start_time > t_now || act_details.end_time < t_now) { - wx.showModal({ - title: '提示', - content: '活动发生了变化,无法支付,请取消订单,重新购买!', - showCancel: false, - }); - flag = false; + var err_txt = "活动定金时间已经结束"; + var end_time = act_data.end_time; + if (act_data.presell_type == 1) { + err_txt = "活动时间已经结束"; + } + if (end_time < ut.gettimestamp()) { + wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); + flag = 0; return false; } - //指定门店的控制 - if (act_details.pick_up_lists) { - var idx0=act_details.pick_up_lists.findIndex(function (e){ - return e.pickup_id==it.pickup_id; - }) - if(idx0<0){ - getApp().confirmBox(it.service_name + "拼团活动的门店不可售"); - th.setData({ paying: 0 }); - flag = false; - return false; - } + if (act_data.presell_type == 0) { + end_time = act_data.pay_enddate; + err_txt = "活动尾款时间已经结束"; + } + if (end_time < ut.gettimestamp()) { + wx.showToast({ title: err_txt, icon: 'none', duration: 3000 }); + flag = 0; + return false; } - - } - }); + }) - if(act_details.buy_limit>0 && flag){ + if(!flag) { + th.data.ser_paying=0; + return false; + } + + //-- 判断一下限购的计算 -- + if(act_details.vip_butyqty>0){ await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", { data: { store_id: store_id, @@ -3162,8 +3169,8 @@ Page({ } }).then(res => { if (res.data.code == 0) { - console.log('已经购买的数量:', res.data.data); - promcardbuynum = res.data.data.promcardbuynum; + console.log('已经购买的数量:', res.data.data); + promcardbuynum = res.data.data.promcardbuynum; } }) let limited = act_details.buy_limit; // 限购数量a @@ -3178,8 +3185,6 @@ Page({ flag = false; } } - pt_act=act_details; - } } -- libgit2 0.21.4