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 | //没有选中 |