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 | 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 | 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 | 837 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { |
| 827 | 838 | var prom = null; |
| ... | ... | @@ -1043,17 +1054,30 @@ Page({ |
| 1043 | 1054 | |
| 1044 | 1055 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- |
| 1045 | 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 | 1079 | var is_h = 0; |
| 1055 | 1080 | if (!isok) { |
| 1056 | - | |
| 1057 | 1081 | var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1' |
| 1058 | 1082 | th.toast(content); |
| 1059 | 1083 | th.setData({ paying: 0 }); | ... | ... |
pages/user/order_list/order_list.js
| ... | ... | @@ -17,6 +17,8 @@ var ut = require('../../../utils/util.js'); |
| 17 | 17 | var t = require("../../../utils/pay.js"); |
| 18 | 18 | var t_pay = require("../../../utils/pay2.js"); |
| 19 | 19 | |
| 20 | + | |
| 21 | + | |
| 20 | 22 | Page({ |
| 21 | 23 | data: { |
| 22 | 24 | url: e.globalData.setting.url, |
| ... | ... | @@ -1105,13 +1107,26 @@ Page({ |
| 1105 | 1107 | return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) |
| 1106 | 1108 | }) |
| 1107 | 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 | 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 | 1131 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { |
| 1117 | 1132 | var prom = null; |
| ... | ... | @@ -1216,6 +1231,9 @@ Page({ |
| 1216 | 1231 | if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; |
| 1217 | 1232 | the_yh_map[gg.prom_id].push(good); |
| 1218 | 1233 | } |
| 1234 | + | |
| 1235 | + good.discount_field=prom.discount_field; | |
| 1236 | + | |
| 1219 | 1237 | break |
| 1220 | 1238 | case 7: |
| 1221 | 1239 | //获取组合购活动 |
| ... | ... | @@ -1329,14 +1347,30 @@ Page({ |
| 1329 | 1347 | |
| 1330 | 1348 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- |
| 1331 | 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 | 1374 | var is_h = 0; |
| 1341 | 1375 | if (!isok) { |
| 1342 | 1376 | ... | ... |
utils/more_cx.js
| ... | ... | @@ -424,8 +424,9 @@ module.exports = { |
| 424 | 424 | var cx_act_map=[]; |
| 425 | 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 | 431 | var c_item=JSON.parse(JSON.stringify(goods[i])); |
| 431 | 432 | //没有选中 | ... | ... |