Commit af05b82dbb06e1dfe290e8cea45235b3718ce9cb
1 parent
9ef2e7b5
1、计算金额的bug优化
2、确认订单的立即购买的优化
Showing
3 changed files
with
76 additions
and
17 deletions
pages/user/order_detail/order_detail.js
@@ -822,6 +822,17 @@ Page({ | @@ -822,6 +822,17 @@ Page({ | ||
822 | }) | 822 | }) |
823 | 823 | ||
824 | 824 | ||
825 | + if(gg.prom_type==3){ | ||
826 | + var prom_pc=null; | ||
827 | + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { | ||
828 | + if (res.data.code == 0) { prom_pc = res.data.data; } | ||
829 | + }) | ||
830 | + | ||
831 | + if(prom_pc){ | ||
832 | + gg.discount_field=prom_pc.discount_field; | ||
833 | + } | ||
834 | + } | ||
835 | + | ||
825 | 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) | 836 | 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) |
826 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { | 837 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { |
827 | var prom = null; | 838 | var prom = null; |
@@ -1043,17 +1054,30 @@ Page({ | @@ -1043,17 +1054,30 @@ Page({ | ||
1043 | 1054 | ||
1044 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- | 1055 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- |
1045 | if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { | 1056 | if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { |
1046 | - if (card_field && gg[card_field] > 0) { | ||
1047 | - if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | ||
1048 | - if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | ||
1049 | 1057 | ||
1050 | - } else { | ||
1051 | - if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | ||
1052 | - if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | 1058 | + //-- 优惠促销的时候控制取价规则 -- |
1059 | + if(gg.prom_type!=3 || gg.discount_field==undefined || gg.discount_field==0 ) { | ||
1060 | + if (card_field && gg[card_field] > 0) { | ||
1061 | + if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | ||
1062 | + if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | ||
1063 | + | ||
1064 | + } else { | ||
1065 | + if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | ||
1066 | + if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | ||
1067 | + } | ||
1068 | + }else{ | ||
1069 | + switch (gg.discount_field){ | ||
1070 | + case 1: | ||
1071 | + if (good.goods_price != gg.shop_price) isok = 0; | ||
1072 | + break; | ||
1073 | + case 2: | ||
1074 | + if (good.goods_price != gg.market_price) isok = 0; | ||
1075 | + break; | ||
1076 | + } | ||
1053 | } | 1077 | } |
1078 | + | ||
1054 | var is_h = 0; | 1079 | var is_h = 0; |
1055 | if (!isok) { | 1080 | if (!isok) { |
1056 | - | ||
1057 | var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1' | 1081 | var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1' |
1058 | th.toast(content); | 1082 | th.toast(content); |
1059 | th.setData({ paying: 0 }); | 1083 | th.setData({ paying: 0 }); |
pages/user/order_list/order_list.js
@@ -17,6 +17,8 @@ var ut = require('../../../utils/util.js'); | @@ -17,6 +17,8 @@ var ut = require('../../../utils/util.js'); | ||
17 | var t = require("../../../utils/pay.js"); | 17 | var t = require("../../../utils/pay.js"); |
18 | var t_pay = require("../../../utils/pay2.js"); | 18 | var t_pay = require("../../../utils/pay2.js"); |
19 | 19 | ||
20 | + | ||
21 | + | ||
20 | Page({ | 22 | Page({ |
21 | data: { | 23 | data: { |
22 | url: e.globalData.setting.url, | 24 | url: e.globalData.setting.url, |
@@ -1105,13 +1107,26 @@ Page({ | @@ -1105,13 +1107,26 @@ Page({ | ||
1105 | return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) | 1107 | return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) |
1106 | }) | 1108 | }) |
1107 | if (arr2.length == 1) { | 1109 | if (arr2.length == 1) { |
1108 | - gg.prom_type=arr2[0].prom_type; | ||
1109 | - gg.prom_id=arr2[0].act_id; | 1110 | + gg.prom_type=arr2[0].prom_type; |
1111 | + gg.prom_id=arr2[0].act_id; | ||
1110 | } | 1112 | } |
1111 | } | 1113 | } |
1112 | }) | 1114 | }) |
1113 | 1115 | ||
1114 | 1116 | ||
1117 | + if(gg.prom_type==3){ | ||
1118 | + var prom_pc=null; | ||
1119 | + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { | ||
1120 | + if (res.data.code == 0) { prom_pc = res.data.data; } | ||
1121 | + }) | ||
1122 | + | ||
1123 | + if(prom_pc){ | ||
1124 | + gg.discount_field=prom_pc.discount_field; | ||
1125 | + } | ||
1126 | + | ||
1127 | + } | ||
1128 | + | ||
1129 | + | ||
1115 | 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) | 1130 | 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) |
1116 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { | 1131 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { |
1117 | var prom = null; | 1132 | var prom = null; |
@@ -1216,6 +1231,9 @@ Page({ | @@ -1216,6 +1231,9 @@ Page({ | ||
1216 | if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; | 1231 | if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; |
1217 | the_yh_map[gg.prom_id].push(good); | 1232 | the_yh_map[gg.prom_id].push(good); |
1218 | } | 1233 | } |
1234 | + | ||
1235 | + good.discount_field=prom.discount_field; | ||
1236 | + | ||
1219 | break | 1237 | break |
1220 | case 7: | 1238 | case 7: |
1221 | //获取组合购活动 | 1239 | //获取组合购活动 |
@@ -1329,14 +1347,30 @@ Page({ | @@ -1329,14 +1347,30 @@ Page({ | ||
1329 | 1347 | ||
1330 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- | 1348 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- |
1331 | if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { | 1349 | if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { |
1332 | - if (card_field && gg[card_field] > 0) { | ||
1333 | - if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | ||
1334 | - if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | ||
1335 | 1350 | ||
1336 | - } else { | ||
1337 | - if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | ||
1338 | - if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | 1351 | + |
1352 | + //-- 优惠促销的时候控制取价规则 -- | ||
1353 | + if(gg.prom_type!=3 || gg.discount_field==undefined || gg.discount_field==0 ){ | ||
1354 | + if (card_field && gg[card_field] > 0) { | ||
1355 | + if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | ||
1356 | + if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | ||
1357 | + | ||
1358 | + } else { | ||
1359 | + if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | ||
1360 | + if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | ||
1361 | + } | ||
1362 | + }else{ | ||
1363 | + switch (gg.discount_field){ | ||
1364 | + case 1: | ||
1365 | + if (good.goods_price != gg.shop_price) isok = 0; | ||
1366 | + break; | ||
1367 | + case 2: | ||
1368 | + if (good.goods_price != gg.market_price) isok = 0; | ||
1369 | + break; | ||
1370 | + } | ||
1339 | } | 1371 | } |
1372 | + | ||
1373 | + | ||
1340 | var is_h = 0; | 1374 | var is_h = 0; |
1341 | if (!isok) { | 1375 | if (!isok) { |
1342 | 1376 |
utils/more_cx.js
@@ -424,8 +424,9 @@ module.exports = { | @@ -424,8 +424,9 @@ module.exports = { | ||
424 | var cx_act_map=[]; | 424 | var cx_act_map=[]; |
425 | for(var i=0; i<goods.length;i++){ | 425 | for(var i=0; i<goods.length;i++){ |
426 | 426 | ||
427 | - //商品的价格要还原 | ||
428 | - goods[i].goods_price=goods[i].init_goods_price; | 427 | + //商品的价格要还原,只有在购物车时候有init_goods_price,因为购物车要还原 |
428 | + if(goods[i].init_goods_price!=undefined) | ||
429 | + goods[i].goods_price=goods[i].init_goods_price; | ||
429 | //进行深拷贝 | 430 | //进行深拷贝 |
430 | var c_item=JSON.parse(JSON.stringify(goods[i])); | 431 | var c_item=JSON.parse(JSON.stringify(goods[i])); |
431 | //没有选中 | 432 | //没有选中 |