diff --git a/components/diy_seckill/diy_seckill.js b/components/diy_seckill/diy_seckill.js index 13526c1..8713ee2 100644 --- a/components/diy_seckill/diy_seckill.js +++ b/components/diy_seckill/diy_seckill.js @@ -40,21 +40,22 @@ Component({ pageLifetimes: { //要处理一下,游客登录后的界面的变化,主要还该是改变会员 show: function () { - - var th = this; - if (this.data.goods_array.length > 0) { - th.data.timer = setInterval(function () { - th.countDown2(th); - }, 1000); - } + //会员身份变化 + var th = this; + var g_id = this.data.object; + this.init(g_id); + setTimeout(function () { + if (this.data.goods_array.length > 0) { + th.data.timer = setInterval(function () { + th.countDown2(th); + }, 1000); + } + },500) } }, ready: function () { - console.log("ready"); - // var g_id = this.data.object.data; var g_id = this.data.object; - // console.log(g_id); this.init(g_id); }, detached() { @@ -94,9 +95,11 @@ Component({ //当是默认的情况 no_gid_set() { - console.log(5623); + var user_id=getApp().globalData.user_id; + if(!user_id){ user_id=0;} + var req={ store_id: os.stoid, is_end: 0, is_show: 1, timetype: 2,user_id:user_id}; getApp().request.promiseGet("/api/ms/flash_sale/spikepage?page=1&pageSize=9", - { isShowLoading: 1, data: { store_id: os.stoid, is_end: 0, is_show: 1, timetype: 2 } } + { isShowLoading: 1, data:req } ).then(res => { if (res.data.code == 0 && res.data.data.pageData && res.data.data.pageData.length > 0) { var goodsidlist = res.data.data.pageData; @@ -116,7 +119,6 @@ Component({ goodslist.forEach(function (vy, indy) { if (val.goodsid == vy.goods_id) { all_array.push(vy); - //th.setData({goods_array:arr}); } }) }) @@ -129,6 +131,11 @@ Component({ all_array = goodslist; } + for(let i in all_array){ + let item=data[i]; + if(item.user_price) item.price=item.user_price; + } + var arr = new Array(); //--三个三个一组--- for (var i = 0; i < all_array.length; i += 3) { diff --git a/components/diy_seckill/diy_seckill.wxml b/components/diy_seckill/diy_seckill.wxml index 789e7af..8bea2ca 100644 --- a/components/diy_seckill/diy_seckill.wxml +++ b/components/diy_seckill/diy_seckill.wxml @@ -62,7 +62,7 @@ - {{aitem.title}} + {{aitem.goods_name}} ¥{{aitem.price}} ¥{{aitem.market_price}} diff --git a/packageA/pages/activity_share/activity_share.js b/packageA/pages/activity_share/activity_share.js index c859d7e..21f8f1a 100644 --- a/packageA/pages/activity_share/activity_share.js +++ b/packageA/pages/activity_share/activity_share.js @@ -362,6 +362,8 @@ Page({ page:this.data.currentPage, store_id:oo.stoid, } + var user_id=getApp().globalData.user_id; + if(!user_id) user_id=0; switch(th.data.currentIndex){ case 0: //--秒杀-- @@ -373,7 +375,8 @@ Page({ } req_data.is_show=1; req_data.is_end=0; - + req_data.user_id=user_id; + if(th.data.key_str && th.data.key_str.trim()){ req_data.key_str=th.data.key_str.trim(); } @@ -427,7 +430,15 @@ Page({ th.data.is_load=0; if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ th.data.currentPage++; - var data=res.data.data.pageData; + var data=res.data.data.pageData; + + if(th.data.currentIndex==0){ + for(let i in data){ + let item=data[i]; + if(item.user_price) item.price=item.price; + } + } + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more:1});} var list=th.data.list; list=list.concat(data); diff --git a/packageA/pages/chongzhi/g_filter.wxs b/packageA/pages/chongzhi/g_filter.wxs index 5166129..188f441 100644 --- a/packageA/pages/chongzhi/g_filter.wxs +++ b/packageA/pages/chongzhi/g_filter.wxs @@ -1,11 +1,12 @@ var is_acting = function(endtime){ - //判断结束时间减去当前时间 ,如果当前时间大于0则为True - if(endtime=='') return true; - endtime = endtime.substring(0, 19); - var reg = getRegExp("-", "g"); - endtime = endtime.replace(reg, '/'); - var bijiao = getDate(endtime) - getDate(); - return bijiao > 0 ? true : false; + //判断结束时间减去当前时间 ,如果当前时间大于0则为True + endtime=endtime+" 23:59:59"; + if(endtime=='') return true; + endtime = endtime.substring(0, 19); + var reg = getRegExp("-", "g"); + endtime = endtime.replace(reg, '/'); + var bijiao = getDate(endtime) - getDate(); + return bijiao >= 0 ? true : false; } module.exports = { is_acting:is_acting diff --git a/pages/activity/seckill_list/seckill_list.js b/pages/activity/seckill_list/seckill_list.js index aa8bd4b..a11f645 100644 --- a/pages/activity/seckill_list/seckill_list.js +++ b/pages/activity/seckill_list/seckill_list.js @@ -124,9 +124,12 @@ Page({ var e = this,th=e, i = "/api/ms/flash_sale/spikepage?page=" + e.data.currentPage; var plist=null,alllist=th.data.goodlist; if(!alllist) alllist=[]; + var user_id=getApp().globalData.user_id; + if(!user_id) user_id=user_id; + var req={store_id:os.stoid,timetype:th.data.type,is_end:0,is_show:1,user_id:user_id}; await getApp().request.promiseGet(i, - {isShowLoading:1,data:{store_id:os.stoid,timetype:th.data.type,is_end:0,is_show:1}} + {isShowLoading:1,data:req} ).then(res=>{ plist=res.data.data.pageData; console.log("是什么即将开始",plist); @@ -148,6 +151,8 @@ Page({ //--循环读取接口--- for(var i=0;i - + - {{item.title}} + {{item.goods_name}} @@ -71,9 +71,9 @@ - 即将开始 - 马上抢 - 已抢光 + 即将开始 + 马上抢 + 已抢光 diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index affa7b6..02bd993 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -120,15 +120,20 @@ Page({ } th.setData({ad_data:narr}); }else{ + + var user_id=getApp().globalData.user_id; + if(!user_id) user_id=0; + var req_d= { + store_id: oo.stoid, + timetype: 2, + is_end: 0, + is_show: 1, + pageSize: 1, + user_id:user_id + } //--获取是否又秒杀活动-- getApp().request.promiseGet("/api/ms/flash_sale/spikepage", { - data: { - store_id: oo.stoid, - timetype: 2, - is_end: 0, - is_show: 1, - pageSize: 1 - }, + data:req_d, }).then(res => { if (res.data.code == 0 && res.data.data && res.data.data.pageData.length > 0) { th.setData({ @@ -302,8 +307,11 @@ Page({ if (item.prom_type == 1) { var prom = null; var now = ut.gettimestamp(); - await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { - if (res.data.code == 0) prom = res.data.data; + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid +'/'+user_id+ "/" + item.prom_id, {}).then(res => { + if (res.data.code == 0){ + prom = res.data.data; + prom.price=prom.user_price; + } }) //---如果互动都已经过期,或者还未开始,或者无活动 if (!prom || prom.is_end == 1 || prom.end_time < now || prom.start_time > now) { @@ -331,7 +339,18 @@ Page({ }) item.goods_num=cbuy; } + + //价格不对,就要更新一下 + if(good.goods_price!=prom.price){ + good.goods_price=prom.price; + //-- 购物车更新秒杀价格 -- + var updata1={id: item.id,goods_price:prom.price,store_id:os.stoid,user_id:getApp().globalData.userInfo.user_id }; + getApp().request.put("/api/weshop/cart/update", { + data: updata1, + }) + } } + //--判断优惠活动有没有过期-- else if (item.prom_type == 3) { var isok = 1; @@ -423,6 +442,12 @@ Page({ var t_item=gdlist.find(function (ele) { return ele.goods_id==item.goods_id }) + if(!t_item){ + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; + getApp().request.delete(url, {}); + th.data.zuhe_map[item.prom_id]=-1; + continue; + } item.buyqty=t_item.buyqty; item.zh_b_num=promgoodsbuynum; item.act=th.data.zuhe_map[item.prom_id]; @@ -1922,7 +1947,7 @@ Page({ //如果会员是等级会员,商品有等级价,且不是活动商品 if (card_field && val[card_field] > 0 && - (val.prom_type == 0 || val.prom_type == 3 || val.prom_type == 4 || val.prom_type == 5 || val.prom_type == 7 || normal_arr[val.goods_id])) { + ((val.prom_type == 0 && g_arr[i].prom_type==0) || val.prom_type == 3 || val.prom_type == 4 || val.prom_type == 5 || val.prom_type == 7 || normal_arr[val.goods_id])) { if (g_arr[i].goods_price != val[card_field]) { isok = 0; gname = val.goods_name; diff --git a/pages/cart/cart/cart.wxml b/pages/cart/cart/cart.wxml index ed4e1c8..9dc7ee6 100644 --- a/pages/cart/cart/cart.wxml +++ b/pages/cart/cart/cart.wxml @@ -91,8 +91,7 @@ - 活动剩余可购{{items.buyqty-items.zh_b_num>0?items.buyqty-items.zh_b_num:0}}件 - 还需购买{{items.zhqty-items.goods_num}}件 + 还需购买{{items.zhqty-items.goods_num}}件 需购买{{items.zhqty}}件 @@ -113,6 +112,7 @@ {{items.goods_num}}件 + 组合限购{{items.buyqty}}件 @@ -124,6 +124,7 @@ 券后 ¥{{g_filter.toFix(items.offline_price,2)}} + diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index 49fa698..b4e76c1 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -780,6 +780,10 @@ Page({ } } + if(gg.prom_type){ + gd.prom_type=gg.prom_type; + gd.prom_id=gg.prom_id; + } switch (gd.prom_type) { case 0: case 2: @@ -948,22 +952,23 @@ Page({ break; case 1: //---秒杀----- var quanlist = null; - getApp().request.get("/api/weshop/activitylist/getSJGoodsPrice/" + gd.store_id - + "/" + gd.goods_id + "/1/" + gd.prom_id, { + getApp().request.get("/api/weshop/activitylist/getSJGoodsPriceNew/" + gd.store_id + + "/" + gd.goods_id + "/1/" + gd.prom_id+"/"+app.globalData.user_id, { success: async function (tt) { if (tt.data.code == 0) { - t.data.data.shop_price = tt.data.data.prom_price; + //t.data.data.shop_price = tt.data.data.prom_price; + t.data.data.shop_price = tt.data.data.prom_user_price; + th.data.ckeck_quan_price=0; } else { t.data.data.prom_id = 0; t.data.data.prom_type = 0; - th.data.ckeck_quan_price = t.data.data.shop_price * gg.goods_num; th.data.check_quan_price_list = t.data.data.shop_price * gg.goods_num + ""; th.data.check_quan_ware_list = t.data.data.erpwareid + ""; } th.setData({ - bn_goods: t.data.data, + bn_goods: gd, bn_pickname: gg.pick_name, bn_exp_type: et, index: m_wind, diff --git a/pages/goods/goodsInfo/filter.wxs b/pages/goods/goodsInfo/filter.wxs index 5c5f0a2..1b916fc 100644 --- a/pages/goods/goodsInfo/filter.wxs +++ b/pages/goods/goodsInfo/filter.wxs @@ -8,7 +8,20 @@ function format_tt(ts) { var fm=(d.getMonth()+1)+"月"+ d.getDate()+"日"; return fm; } + +function act_type(ty){ + switch(ty){ + case 1: return '秒杀'; + case 2: return '团购'; + case 4: return '积分购'; + case 6: return '拼单'; + case 7: return '组合购'; + case 8: return '预售'; + } +} + module.exports = { is_has: is_has, - format_tt:format_tt + format_tt:format_tt, + act_type:act_type } diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 44e703e..245346b 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -255,15 +255,20 @@ Page({ //------初始化加载---------- onLoad: function (t) { - - var ee = this, that = ee, th = ee, gid = t.goods_id, first_leader = t.first_leader, room_id = t.room_id, - room_user_share = t.room_user_share; //如果是会员分享带有room_id的话,那么接下来会员分享就不传room_id + room_user_share = t.room_user_share, //如果是会员分享带有room_id的话,那么接下来会员分享就不传room_id + prom_type=t.prom_type, + prom_id=t.prom_id; //活动ID + + if(prom_type){ + this.data.prom_type=prom_type; + this.data.prom_id=prom_id; + } //-- 自定义海报 -- getApp().request.promiseGet("/api/weshop/goods/poster/page", { @@ -300,6 +305,17 @@ Page({ var gid_str = decodeURIComponent(t.scene); gid_str = gid_str.split("_"); gid = gid_str[0]; + if(gid.indexOf('.')!=-1){ + var fir_arr=gid.split("."); + gid=fir_arr[0]; + prom_type=fir_arr[1]; + prom_id=fir_arr[2]; + this.data.prom_type=prom_type; + this.data.prom_id=prom_id; + } + + + if (gid_str.length > 1) { first_leader = gid_str[1]; } @@ -435,9 +451,6 @@ Page({ if (th.data.fir_goods) var g_distr_type = th.data.fir_goods.distr_type; //--如果默认门店的配送方式不对,就不能被选择,这里不控制,如果不一样,就说明配送方式不对-- if (ee.distr_type != 0 && g_distr_type != 0 && ee.distr_type != g_distr_type) { - //th.data.fir_def_store={}; //赋值空对象 - //return false; - //th.data.fir_def_store.is_no_dis=1; ee.is_no_dis = 1; } @@ -452,15 +465,7 @@ Page({ if (that.data.lat != null) { //如果经纬度有变化的话 if (e && appd.lat == that.data.lat && appd.lon == that.data.lon && e.distance > 0) { - //that.data.fir_def_store=e; - // that.setData({ - // def_pick_store: e, - // sto_sele_name: e.pickup_name, - // sto_sele_id: e.pickup_id, - // sto_sele_distr: e.distr_type - // }) that.set_def_storage(e); - } else { //要用接口是获取距离,js的计算不准 getApp().request.promiseGet("/api/weshop/pickup/list", { @@ -471,13 +476,6 @@ Page({ if (e) { e.is_no_dis = ee.is_no_dis; appd.pk_store = e; - // that.data.fir_def_store=e; - // that.setData({ - // def_pick_store: e, - // sto_sele_name: e.pickup_name, - // sto_sele_id: e.pickup_id, - // sto_sele_distr: e.distr_type - // }) that.set_def_storage(e); } @@ -491,13 +489,6 @@ Page({ } else { if (e) { e.distance = null; - // that.data.fir_def_store=e; - // that.setData({ - // def_pick_store: e, - // sto_sele_name: e.pickup_name, - // sto_sele_id: e.pickup_id, - // sto_sele_distr: e.distr_type - // }) that.set_def_storage(e); } } @@ -671,7 +662,7 @@ Page({ } } - if (th.data.is_closecoupon != 1) { + if (th.data.is_closecoupon != 1 && (!th.data.fir_quan || th.data.fir_quan.length<=0)) { //----获取详情页的券的数量---- await getApp().request.promiseGet("/api/weshop/prom/coupon/pageCouponList", { data: { @@ -790,7 +781,7 @@ Page({ if (getApp().globalData.userInfo && t.data.data.prom_type == 7) { //获取活动信息 var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + - t.data.data.prom_id + "/" + getApp().globalData.userInfo.user_id; + t.data.data.prom_id + "/" + getApp().globalData.user_id; getApp().request.get(url, { success: function (e) { if (e.data.code == 0 && e.data.data) { @@ -809,7 +800,8 @@ Page({ //-- 把商品的赋值 -- ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data)); - ee.check_is_youhui(ee.data.gid); + if(ee.data.prom_type!=1 && ee.data.prom_type!=4 && ee.data.prom_type!=6) + ee.check_is_youhui(ee.data.gid); t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); @@ -835,6 +827,11 @@ Page({ a.wxParse("content", "html", t.data.data.goods_content, ee, 6); e.wxParseAddFullImageUrl(ee, "content"); + if(ee.data.prom_type){ + t.data.data.prom_type=ee.data.prom_type; + t.data.data.prom_id=ee.data.prom_id; + } + ee.setData({ data: t.data.data, sele_g: t.data.data, @@ -848,43 +845,15 @@ Page({ if (that.data.sales_rules == 2 && that.data.is_newsales_rules) { //获取门店 ee.get_sto(); - //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 - /*--- - getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){ - if(th.data.fir_def_store && th.data.fir_def_store.pickup_id ){ - var lock=0,plist=null; - //先读取门店的lock,采用链式写法,少用await - getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id,pageSize:1000} - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - for(var i in res.data.data.pageData) - lock+=res.data.data.pageData[i].outQty - } - //---通过接口获取门店的线下库存信息-- - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} - }) - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - plist=res.data.data.pageData[0]; - } - if(plist && plist.CanOutQty-lock>0){ - that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; - }else{ - that.data.fir_def_store.CanOutQty=0; - } - //--给门店赋值线下库存-- - th.setData({def_pick_store:that.data.fir_def_store}); - }) - } - })--*/ + } else { //获取门店 ee.get_sto(); } ee.get_sku(o.stoid, t.data.data, gid); + ee.check_has_flash(); + } else { var gg = "", item = t.data.data; @@ -1260,6 +1229,8 @@ Page({ goods_name: o.goods_name, goods_sn: o.goods_sn, sku: o.sku, + prom_id:th.data.sele_g.prom_id, + prom_type:th.data.sele_g.prom_type, }; //---是不是从收藏夹出来的--- @@ -1850,17 +1821,33 @@ Page({ return false; } - var ind = t.currentTarget.dataset.ind; + if(th.data.more_flash && open_store==1){ + th.setData({is_pop_more:1}); + }else{ + var ind = t.currentTarget.dataset.ind; + //回调。判断是不是优惠促销 + th.check_is_prom_goods(function () { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: ind, + }); + //var is_open=th.data.config + th.get_off_price(); + }) + } + }, - //回调。判断是不是优惠促销 - th.check_is_prom_goods(function () { - th.setData({ - openSpecModal: !0, - openSpecModal_ind: ind, - }); - //var is_open=th.data.config - th.get_off_price(); - }) + open_next(){ + var th=this; + //回调。判断是不是优惠促销 + th.check_is_prom_goods(function () { + th.setData({ + openSpecModal: !0, + openSpecModal_ind: 1, + is_pop_more:0 + }); + th.get_off_price(); + }) }, //判断是不是优惠促销 @@ -2130,13 +2117,13 @@ Page({ onShareAppMessage: function (t) { var th = this; - var price = th.data.data.shop_price; + var price = th.data.sele_g.shop_price; if (th.data.prom_act) { price = th.data.prom_act.price; } - var title = th.data.data.goods_name; - var img = th.data.data.original_img; + var title = th.data.sele_g.goods_name; + var img = th.data.sele_g.original_img; if (th.data.prom_type == 6 || th.data.prom_type == 1 || th.data.prom_type == 4) { title = th.data.prom_act.share_title; if (!title) title = th.data.prom_act.title; @@ -2147,14 +2134,15 @@ Page({ } - var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + th.data.gid; + var url = "/pages/goods/goodsInfo/goodsInfo?goods_id=" + + th.data.sele_g.gid+"&prom_type="+th.data.sele_g.prom_type+"&prom_id="+th.data.sele_g.prom_id; if (getApp().globalData.user_id) { url += "&first_leader=" + getApp().globalData.user_id; } //-- 如果房间分享,且不是会员分享的 -- if (getApp().globalData.room_id && - th.data.data.goods_id == getApp().globalData.room_goods_id && + th.data.sele_g.goods_id == getApp().globalData.room_goods_id && !getApp().globalData.room_user_share ) { url += "&room_id=" + getApp().globalData.room_id + "&room_user_share=1"; @@ -2185,6 +2173,8 @@ Page({ ob.title = text + " " + name; } + //-- 页面不能刷新 -- + this.data.show_prew_img=1; return ob; }, @@ -2266,6 +2256,9 @@ Page({ case 8: continue; + case 8: + continue; + } @@ -2347,10 +2340,8 @@ Page({ }); - that.check_is_youhui(gid, that.data.is_normal); - var ty = 0; this.get_sto(that.data.is_normal); @@ -2391,11 +2382,14 @@ Page({ async sele_spec_chech_activity() { //---如果是活动的时候--- var prom = null, goodsinfo = this.data.sele_g, th = this; + var user_id=getApp().globalData.user_id; + if(!user_id) user_id=0; if (goodsinfo.prom_type == 1) { - await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + goodsinfo.prom_id, { + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" +user_id+"/"+ goodsinfo.prom_id, { }).then(res => { if (res.data.code == 0) { - prom = res.data.data; + prom = res.data.data; + prom.price=prom.user_price; } }) } @@ -2420,16 +2414,53 @@ Page({ //----------如果有活动,并且在进行中,就不计算线下库存--------------- var now = ut.gettimestamp(); if (prom) { - if (prom.is_end == 0 && prom.end_time > now && prom.start_time < now) { + + var t1=prom.start_time; + var prom_st=1; + if(prom.show_time){ + t1=prom.show_time; + if(prom.start_time>now) prom_st=0; + } + if (prom.is_end == 0 && prom.end_time > now && t1 < now) { th.setData({ prom_type: goodsinfo.prom_type, prom_price: prom.price, prom_buy_limit: prom.buy_limit, prom_end_time: prom.end_time, prom_start_time: prom.start_time, - prom_st: 1, + prom_st: prom_st, + prom_act: prom, + prom_id:prom.id }) - return false; + + //却换图片 + th.init(goodsinfo.goods_id); + var newTime = ut.gettimestamp(); + var endTime2 = prom.end_time; + var endTime1 = prom.start_time; + + this.data.is_timer=0; + + setTimeout(function () { + th.data.is_timer=1; + if (endTime1 > newTime) { + th.setData({ + prom_time_text: '距秒杀开始还有' + }) + th.countDown(endTime1, 0); + } else { + if (endTime2 > newTime) { + th.setData({ + prom_time_text: '距秒杀结束还有', + prom_st: 1 + }) + th.countDown(endTime2); + } + } + + },1000) + + return false; } } //---设置普通商品--- @@ -2487,13 +2518,6 @@ Page({ if (!th.data.def_pick_store && th.data.fir_def_store) { th.setData({ def_pick_store: th.data.fir_def_store }); } - - /*--最新的,不用这里筛选配送方式 - if(th.data.def_pick_store && g_distr_type!=0 && th.data.def_pick_store.distr_type!=0 && th.data.def_pick_store.distr_type!=g_distr_type ){ - th.setData({def_pick_store:null}); - }--*/ - - wx.showLoading({ title: '加载中.' }); @@ -2859,9 +2883,7 @@ Page({ //------隐藏取货门店2级---- hide_sec_mend: function () { - this.setData({ - is_sec_mend: 0, - }); + this.setData({ is_sec_mend: 0, }); }, //评论的调用 @@ -2875,7 +2897,7 @@ Page({ parent_id: 0, goods_id: th.data.gid, commenttype: tp, } if (getApp().globalData.userInfo) { - req_where.userId = getApp().globalData.userInfo.user_id; + req_where.userId = getApp().globalData.user_id; } var rs_data = null; @@ -2943,12 +2965,13 @@ Page({ //--------检查是否活动,活动是否开始,或者是否结束------- async check_prom(gid, prom_type, prom_id) { - var ee = this, - th = ee; + var ee = this,th = ee; + var user_id=getApp().globalData.user_id; + if(!user_id) user_id=0; + if (prom_type == 3 || prom_type == 0 || prom_type == 2 || prom_type == 5 || prom_type == 7) { this.setData({ - prom_type: 0, - isshow: 1, + prom_type: 0,isshow: 1, }); return false; } @@ -2967,8 +2990,7 @@ Page({ prom_r_null: 1 }); //拿取价格并且判断时间-- - getApp().request.get("/api/ms/flash_sale/get/" + - os.stoid + "/" + prom_id, { + getApp().request.get("/api/ms/flash_sale/getNew/" +os.stoid + "/" +user_id+"/"+ prom_id, { success: function (t) { if (t.data.code != 0) { ee.setData({ @@ -3015,7 +3037,7 @@ Page({ var prom_start_time = ut.formatTime(t.data.data.start_time, "yyyy-MM-dd hh:mm:ss"); ee.setData({ - prom_price: t.data.data.price, + prom_price: t.data.data.user_price, prom_type: 1, prom_id: prom_id, prom_buy_limit: t.data.data.buy_limit, @@ -3026,17 +3048,9 @@ Page({ }); ee.get_sto(); - - var newTime = ut.gettimestamp(); var endTime2 = t.data.data.end_time; var endTime1 = t.data.data.start_time; - - //---苹果机不兼容--- - /*---- - var endTime2 = new Date(prom_end_time).getTime(); - var endTime1 = new Date(prom_start_time).getTime();----*/ - if (endTime1 > newTime) { ee.setData({ prom_time_text: '距秒杀开始还有' @@ -3051,6 +3065,56 @@ Page({ ee.countDown(endTime2); } } + + //如果是进行中的话 + if (endTime1 < newTime) { + //-- 获取秒杀活动的多少规格 -- + ee.get_more_flahs(function (list) { + if (list && list.length > 1) { + + var n_item = list[0]; + var ind = list.findIndex(function (ele) { + return ele.goods_id == ee.data.data.goods_id; + }) + if (ind < 0) return false; + if (ind > 0) { + n_item = JSON.parse(JSON.stringify(list[ind])); + list.splice(ind, 1); + list.unshift(n_item); + } + + ee.data.sele_g.viplimited = n_item.viplimited; + ee.data.data.viplimited = n_item.viplimited; + + var gb = 1; + //-- 显示多规格 -- + for (let i in list) { + let item = list[i]; + var gg = ""; + if (item.goods_spec == "null" || item.goods_spec == null) item.goods_spec = ""; + if (item.goods_color == "null" || item.goods_color == null) item.goods_color = ""; + + if (item.goods_spec != "" && item.goods_color != "") { + gg = item.goods_spec + "/" + item.goods_color; + } else if (item.goods_spec != "" || item.goods_color != "") { + gg = item.goods_spec + item.goods_color; + } else { + gg = "规格" + gb; + gb++; + } + item.gg = gg; + item.prom_id = item.prom_id; + item.prom_type = 1; + } + + ee.setData({ + sku_g: list, + }); + + } + }) + } + } }); } @@ -3106,7 +3170,6 @@ Page({ } - //---判断拼单---- if (prom_type == 6) { //-------判断活动是否抢光--------- @@ -4128,9 +4191,7 @@ Page({ } if (this.data.share_hidden) { - this.setData({ - share_hidden: false, - }); + this.setData({ share_hidden: false,}); }; //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 4阶梯团 @@ -4138,11 +4199,8 @@ Page({ if (type == 6) type = 2; if (this.data.prom_act && this.data.prom_act.kttype == 3) type = 3; - wx.showLoading({ - title: '生成中...', - }) - var that = this, - th = that; + wx.showLoading({ title: '生成中...',}) + var that = this, th = that; //设置画板显示,才能开始绘图 that.setData({ canvasHidden: false @@ -4152,6 +4210,10 @@ Page({ var unit = that.data.screenWidth / 750 * 1.35; //基础单位, var path2 = that.data.data.original_img; var scene = th.data.gid + ""; + + if(th.data.sele_g.prom_type==1){ + scene+="."+th.data.sele_g.prom_type+"."+th.data.sele_g.prom_id; + } var user_id = getApp().globalData.user_id ? getApp().globalData.user_id : 0; if (user_id > 0) { scene += "_" + user_id; @@ -5540,9 +5602,6 @@ Page({ this.add_cart_func_inte(t); }, - - - onShareTimeline() { var store_name = getApp().globalData.config ? getApp().globalData.config.store_name : ''; if (!store_name) @@ -5602,7 +5661,7 @@ Page({ check_zh_acting: function (func) { var isok = 1, item = this.data.sele_g; //如果有组合购 - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item.prom_id + "/" + getApp().globalData.userInfo.user_id; + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item.prom_id + "/" + getApp().globalData.user_id; getApp().request.promiseGet(url, {}).then(res => { if (res.data.code == 0 && res.data.data) { if (res.data.data.is_show != 1) { @@ -5628,5 +5687,76 @@ Page({ item.act = res.data.data; func(isok); }) - } + }, + + //获取更多秒杀 + get_more_flahs: async function (func) { + var f_more=false; + var user_id=getApp().globalData.user_id; + if(!user_id) user_id=0; + + var url="/api/weshop/goods/listSkuFlash?store_id="+os.stoid+"&goods_id="+this.data.data.goods_id+"&user_id="+user_id; + //获取秒杀的多规格 + await getApp().request.promiseGet(url, {}).then(res=>{ + if(res.data.code==0 && res.data.data && res.data.data.length>0){ + f_more=res.data.data; + } + }) + if(!f_more) { + func(false); + return false; + } + //-- 秒杀的价格要更新 -- + for(let i in f_more){ + + let item=f_more[i]; + f_more[i].prom_id=item.act_id; + f_more[i].prom_type=1; + if(item.goods_id==this.data.data.goods_id){ + continue; + } + var url="/api/ms/flash_sale/getNew/"+os.stoid+"/"+user_id+"/"+item.act_id; + await getApp().request.promiseGet(url, {}).then(rs=>{ + if(rs.data.code==0){ + f_more[i].price=rs.data.data.user_price; + + } + }) + } + func(f_more); + + }, + + //-- 判断是否有秒杀 -- + check_has_flash:function () { + var th=this; + var url="/api/weshop/activitylist/getGoodActInfo"; + var req_data={ + store_id:os.stoid,goodsidlist:this.data.data.goods_id,is_detail:1 + }; + //获取秒杀的多规格 + getApp().request.promiseGet(url, {data:req_data}).then(res=>{ + if(res.data.code==0 && res.data.data){ + th.setData({more_flash:res.data.data}); + }else{ + func(false); + } + }) + }, + + //-- 跳转到秒杀商品详情页 -- + go_more_flash:function (e) { + var prom_id=e.currentTarget.dataset.id; + var goods_id=this.data.data.goods_id; + var url="/pages/goods/goodsInfo/goodsInfo?goods_id="+goods_id+"&prom_id="+prom_id+"&prom_type=1"; + getApp().goto(url); + }, + + close_pop_more:function () { + this.setData({is_pop_more:0}) + } + + + + }); diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index 18d98c5..796c802 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -7,16 +7,11 @@ - - {{item.name}} - + {{item.name}} - 销量:{{data.sales_sum}}件 - 折扣:{{data.disc}}折 + 销量:{{sele_g.sales_sum}}件 + 折扣:{{sele_g.disc}}折 {{categories3[0].num}}人评价 @@ -390,7 +384,7 @@ - {{data.goods_name}} + {{sele_g.goods_name}} @@ -538,6 +532,29 @@ + + + + + + + 秒杀 + + + + + + {{item.act_name}} + + (活动时间:{{tool.format_tt(item.s_time)}} - {{tool.format_tt(item.e_time)}}) + + + + + + + + @@ -629,13 +646,6 @@ - 商品详情 @@ -1518,4 +1528,27 @@ - \ No newline at end of file + + + + + + + + 提示 + + + + 该商品有参与{{item.act_name}} {{tool.act_type(item.prom_type)}} 活动 + 去参与 + + + + + + + + + + + diff --git a/pages/goods/goodsInfo/goodsInfo.wxss b/pages/goods/goodsInfo/goodsInfo.wxss index 9f87240..8cb1bfc 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxss +++ b/pages/goods/goodsInfo/goodsInfo.wxss @@ -2842,4 +2842,20 @@ button.custom-service::after{ width: 132rpx; height: 37rpx; margin-right: 10rpx; -} \ No newline at end of file +} + +.miao_lab{ width: 36rpx; height: 36rpx; border: 4rpx solid #e71f19; color:#e71f19; text-align: center;margin-right: 10rpx; + line-height: 36rpx;font-size: 22rpx; font-weight: bolder; border-radius: 50%; } + +.pop_more_act .content{ + position:fixed;background: #fff; width: 100%; + left: 0;bottom: 0;z-index: 1000; +} + +.p_btn{ + background-color: #f23030; + height: 70rpx;line-height: 70rpx; + color: #fff; +} + +.mt20{ margin-top: 20rpx} \ No newline at end of file diff --git a/pages/index/index/index.js b/pages/index/index/index.js index 59f054f..c2508e4 100644 --- a/pages/index/index/index.js +++ b/pages/index/index/index.js @@ -335,6 +335,49 @@ Page({ }) + //-----秒杀----- + var flash_data = null; + var f_req={ + store_id: os.stoid, + timetype: 2, + is_end: 0, + is_show: 1, + pageSize: 9, + user_id:0 + }; + if(user_id) f_req.user_id=user_id; + //--获取活动-- + await getApp().request.promiseGet("/api/ms/flash_sale/spikepage", { + data:f_req , + }).then(res => { + var e = res; + if (e.data.code == 0) { + flash_data = e.data.data.pageData; + if (flash_data == null || flash_data.length <= 0) return false; + + //当前时间戳 + var nt = ut.gettimestamp(); + + flash_data.forEach(function (val, ind) { + + if(val.user_price) val.price=val.user_price; + if (val.start_time > nt) flash_data[ind].status = 0; + else if (val.end_time > nt) flash_data[ind].status = 1; + if (val.buy_num >= val.goods_num) flash_data[ind].status = 2; + }); + + var arr = new Array(); + //--三个三个一组--- + for (var i = 0; i < flash_data.length; i += 3) { + arr.push(flash_data.slice(i, i + 3)); + } + th.setData({ + saleGoods: arr + }); + } + }); + + //优惠券要实时更新 getApp().getConfig2(function (e) { @@ -458,45 +501,6 @@ Page({ } }) - //-----秒杀----- - var flash_data = null; - //--获取活动-- - await getApp().request.promiseGet("/api/ms/flash_sale/spikepage", { - data: { - store_id: os.stoid, - timetype: 2, - is_end: 0, - is_show: 1, - pageSize: 9 - }, - }).then(res => { - var e = res; - if (e.data.code == 0) { - flash_data = e.data.data.pageData; - if (flash_data == null || flash_data.length <= 0) return false; - - //当前时间戳 - var nt = ut.gettimestamp(); - - flash_data.forEach(function (val, ind) { - if (val.start_time > nt) flash_data[ind].status = 0; - else if (val.end_time > nt) flash_data[ind].status = 1; - if (val.buy_num >= val.goods_num) flash_data[ind].status = 2; - }); - - var arr = new Array(); - //--三个三个一组--- - for (var i = 0; i < flash_data.length; i += 3) { - arr.push(flash_data.slice(i, i + 3)); - } - th.setData({ - saleGoods: arr - }); - //th.countDown(); - } - }); - - //----拼单----- await getApp().request.promiseGet("/api/weshop/teamlist/pageteam/2", { data: { diff --git a/pages/index/index/index.wxml b/pages/index/index/index.wxml index 27b91e9..9153165 100644 --- a/pages/index/index/index.wxml +++ b/pages/index/index/index.wxml @@ -155,7 +155,7 @@ - + @@ -163,7 +163,7 @@ - {{aitem.title}} + {{aitem.goods_name}} {{aitem.price}} diff --git a/pages/user/order_detail/order_detail.js b/pages/user/order_detail/order_detail.js index 39c1e1b..c9ba1f0 100644 --- a/pages/user/order_detail/order_detail.js +++ b/pages/user/order_detail/order_detail.js @@ -322,7 +322,8 @@ Page({ url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true" }) var order=this.data.order; - var order_goods=order.order_goods; + var order_goods=order.order_goods; + var user_id=order.user_id; var wlist=""; for(var i in order_goods){ @@ -474,8 +475,7 @@ Page({ //商品的普通购买 ,不要进行判断 if((good.prom_type==1 || good.prom_type==6 || good.prom_type==4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){ - if(gg.prom_type!=good.prom_type) { - + if(gg.prom_type!=good.prom_type && gg.prom_type>0) { var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买'; th.toast(content); return false; @@ -487,10 +487,11 @@ Page({ //---如果是活动的时候--- var prom=null,th=this; if(gg.prom_type==1){ - await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+gg.prom_id,{ + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/"+os.stoid+"/"+user_id+"/"+gg.prom_id,{ }).then(res=>{ if(res.data.code==0){ prom=res.data.data; + prom.price=prom.user_price; } }) } @@ -595,10 +596,11 @@ Page({ //---如果是活动的时候--- var prom=null,goodsinfo=good,th=this; if(goodsinfo.prom_type==1){ - await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/"+os.stoid+"/"+user_id+"/"+goodsinfo.prom_id,{ }).then(res=>{ if(res.data.code==0){ prom=res.data.data; + prom.price=prom.user_price; } }) } @@ -638,7 +640,13 @@ Page({ th.toast(content); return false; } - + //看一下会员的秒杀价格是不是发生了变化 + if(goodsinfo.prom_type==1 && goodsinfo.goods_price!=prom.price){ + var content=goodsinfo.goods_name+'秒杀活动的价格发生了变化'; + th.toast(content); + return false; + } + if(goodsinfo.prom_type==4){ if (good.goods_num > prom.limitqty-prom.buy_num) { @@ -897,6 +905,7 @@ Page({ check_more_order:async function(item){ var pickup=null,th=this; + var user_id=getApp().globalData.userInfo.user_id; wx.showLoading(); //--------获取门店----------- await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + item.pickup_id, { @@ -980,41 +989,62 @@ Page({ if(card_field && good[card_field]>0){ b_item.price=good[card_field]; } - - //--判断商品当前的活动情况-- - switch(good.prom_type){ - case 1: - var flash=null; - getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + good.prom_id, { - }).then(res=>{ - if (res.data.code== 0) { - flash=res.data.data; - } - }) - //----已经结束----- - if (flash && flash.is_end == 0 && flash.end_time > timestamp && flash.start_time > timestamp ) { - prom=flash; - b_item.price=prom.price; // - } - break; - case 6: - b_item.is_pd_normal=1; break; - case 7: - //如果有组合购 - var url="/api/weshop/prom/zhbuy/get/"+os.stoid+"/"+good.prom_id+"/"+getApp().globalData.userInfo.user_id; - await getApp().request.promiseGet(url, {}).then(res => { - if(res.data.code==0 && res.data.data){ - if(res.data.data.is_show==1 && res.data.data.is_end==0 - && ut.gettimestamp()res.data.data.start_time - ){ - b_item.prom_type=7; - b_item.prom_id=res.data.data.id; + + var url="/api/weshop/activitylist/getGoodActInfo"; + var req_data={ + store_id:g_item.store_id,goodsidlist:g_item.goods_id,is_detail:1 + }; + await getApp().request.promiseGet(url, {data:req_data}).then(res=>{ + if(res.data.code==0){ + var list = res.data.data; + for(let i in list){ + let item=list[i]; + if(item.prom_type==1){ good.prom_type=1; good.prom_id=item.act_id; } + } + } + }) + + if(!prom) { + //--判断商品当前的活动情况-- + switch (good.prom_type) { + case 1: + var flash = null; + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + good.prom_id, {}).then(res => { + if (res.data.code == 0) { + flash = res.data.data; } + }) + //----已经结束----- + if (flash && flash.is_end == 0 && flash.end_time > timestamp && flash.start_time < timestamp) { + prom = flash; + prom.price = prom.user_price; + b_item.price = prom.price; + good.prom_type = 1; + good.prom_id = prom.id; } - }) - break; - } + break; + case 6: + b_item.is_pd_normal = 1; + break; + case 7: + //如果有组合购 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; + await getApp().request.promiseGet(url, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + if (res.data.data.is_show == 1 && res.data.data.is_end == 0 + && ut.gettimestamp() < res.data.data.end_time + && ut.gettimestamp() > res.data.data.start_time + ) { + b_item.prom_type = 7; + b_item.prom_id = res.data.data.id; + good.prom_type = 7; + good.prom_id = res.data.data.id; + } + } + }) + break; + } + } //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 if(g_item.prom_type==3 || good.prom_type==3){ @@ -1132,7 +1162,6 @@ Page({ back_goods_arr.push(b_item); //返回商品元素 }else{ - //-- 看一下购物车上有多少商品 -- var cart_num=0; await getApp().request.promiseGet("/api/weshop/cart/page", { @@ -1151,8 +1180,7 @@ Page({ } cart_num=num; }) - - + if(good.store_count<=0){ err_text+= good['goods_name']+"库存不足\n"; continue; @@ -1226,16 +1254,19 @@ Page({ if(b_item.goods_num>redis_num){ b_item.goods_num=redis_num; - } - - if(cart_num+buynum>prom['buy_limit']){ - err_text+= good['goods_name']+"超出活动限购\n";continue; } - prom['buy_limit'] -= (cart_num+buynum); - if(b_item.goods_num>prom['buy_limit']){ - b_item.goods_num=prom['buy_limit']; - } - + + if(prom['buy_limit']>0){ + if(cart_num+buynum>prom['buy_limit'] ){ + err_text+= good['goods_name']+"超出活动限购\n";continue; + } + prom['buy_limit'] -= (cart_num+buynum); + if(b_item.goods_num>prom['buy_limit']){ + b_item.goods_num=prom['buy_limit']; + } + } + + } back_goods_arr.push(b_item); //返回商品元素 } diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js index 0261895..84d8804 100644 --- a/pages/user/order_list/order_list.js +++ b/pages/user/order_list/order_list.js @@ -497,7 +497,7 @@ Page({ await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { data: { store_id: os.stoid, - user_id: getApp().globalData.user_id, + user_id: user_id, goods_id: good.goods_id, prom_type: good.prom_type, prom_id: good.prom_id @@ -567,12 +567,9 @@ Page({ }) var num = good['buyqty']; - console.log(1111); - console.log(num); //---- 要计算商品的限购 ----- if (good['buyqty'] > 0) { if (good.goods_num + promgoodsbuynum > good['buyqty']) { - var content = good['goods_name'] + "超出活动限购\n"; th.toast(content); return false; @@ -658,7 +655,7 @@ Page({ //商品的普通购买 ,不要进行判断 if ((good.prom_type == 1 || good.prom_type == 6 || good.prom_type == 4 || good.prom_type == 8) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal) { - if (gg.prom_type != good.prom_type) { + if (gg.prom_type != good.prom_type && gg.prom_type>0) { var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; th.toast(content); return false; @@ -671,9 +668,10 @@ Page({ //---如果是活动的时候--- var prom = null, th = this; if (gg.prom_type == 1) { - await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/"+ user_id + "/" + gg.prom_id, {}).then(res => { if (res.data.code == 0) { prom = res.data.data; + prom.price=prom.user_price; } }) } @@ -771,13 +769,13 @@ Page({ } } - console.log("------------------------------------"); //---如果是活动的时候--- var prom = null, goodsinfo = good, th = this; if (goodsinfo.prom_type == 1) { - await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + goodsinfo.prom_id, {}).then(res => { + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/"+ user_id + "/" + goodsinfo.prom_id, {}).then(res => { if (res.data.code == 0) { prom = res.data.data; + prom.price=prom.user_price; } }) } @@ -803,7 +801,6 @@ Page({ if (prom) { var now = ut.gettimestamp(); if (prom.is_end == 1 && prom.end_time < now) { - var content = goodsinfo.goods_name + '商品的活动已经结束,请取消订单' th.toast(content); return false; @@ -817,6 +814,13 @@ Page({ return false; } + // --看一下会员的秒杀价格是不是发生了变化,因为会员的身份发生了变化 + if(goodsinfo.prom_type==1 && goodsinfo.goods_price!=prom.price){ + var content=goodsinfo.goods_name+'秒杀活动的价格发生了变化'; + th.toast(content); + return false; + } + if (goodsinfo.prom_type == 4) { if (good.goods_num > prom.limitqty - prom.buy_num) { @@ -1058,388 +1062,413 @@ Page({ var item=th.data.orderList[index]; th.check_more_order(item); }, - - check_more_order:async function(item){ - var pickup=null,th=this; - wx.showLoading(); - //--------获取门店----------- - await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + item.pickup_id, { - - }).then(res=>{ - pickup = res.data.data; - }) - - //--------获取商品---------- - var goods_list=item.order_goods; - //--- 返回的内容 --- - var back_goods_arr=[]; - var err_text=""; - for(var i in goods_list){ - var g_item=goods_list[i]; - //--如果是赠品,不加入购物车-- - if(g_item['is_gift']) continue; - if(g_item['prom_type']==4 ){ - err_text+= g_item['goods_name']+"积分购商品不加入购物车\n"; - continue; - } - if(g_item['prom_type']==5){ - err_text+= g_item['goods_name']+"搭配购商品不加入购物车\n"; - continue; - } - if(g_item['prom_type']==6 ){ - err_text+= g_item['goods_name']+"拼团商品不加入购物车\n"; - continue; - } - - //--获取商品-- - var good=null; - await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + g_item.goods_id, { - }).then(res=>{ - good=res.data.data; - }) - if(!good){ - err_text+= g_item['goods_name']+"未找到商品\n"; - continue; - } - if (good.is_on_sale != 1) { - err_text+= g_item['goods_name']+"已经下架\n"; - continue; - } + check_more_order:async function(item){ + var pickup=null,th=this; + var user_id=getApp().globalData.user_id; + wx.showLoading(); + //--------获取门店----------- + await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + item.pickup_id, { + + }).then(res=>{ + pickup = res.data.data; + }) - var timestamp = ut.gettimestamp(); - if (good.on_time > timestamp) { - err_text+= g_item['goods_name']+"还未上架\n"; - continue; - } - if (good.down_time > 0) { - if (good.down_time < timestamp) { - err_text+=g_item['goods_name']+"已经下架\n"; - continue; - } - } + //--------获取商品---------- + var goods_list=item.order_goods; + //--- 返回的内容 --- + var back_goods_arr=[]; + var err_text=""; + for(var i in goods_list){ + var g_item=goods_list[i]; + //--如果是赠品,不加入购物车-- + if(g_item['is_gift']) continue; + if(g_item['prom_type']==4 ){ + err_text+= g_item['goods_name']+"积分购商品不加入购物车\n"; + continue; + } + if(g_item['prom_type']==5){ + err_text+= g_item['goods_name']+"搭配购商品不加入购物车\n"; + continue; + } + if(g_item['prom_type']==6 ){ + err_text+= g_item['goods_name']+"拼团商品不加入购物车\n"; + continue; + } - //如果商品的配送方式和门店不匹配 - if(good['distr_type']>0 && pickup['distr_type']>0 && good['distr_type']!=pickup['distr_type'] ){ - err_text+= good['goods_name']+"配送方式不一致\n"; - continue; - } + //--获取商品-- + var good=null; + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + g_item.goods_id, { - var prom=null; - var b_item={} - b_item.goods_id=g_item.goods_id; - b_item.goods_name=g_item.goods_name; - b_item.goods_num=g_item.goods_num; - b_item.guide_id=g_item.guide_id; - b_item.guide_type=g_item.guide_type; - b_item.pickup_id=item.pickup_id; - b_item.price=good.shop_price; - b_item.goods_sn=good.goods_sn; - b_item.sku=good.sku; - b_item.is_integral_normal=g_item.is_integral_normal; - - //-- 如果会员是等级卡的时候,同时商品也有设置相应的卡价格 -- - var card_field=th.data.card_field; - if(card_field && good[card_field]>0){ - b_item.price=good[card_field]; - } + }).then(res=>{ + good=res.data.data; + }) - //--判断商品当前的活动情况-- - switch(good.prom_type){ - //秒杀 - case 1: - var flash=null; - await getApp().request.promiseGet("/api/ms/flash_sale/get/" + os.stoid + "/" + good.prom_id, { - }).then(res=>{ - if (res.data.code== 0) { - flash=res.data.data; - } - }) - //----活动还没有结束----- - if (flash && flash.is_end == 0 && flash.end_time>timestamp && flash.start_time { - if(res.data.code==0 && res.data.data){ - if(res.data.data.is_show==1 && res.data.data.is_end==0 - && ut.gettimestamp()res.data.data.start_time - ){ - b_item.prom_type=7; - b_item.prom_id=res.data.data.id; - } - } - }) - break; - } + if(!good){ + err_text+= g_item['goods_name']+"未找到商品\n"; + continue; + } + if (good.is_on_sale != 1) { + err_text+= g_item['goods_name']+"已经下架\n"; + continue; + } + var timestamp = ut.gettimestamp(); + if (good.on_time > timestamp) { + err_text+= g_item['goods_name']+"还未上架\n"; + continue; + } + if (good.down_time > 0) { + if (good.down_time < timestamp) { + err_text+=g_item['goods_name']+"已经下架\n"; + continue; + } + } - //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 - if(g_item.prom_type==3 || good.prom_type==3){ - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/1", {}).then(res => { - if (res.data.code == 0) { - var r_data = res.data.data; - if (r_data.promGoodsLists) { - b_item.prom_type=3; - b_item.prom_id=r_data.promGoodsLists[0].prom_id; - } - } - }) - } + //如果商品的配送方式和门店不匹配 + if(good['distr_type']>0 && pickup['distr_type']>0 && good['distr_type']!=pickup['distr_type'] ){ + err_text+= good['goods_name']+"配送方式不一致\n"; + continue; + } - //判断是不是线下库存的购买, 是不是秒杀活动 - if(th.data.sales_rules==2 && !prom){ - //-- 看一下购物车上有多少商品 -- - var cart_num=0; - await getApp().request.promiseGet("/api/weshop/cart/page", { - data: { - store_id: os.stoid, - user_id: getApp().globalData.user_id, - state:0, is_gift:0, - goods_id:good.goods_id, - pick_id: b_item.pickup_id - } - }).then(res=>{ - var num = 0; - if(res.data.code==0 && res.data.data && res.data.data.pageData) { - for (var i = 0; i < res.data.data.pageData.length; i++) { - num += res.data.data.pageData[i].goods_num; - } - } - cart_num=num; - }) + var prom=null; + var b_item={} + b_item.goods_id=g_item.goods_id; + b_item.goods_name=g_item.goods_name; + b_item.goods_num=g_item.goods_num; + b_item.guide_id=g_item.guide_id; + b_item.guide_type=g_item.guide_type; + b_item.pickup_id=item.pickup_id; + b_item.price=good.shop_price; + b_item.goods_sn=good.goods_sn; + b_item.sku=good.sku; + b_item.is_integral_normal=g_item.is_integral_normal; + + //-- 如果会员是等级卡的时候,同时商品也有设置相应的卡价格 -- + var card_field=th.data.card_field; + if(card_field && good[card_field]>0){ + b_item.price=good[card_field]; + } - var lock=0,plist=null; - - if(b_item.prom_type!=7) { - //先读取门店的lock, - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { - data: {store_id: os.stoid, wareId: good.goods_id, storageId: b_item.pickup_id, pageSize: 1000} - }).then(res => { - if (res.data.code == 0 && res.data.data.total > 0) { - for (var i in res.data.data.pageData) - lock += res.data.data.pageData[i].outQty - } - }) - //---通过接口获取门店的线下库存信息-- - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { - data: { - storageNos: pickup.pickup_no, - wareIds: encodeURIComponent(good.erpwareid), - storeId: os.stoid - } - }).then(res => { - if (res.data.code == 0 && res.data.data.total > 0) { - plist = res.data.data.pageData[0]; - } - }) - - if (!plist) { - err_text += good['goods_name'] + "库存不足\n"; - continue; - } - if (plist.CanOutQty - lock <= 0) { - err_text += good['goods_name'] + "库存不足\n"; - continue; - } - if (b_item.goods_num > (plist.CanOutQty - lock)) { - b_item.goods_num = plist.CanOutQty - lock; + var url="/api/weshop/activitylist/getGoodActInfo"; + var req_data={ + store_id:g_item.store_id,goodsidlist:g_item.goods_id,is_detail:1 + }; + await getApp().request.promiseGet(url, {data:req_data}).then(res=>{ + if(res.data.code==0){ + var list = res.data.data; + for(let i in list){ + let item=list[i]; + if(item.prom_type==1){ good.prom_type=1; good.prom_id=item.act_id; } } } - var req_data={ - store_id: os.stoid, - user_id: getApp().globalData.user_id, - goods_id: good.goods_id, - }; + }) - if(b_item.prom_type==7){ - req_data.prom_type=7; - req_data.prom_id=b_item.prom_id; - } + if(!prom) { + //--判断商品当前的活动情况-- + switch (good.prom_type) { + case 1: + var flash = null; + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + good.prom_id, {}).then(res => { + if (res.data.code == 0) { + flash = res.data.data; + } + }) + //----已经结束----- + if (flash && flash.is_end == 0 && flash.end_time > timestamp && flash.start_time < timestamp) { + prom = flash; + prom.price = prom.user_price; + b_item.price = prom.user_price; + } + break; + case 6: + b_item.is_pd_normal = 1; + break; + case 7: + //如果有组合购 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; + await getApp().request.promiseGet(url, {}).then(res => { + if (res.data.code == 0 && res.data.data) { + if (res.data.data.is_show == 1 && res.data.data.is_end == 0 + && ut.gettimestamp() < res.data.data.end_time + && ut.gettimestamp() > res.data.data.start_time + ) { + b_item.prom_type = 7; + b_item.prom_id = res.data.data.id; + good.prom_type = 7; + good.prom_id = prom.b_item.prom_id; - var buynum=0; - var promnum=0; - //---要获得商品,该用户买了多少件,同步应用--- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: req_data, - }).then(res => { - if(res.data.code==0){ - var buy_num_data = res.data.data; - buynum = buy_num_data.goodsbuynum; - if(buy_num_data.promgoodsbuynum){ - promnum=buy_num_data.promgoodsbuynum; - } - } - }) + } + } + }) + break; + } + } - //---- 要计算商品的限购 ----- - if(good['viplimited']>0){ - if(cart_num+buynum>good['viplimited']){ - err_text+= good['goods_name']+"超出限购\n"; - continue; - } - good['viplimited']-=(cart_num+buynum); - if(b_item.goods_num>good['viplimited']){ - b_item.goods_num=good['viplimited']; - } - } - //不算组合购的限购 - back_goods_arr.push(b_item); //返回商品元素 + //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 + if(g_item.prom_type==3 || good.prom_type==3){ + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/1", {}).then(res => { + if (res.data.code == 0) { + var r_data = res.data.data; + if (r_data.promGoodsLists) { + b_item.prom_type=3; + b_item.prom_id=r_data.promGoodsLists[0].prom_id; + } + } + }) + } - }else{ - //-- 看一下购物车上有多少商品 -- - var cart_num=0; - await getApp().request.promiseGet("/api/weshop/cart/page", { - data: { - store_id: os.stoid, - user_id: getApp().globalData.user_id, - state:0, is_gift:0, - goods_id:good.goods_id - } - }).then(res=>{ - var num = 0; - if(res.data.code==0 && res.data.data && res.data.data.pageData) { - for (var i = 0; i < res.data.data.pageData.length; i++) { - num += res.data.data.pageData[i].goods_num; - } - } - cart_num=num; - }) + //判断是不是线下库存的购买, 是不是秒杀活动 + if(th.data.sales_rules==2 && !prom){ + //-- 看一下购物车上有多少商品 -- + var cart_num=0; + await getApp().request.promiseGet("/api/weshop/cart/page", { + data: { + store_id: os.stoid, + user_id: getApp().globalData.user_id, + state:0, is_gift:0, + goods_id:good.goods_id, + pick_id: b_item.pickup_id + } + }).then(res=>{ + var num = 0; + if(res.data.code==0 && res.data.data && res.data.data.pageData) { + for (var i = 0; i < res.data.data.pageData.length; i++) { + num += res.data.data.pageData[i].goods_num; + } + } + cart_num=num; + }) - if(good.store_count<=0){ - err_text+= good['goods_name']+"库存不足\n"; - continue; - } - if(b_item.goods_num>good.store_count) - b_item.goods_num=good.store_count; - - var buynum=0; //商品已经购买多少件 - var promgoodsbuynum=0; //活动已经购买多少件 - var redis_num = 0; //redis库存 - - var req_data={ - store_id: os.stoid, - user_id: getApp().globalData.user_id, - goods_id: good.goods_id, - }; - - if(prom){ - req_data.prom_type= good.prom_type; - req_data.prom_id= good.prom_id; - b_item.prom_type=good.prom_type; - b_item.prom_id=good.prom_id; - //------判断活动是否抢光----- - await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + - os.stoid + "/" + good.prom_type + "/" + good.prom_id, { - 1: 1 - }).then(res => { - redis_num = res.data.data; - }); - if(redis_num<=0){ - err_text+= good['goods_name']+"活动不足\n"; - continue; - } + var lock=0,plist=null; - } - - //---要获得商品,该用户买了多少件,同步应用--- - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { - data: req_data, - }).then(res => { - if(res.data.code==0){ - var buy_num_data = res.data.data; - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; - buynum = buy_num_data.goodsbuynum; - } - }) - - //---- 要计算商品的限购 ----- - if(good['viplimited']>0){ - if(cart_num+buynum>good['viplimited']){ - err_text+= good['goods_name']+"超出限购\n"; - continue; - } - good['viplimited']-=(cart_num+buynum); - if(b_item.goods_num>good['viplimited']){ - b_item.goods_num=good['viplimited']; - } + if(b_item.prom_type!=7) { + //先读取门店的lock, + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { + data: {store_id: os.stoid, wareId: good.goods_id, storageId: b_item.pickup_id, pageSize: 1000} + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + for (var i in res.data.data.pageData) + lock += res.data.data.pageData[i].outQty + } + }) - } + //---通过接口获取门店的线下库存信息-- + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { + data: { + storageNos: pickup.pickup_no, + wareIds: encodeURIComponent(good.erpwareid), + storeId: os.stoid + } + }).then(res => { + if (res.data.code == 0 && res.data.data.total > 0) { + plist = res.data.data.pageData[0]; + } + }) - //-- 判断活动的库存 -- - if(prom){ - if(prom['goods_num']<=prom['buy_num']){ - err_text+= good['goods_name']+"超出活动库存\n";continue; - } + if (!plist) { + err_text += good['goods_name'] + "库存不足\n"; + continue; + } + if (plist.CanOutQty - lock <= 0) { + err_text += good['goods_name'] + "库存不足\n"; + continue; + } + if (b_item.goods_num > (plist.CanOutQty - lock)) { + b_item.goods_num = plist.CanOutQty - lock; + } + } + var req_data={ + store_id: os.stoid, + user_id: getApp().globalData.user_id, + goods_id: good.goods_id, + }; + if(b_item.prom_type==7){ + req_data.prom_type=7; + req_data.prom_id=b_item.prom_id; + } - if(b_item.goods_num>prom['goods_num']-prom['buy_num']){ - b_item['goods_num']= b_item['goods_num']-b_item['buy_num']; - } + var buynum=0; + var promnum=0; + //---要获得商品,该用户买了多少件,同步应用--- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: req_data, + }).then(res => { + if(res.data.code==0){ + var buy_num_data = res.data.data; + buynum = buy_num_data.goodsbuynum; + if(buy_num_data.promgoodsbuynum){ + promnum=buy_num_data.promgoodsbuynum; + } + } + }) - if(b_item.goods_num>redis_num){ - b_item.goods_num=redis_num; - } + //---- 要计算商品的限购 ----- + if(good['viplimited']>0){ + if(cart_num+buynum>good['viplimited']){ + err_text+= good['goods_name']+"超出限购\n"; + continue; + } + good['viplimited']-=(cart_num+buynum); + if(b_item.goods_num>good['viplimited']){ + b_item.goods_num=good['viplimited']; + } + } + //不需要计算组合购的限购 - if(cart_num+buynum>prom['buy_limit']){ - err_text+= good['goods_name']+"超出活动限购\n";continue; - } - prom['buy_limit'] -= (cart_num+buynum); - if(b_item.goods_num>prom['buy_limit']){ - b_item.goods_num=prom['buy_limit']; - } + back_goods_arr.push(b_item); //返回商品元素 - } - back_goods_arr.push(b_item); //返回商品元素 - } - } - - //有重新购买的数据是时候,就要重新生成订单 - if(back_goods_arr.length>0){ - th.setData({back_goods_arr:back_goods_arr}); - if(!err_text){ - th.more_add_cart(); - }else{ - // 如果没有获取用户信息 - wx.showModal({ - title:'确定', - content: err_text+',确定要买其他商品码?', - success(res) { - if (res.confirm) { - //跳转到登录页 - th.more_add_cart(); - }else{ - wx.hideLoading(); + }else{ + + //-- 看一下购物车上有多少商品 -- + var cart_num=0; + await getApp().request.promiseGet("/api/weshop/cart/page", { + data: { + store_id: os.stoid, + user_id: getApp().globalData.user_id, + state:0, is_gift:0, + goods_id:good.goods_id + } + }).then(res=>{ + var num = 0; + if(res.data.code==0 && res.data.data && res.data.data.pageData) { + for (var i = 0; i < res.data.data.pageData.length; i++) { + num += res.data.data.pageData[i].goods_num; + } + } + cart_num=num; + }) + + + if(good.store_count<=0){ + err_text+= good['goods_name']+"库存不足\n"; + continue; + } + if(b_item.goods_num>good.store_count) + b_item.goods_num=good.store_count; + + var buynum=0; //商品已经购买多少件 + var promgoodsbuynum=0; //活动已经购买多少件 + var redis_num = 0; //redis库存 + + var req_data={ + store_id: os.stoid, + user_id: getApp().globalData.user_id, + goods_id: good.goods_id, + }; + + if(prom){ + req_data.prom_type= good.prom_type; + req_data.prom_id= good.prom_id; + b_item.prom_type=good.prom_type; + b_item.prom_id=good.prom_id; + + //------判断活动是否抢光----- + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + + os.stoid + "/" + good.prom_type + "/" + good.prom_id, { + 1: 1 + }).then(res => { + redis_num = res.data.data; + }); + if(redis_num<=0){ + err_text+= good['goods_name']+"活动不足\n"; + continue; + } + + } + + //---要获得商品,该用户买了多少件,同步应用--- + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { + data: req_data, + }).then(res => { + if(res.data.code==0){ + var buy_num_data = res.data.data; + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; + buynum = buy_num_data.goodsbuynum; + } + }) + + //---- 要计算商品的限购 ----- + if(good['viplimited']>0){ + if(cart_num+buynum>good['viplimited']){ + err_text+= good['goods_name']+"超出限购\n"; + continue; + } + good['viplimited']-=(cart_num+buynum); + if(b_item.goods_num>good['viplimited']){ + b_item.goods_num=good['viplimited']; + } + + } + + //-- 判断活动的库存 -- + if(prom) { + if (prom['goods_num'] <= prom['buy_num']) { + err_text += good['goods_name'] + "超出活动库存\n"; + continue; + } + + if (b_item.goods_num > prom['goods_num'] - prom['buy_num']) { + b_item['goods_num'] = b_item['goods_num'] - b_item['buy_num']; + } + + if (b_item.goods_num > redis_num) { + b_item.goods_num = redis_num; + } + + if (prom['buy_limit'] > 0) { + if (cart_num + buynum > prom['buy_limit']) { + err_text += good['goods_name'] + "超出活动限购\n"; + continue; + } + prom['buy_limit'] -= (cart_num + buynum); + if (b_item.goods_num > prom['buy_limit']) { + b_item.goods_num = prom['buy_limit']; + } + } + } + + + back_goods_arr.push(b_item); //返回商品元素 + } + } + + //有重新购买的数据是时候,就要重新生成订单 + if(back_goods_arr.length>0){ + th.setData({back_goods_arr:back_goods_arr}); + if(!err_text){ + th.more_add_cart(); + }else{ + wx.hideLoading(); + // 如果没有获取用户信息 + wx.showModal({ + title:'确定', + content: err_text+',确定要买其他商品码?', + success(res) { + if (res.confirm) { + //跳转到登录页 + th.more_add_cart(); + }else{ + th.data.moring=0; + wx.hideLoading(); + } + },fail(){ th.data.moring=0; + wx.hideLoading(); } - }, - fail: function (res) { - wx.hideLoading(); - th.data.moring=0; - },//接口调用失败的回调函数 - }); - - } - }else{ - wx.hideLoading(); - this.data.moring=0; - getApp().confirmBox(err_text); - } - }, + }); + + } + }else{ + th.data.moring=0; + wx.hideLoading(); + getApp().confirmBox(err_text); + } + }, more_add_cart:async function(){ var back_goods_arr=this.data.back_goods_arr;