From 1df16535a9ab6e3b10a308bd8ca9979128f0c22d Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Tue, 12 Sep 2023 11:47:37 +0800 Subject: [PATCH] 购物购买速度优化, 和提交订单优化 --- packageE/pages/cart/cart2/cart2.js | 417 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ pages/cart/cart/cart.js | 5 ++--- 2 files changed, 221 insertions(+), 201 deletions(-) diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js index 0a121ad..40fe8dd 100644 --- a/packageE/pages/cart/cart2/cart2.js +++ b/packageE/pages/cart/cart2/cart2.js @@ -1026,6 +1026,7 @@ Page({ //-----------循环查找门店------------- if (arr.length > 0) { for (var j = 0; j < arr.length; j++) { + if (arr[j].pickup_id == pcid) { if (item.is_gift != 1) { //确定配送方式 @@ -1044,15 +1045,22 @@ Page({ } switch (dis_t) { case 0: - e_t = 1; - //-- 系统后台有设置要默认的 -- - if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0; + if(!arr[j].exp_sure){ + e_t = 1; + //-- 系统后台有设置要默认的 -- + if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) e_t = 0; + arr[j].exp_type=e_t + } break; case 1: e_t = 1; + arr[j].exp_sure=1 + arr[j].exp_type=1 break; case 2: e_t = 0; + arr[j].exp_sure=1 + arr[j].exp_type=0 break; } //如果是物流的话,全部自提的控制要弄成0 @@ -1115,6 +1123,9 @@ Page({ } else { dis_t = item.distr_type; } + + let exp_sure=0; + switch (dis_t) { case 0: e_t = 1; @@ -1123,9 +1134,11 @@ Page({ break; case 1: e_t = 1; + exp_sure=1; break; case 2: e_t = 0; + exp_sure=1; break; } //如果是物流的话,全部自提的控制要弄成0 @@ -1147,7 +1160,7 @@ Page({ } - if (back_data && parseFloat(back_data)) { + if (back_data && parseFloat(back_data)) { c_item.can_usecommise = parseFloat(parseFloat(back_data).toFixed(2)); cart_commission += c_item.can_usecommise; } @@ -1166,7 +1179,8 @@ Page({ total_amount: 0, order_amount: 0, user_note: "", - sto: sto + sto: sto, + exp_sure:1 }; //-- 把等级卡会优惠多少钱装进去 -- @@ -1209,199 +1223,197 @@ Page({ //-- 循环计算一下线下取价 -- for (var k = 0; k < arr.length; k++) { var c_item = arr[k]; - if(!is_change){ + if (!is_change) { //-- 要进行归类一下活动 -- - await m_cx.cart_cx_group(th,arr[k].goods,c_item,0,0,(show_can_cx)=>{ + await m_cx.cart_cx_group(th, arr[k].goods, c_item, 0, 0, (show_can_cx) => { - arr[k].show_can_cx=show_can_cx; + arr[k].show_can_cx = show_can_cx; }) - }else{ - var show_can_cx=this.data.cartlist[k].show_can_cx; - //-- 多促销活动的优化 -- - if(show_can_cx){ - arr[k].show_can_cx=show_can_cx; - } + } else { + var show_can_cx = this.data.cartlist[k].show_can_cx; + //-- 多促销活动的优化 -- + if (show_can_cx) { + arr[k].show_can_cx = show_can_cx; + } } //要在多活动确定之后,在来计算 - for(var jh=0;jh { - if (res.data.code == 0 && res.data.data) { - //如果活动已经结束 - if (res.data.data.is_end == 1) { - isok = 0; - } - if (ut.gettimestamp() > res.data.data.end_time) { - isok = 0; - } - item1.act = res.data.data; - - //-- 在这里要判断一下活动的组合购总数量 -- - if(item1.act.zh_num>0 && item1.act.zh_buy_num>=item1.act.zh_num){ - store_count_ok = 0; - no_zh_num[item1.prom_id]=1; - //-- 清理一下活动的状态 -- - // item1.prom_type = 0; - // item1.prom_type1 = 0; - // item1.prom_id = 0; - // item1.prom_id1 = 0 - - }else{ - th.data.zhhe_act_map[item1.prom_id] = res.data.data; - } + } + //-- 如果组合购的总数量不足的处理 -- + // if(no_zh_num[item1.prom_id] && item1.prom_type == 7){ + // item1.prom_type = 0; + // item1.prom_type1 = 0; + // item1.prom_id = 0; + // item1.prom_id1 = 0 + // } - } else { - //未找到商品的活动 - is_flag = 0; + //要把组合购的东西拿出来算一下,同时组合购的总数量要有存在 + if (item1.prom_type == 7) { + if (!th.data.zuhe_map_good[item1.prom_id]) { + var isok = 1; + var is_flag = 1; + var store_count_ok = 1; + //如果有组合购 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.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_end == 1) { + isok = 0; } - }) - - if (!isok) { - getApp().my_warnning("组合购的活动已经过期", 0, th); - return false; - } - - //------ 先增组合活动的总数量的时候 ------- - if(store_count_ok) { - var url1 = "/api/weshop/prom/zhbuyGoods/page"; - var req_data = { - page: 1, - pageSize: 2000, - store_id: os.stoid, - zh_id: item1.prom_id, + if (ut.gettimestamp() > res.data.data.end_time) { + isok = 0; } - await getApp().request.promiseGet(url1, { - data: req_data - }).then(res => { - if (ut.ajax_ok(res)) { - var gdlist = res.data.data.pageData; - gdlist.forEach(i => { - if (item1.goods_id == i.goods_id && !is_flag) { - item1.prom_type = 0; - item1.prom_type1 = 0; - item1.prom_id = 0; - item1.prom_id1 = 0 - } - }) - th.data.zuhe_map_good[item1.prom_id] = gdlist; - } - }) - } - - - - } - else { - item1.act = th.data.zhhe_act_map[item1.prom_id]; - } - } - if (item1.prom_type == 10) { - if (!th.data.ladder_map[item1.prom_id]) { - //如果有预售 - var isok = 1; - var is_flag = 1; - var act = null; - var url = "/api/weshop/prom/ladderForm/get/" + os.stoid + "/" + item1.prom_id; - await getApp().request.promiseGet(url, {}).then(res => { - console.log(res, 1000); - if (res.data.code == 0 && res.data.data) { - if (res.data.data.isuse != 1) { - isok = 0; - } - //如果活动已经结束 - if (res.data.data.is_end == 1) { - isok = 0; - } - //已经结束 - if (ut.gettimestamp() > res.data.data.end_time) { - isok = 0; - } - //还未开始 - if (ut.gettimestamp() < res.data.data.start_time) { - isok = 0; - } - act = res.data.data; + item1.act = res.data.data; + + //-- 在这里要判断一下活动的组合购总数量 -- + if (item1.act.zh_num > 0 && item1.act.zh_buy_num >= item1.act.zh_num) { + store_count_ok = 0; + no_zh_num[item1.prom_id] = 1; + //-- 清理一下活动的状态 -- + // item1.prom_type = 0; + // item1.prom_type1 = 0; + // item1.prom_id = 0; + // item1.prom_id1 = 0 } else { - //未找到商品的活动 - is_flag = 0; + th.data.zhhe_act_map[item1.prom_id] = res.data.data; } - }) - if (!isok) { - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item1.id; - getApp().request.delete(url, {}); - th.data.ladder_map[item1.prom_id] = -1; - continue; + + } else { + //未找到商品的活动 + is_flag = 0; } - th.data.ladder_map[item1.prom_id] = act; + }) + + if (!isok) { + getApp().my_warnning("组合购的活动已经过期", 0, th); + return false; + } - //-- 获取阶梯规则 -- - var url1 = "/api/weshop/prom/ladderList/list"; + //------ 先增组合活动的总数量的时候 ------- + if (store_count_ok) { + var url1 = "/api/weshop/prom/zhbuyGoods/page"; var req_data = { + page: 1, + pageSize: 2000, store_id: os.stoid, - form_id: item1.prom_id, + zh_id: item1.prom_id, } await getApp().request.promiseGet(url1, { data: req_data - }).then(rs1 => { - if (rs1.data.code == 0 && rs1.data.data) { - var gdlist = rs1.data.data; - th.data.ladder_map[item1.prom_id].ladder_list = gdlist; + }).then(res => { + if (ut.ajax_ok(res)) { + var gdlist = res.data.data.pageData; + gdlist.forEach(i => { + if (item1.goods_id == i.goods_id && !is_flag) { + item1.prom_type = 0; + item1.prom_type1 = 0; + item1.prom_id = 0; + item1.prom_id1 = 0 + } + }) + th.data.zuhe_map_good[item1.prom_id] = gdlist; } }) } - } - //-- 判断一下,获取搭配购的消息,只有prom_type==5才会判断优惠活动 -- - if ( item1.prom_type == 5 && (!item1.collocationList || !item1.collocationList.length)) { - await th.set_collection(item1, arr[k].goods, jh); + + } else { + item1.act = th.data.zhhe_act_map[item1.prom_id]; } + } + if (item1.prom_type == 10) { + if (!th.data.ladder_map[item1.prom_id]) { + //如果有预售 + var isok = 1; + var is_flag = 1; + var act = null; + var url = "/api/weshop/prom/ladderForm/get/" + os.stoid + "/" + item1.prom_id; + await getApp().request.promiseGet(url, {}).then(res => { + console.log(res, 1000); + if (res.data.code == 0 && res.data.data) { + if (res.data.data.isuse != 1) { + isok = 0; + } + //如果活动已经结束 + if (res.data.data.is_end == 1) { + isok = 0; + } + //已经结束 + if (ut.gettimestamp() > res.data.data.end_time) { + isok = 0; + } + //还未开始 + if (ut.gettimestamp() < res.data.data.start_time) { + isok = 0; + } + act = res.data.data; - if (item1.collocationList) { - if (!arr[k].collocationList) arr[k].collocationList = item1.collocationList; - else { - var arr_new = [...arr[k].collocationList, ...item1.collocationList]; - arr[k].collocationList = arr_new; + } else { + //未找到商品的活动 + is_flag = 0; + } + }) + if (!isok) { + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item1.id; + getApp().request.delete(url, {}); + th.data.ladder_map[item1.prom_id] = -1; + continue; + } + th.data.ladder_map[item1.prom_id] = act; + + //-- 获取阶梯规则 -- + var url1 = "/api/weshop/prom/ladderList/list"; + var req_data = { + store_id: os.stoid, + form_id: item1.prom_id, } + await getApp().request.promiseGet(url1, { + data: req_data + }).then(rs1 => { + if (rs1.data.code == 0 && rs1.data.data) { + var gdlist = rs1.data.data; + th.data.ladder_map[item1.prom_id].ladder_list = gdlist; + } + }) + } + } + + //-- 判断一下,获取搭配购的消息,只有prom_type==5才会判断优惠活动 -- + if (item1.prom_type == 5 && (!item1.collocationList || !item1.collocationList.length)) { + await th.set_collection(item1, arr[k].goods, jh); + } + + if (item1.collocationList) { + if (!arr[k].collocationList) arr[k].collocationList = item1.collocationList; + else { + var arr_new = [...arr[k].collocationList, ...item1.collocationList]; + arr[k].collocationList = arr_new; } + } } @@ -1412,25 +1424,32 @@ Page({ //计算佣金的商品 var commission_gds = []; for (var c = 0; c < item.length; c++) { - if (!item[c].is_gift) { - var hr = { - goods_id: item[c].goods_id, - goods_num: item[c].goods_num, - prom_type: item[c].prom_type, - prom_id: item[c].prom_id, - } - let req_d1 = { - user_id: getApp().globalData.user_id, goods_ids: [hr], store_id: os.stoid - } + //-- 有开启佣金抵扣的时候 -- + if (getApp().globalData.userInfo.is_distribut + && th.data.dis_config && th.data.dis_config.is_yongjin_dk) { - await getApp().request.promisePost("/api/weshop/order/getrebateSum", { - is_json: 1, data: req_d1 - }).then(grs => { - if (grs.data.code == 0) item[c].use_commission = grs.data.data; - }); - commission_gds.push(hr); + if (!item[c].is_gift) { + var hr = { + goods_id: item[c].goods_id, + goods_num: item[c].goods_num, + prom_type: item[c].prom_type, + prom_id: item[c].prom_id, + + } + let req_d1 = { + user_id: getApp().globalData.user_id, goods_ids: [hr], store_id: os.stoid + } + + await getApp().request.promisePost("/api/weshop/order/getrebateSum", { + is_json: 1, data: req_d1 + }).then(grs => { + if (grs.data.code == 0) item[c].use_commission = grs.data.data; + }); + commission_gds.push(hr); + } } + if (th.data.sales_rules != 2) { item[c].offline_price = 0; } @@ -1446,22 +1465,24 @@ Page({ c_item.is_offline = 1; } - //获取购物车的佣金,此处要优化调用接口,获取佣金 - var req_d = { - user_id: getApp().globalData.user_id, goods_ids: commission_gds, store_id: os.stoid - } - var back_data = null; - await getApp().request.promisePost("/api/weshop/order/getrebateSum", { - is_json: 1, data: req_d - }).then(rs => { - if (rs.data.code == 0) back_data = rs.data.data; - }); + //-- 如果有佣金抵扣的时候 -- + if (commission_gds.length) { + //获取购物车的佣金,此处要优化调用接口,获取佣金 + var req_d = { + user_id: getApp().globalData.user_id, goods_ids: commission_gds, store_id: os.stoid + } + var back_data = null; + await getApp().request.promisePost("/api/weshop/order/getrebateSum", { + is_json: 1, data: req_d + }).then(rs => { + if (rs.data.code == 0) back_data = rs.data.data; + }); - if (back_data && parseFloat(back_data)) { - c_item.can_usecommise = parseFloat(back_data); - cart_commission += c_item.can_usecommise; + if (back_data && parseFloat(back_data)) { + c_item.can_usecommise = parseFloat(back_data); + cart_commission += c_item.can_usecommise; + } } - } if (cart_commission) { diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 8670ff0..ff8e33b 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -570,15 +570,14 @@ Page({ // } // }) - for (let ir = 0; ir < g_arr.length; ir++) { let gg_it=g_arr[ir]; await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { data: { store_id: oo.stoid, user_id: user_id, - goods_ids: gg_it, - isnew:1 + goods_id: gg_it, + isnew:1 }, }).then(tt => { if (tt.data.code == 0) { -- libgit2 0.21.4