From af05b82dbb06e1dfe290e8cea45235b3718ce9cb Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Tue, 9 Jan 2024 18:56:27 +0800 Subject: [PATCH] 1、计算金额的bug优化 2、确认订单的立即购买的优化 --- pages/user/order_detail/order_detail.js | 38 +++++++++++++++++++++++++++++++------- pages/user/order_list/order_list.js | 50 ++++++++++++++++++++++++++++++++++++++++++-------- utils/more_cx.js | 5 +++-- 3 files changed, 76 insertions(+), 17 deletions(-) diff --git a/pages/user/order_detail/order_detail.js b/pages/user/order_detail/order_detail.js index 6e213e3..1d9a052 100644 --- a/pages/user/order_detail/order_detail.js +++ b/pages/user/order_detail/order_detail.js @@ -822,6 +822,17 @@ Page({ }) + if(gg.prom_type==3){ + var prom_pc=null; + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { prom_pc = res.data.data; } + }) + + if(prom_pc){ + gg.discount_field=prom_pc.discount_field; + } + } + if ((gg.prom_type == 1 || gg.prom_type == 2 || gg.prom_type == 4 || gg.prom_type == 6 || gg.prom_type == 8 || gg.prom_type == 9) && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { var prom = null; @@ -1043,17 +1054,30 @@ Page({ //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { - if (card_field && gg[card_field] > 0) { - if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; - if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 - } else { - if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; - if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 + //-- 优惠促销的时候控制取价规则 -- + if(gg.prom_type!=3 || gg.discount_field==undefined || gg.discount_field==0 ) { + if (card_field && gg[card_field] > 0) { + if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; + if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 + + } else { + if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; + if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 + } + }else{ + switch (gg.discount_field){ + case 1: + if (good.goods_price != gg.shop_price) isok = 0; + break; + case 2: + if (good.goods_price != gg.market_price) isok = 0; + break; + } } + var is_h = 0; if (!isok) { - var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1' th.toast(content); th.setData({ paying: 0 }); diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js index e10c404..7722783 100644 --- a/pages/user/order_list/order_list.js +++ b/pages/user/order_list/order_list.js @@ -17,6 +17,8 @@ var ut = require('../../../utils/util.js'); var t = require("../../../utils/pay.js"); var t_pay = require("../../../utils/pay2.js"); + + Page({ data: { url: e.globalData.setting.url, @@ -1105,13 +1107,26 @@ Page({ return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) }) if (arr2.length == 1) { - gg.prom_type=arr2[0].prom_type; - gg.prom_id=arr2[0].act_id; + gg.prom_type=arr2[0].prom_type; + gg.prom_id=arr2[0].act_id; } } }) + if(gg.prom_type==3){ + var prom_pc=null; + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { + if (res.data.code == 0) { prom_pc = res.data.data; } + }) + + if(prom_pc){ + gg.discount_field=prom_pc.discount_field; + } + + } + + if ((gg.prom_type == 1 || gg.prom_type == 2 || gg.prom_type == 4 || gg.prom_type == 6 || gg.prom_type == 8 || gg.prom_type == 9) && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { var prom = null; @@ -1216,6 +1231,9 @@ Page({ if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; the_yh_map[gg.prom_id].push(good); } + + good.discount_field=prom.discount_field; + break case 7: //获取组合购活动 @@ -1329,14 +1347,30 @@ Page({ //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { - if (card_field && gg[card_field] > 0) { - if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; - if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 - } else { - if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; - if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 + + //-- 优惠促销的时候控制取价规则 -- + if(gg.prom_type!=3 || gg.discount_field==undefined || gg.discount_field==0 ){ + if (card_field && gg[card_field] > 0) { + if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; + if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 + + } else { + if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; + if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 + } + }else{ + switch (gg.discount_field){ + case 1: + if (good.goods_price != gg.shop_price) isok = 0; + break; + case 2: + if (good.goods_price != gg.market_price) isok = 0; + break; + } } + + var is_h = 0; if (!isok) { diff --git a/utils/more_cx.js b/utils/more_cx.js index 46d6220..60524a0 100644 --- a/utils/more_cx.js +++ b/utils/more_cx.js @@ -424,8 +424,9 @@ module.exports = { var cx_act_map=[]; for(var i=0; i