Commit af05b82dbb06e1dfe290e8cea45235b3718ce9cb

Authored by yvan.ni
1 parent 9ef2e7b5

1、计算金额的bug优化

2、确认订单的立即购买的优化
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(&#39;../../../utils/util.js&#39;); @@ -17,6 +17,8 @@ var ut = require(&#39;../../../utils/util.js&#39;);
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 //没有选中