Commit dc56c600cec7d2e7d4ccfd4d097125a77c2453e7

Authored by yvan.ni
1 parent 7a982d8d

支付再来一单的优化

pages/user/order_detail/order_detail.js
... ... @@ -388,6 +388,8 @@ Page({
388 388 }
389 389  
390 390 var wlist = "";
  391 + var the_yh_map={}; //判断那种商品的prom_type为0,正在做的活动是优惠促销
  392 +
391 393 for (var i in order_goods) {
392 394 var good = order_goods[i];
393 395  
... ... @@ -728,10 +730,8 @@ Page({
728 730 }
729 731 //-- 优惠促销活动没有超出限购的话 --
730 732 if(yh_check){
731   - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买';
732   - th.toast(content);
733   - t_ok = 0;
734   - break;
  733 + if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[];
  734 + the_yh_map[gg.prom_id].push(good);
735 735 }
736 736  
737 737 break
... ... @@ -784,6 +784,40 @@ Page({
784 784 }
785 785 }
786 786 }
  787 +
  788 +
  789 + //如果有普通商品要判断能不到达到优惠促销的条件
  790 + if(Object.keys(the_yh_map).length){
  791 + for (let rkey in the_yh_map) {
  792 + var all_price=0;
  793 + var all_num=0;
  794 +
  795 + for(var ij=0;ij<the_yh_map[rkey].length;ij++){
  796 + all_price+=the_yh_map[rkey][ij].goods_price * the_yh_map[rkey][ij].goods_num;
  797 + all_num+= the_yh_map[rkey][ij].goods_num;
  798 + }
  799 +
  800 + //-- 只有在单赠品的时候,才要进行计算 --
  801 + var res= await getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
  802 + data: {
  803 + price: parseFloat(all_price).toFixed(2),
  804 + prom_id: rkey,
  805 + goods_num: all_num,
  806 + user_id: getApp().globalData.user_id,
  807 + is_bz: prom.is_bz
  808 + }
  809 + })
  810 + if (res.data.code == 0 && res.data.data && res.data.data.condition){
  811 + var content = '商品的活动发生了变化,请取消订单重新购买';
  812 + th.toast(content);
  813 + t_ok = 0;
  814 + break;
  815 + }
  816 + }
  817 +
  818 + }
  819 +
  820 +
787 821 //-- 判断活动是不是OK --
788 822 if (!t_ok) {
789 823 th.setData({ paying: 0 }); return false;
... ...
pages/user/order_list/order_list.js
... ... @@ -688,6 +688,8 @@ Page({
688 688 }
689 689  
690 690 var wlist = "";
  691 + var the_yh_map={}; //判断那种商品的prom_type为0,正在做的活动是优惠促销
  692 +
691 693 for (var i in order_goods) {
692 694 var good = order_goods[i];
693 695  
... ... @@ -1028,12 +1030,9 @@ Page({
1028 1030 }
1029 1031 //-- 优惠促销活动没有超出限购的话 --
1030 1032 if(yh_check){
1031   - var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买';
1032   - th.toast(content);
1033   - t_ok = 0;
1034   - break;
  1033 + if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[];
  1034 + the_yh_map[gg.prom_id].push(good);
1035 1035 }
1036   -
1037 1036 break
1038 1037 case 7:
1039 1038 //获取组合购活动
... ... @@ -1081,8 +1080,40 @@ Page({
1081 1080 t_ok = 0;
1082 1081 break;
1083 1082 }
1084   - }
  1083 + }
  1084 + }
  1085 + }
  1086 +
  1087 +
  1088 + //如果有普通商品要判断能不到达到优惠促销的条件
  1089 + if(Object.keys(the_yh_map).length){
  1090 + for (let rkey in the_yh_map) {
  1091 + var all_price=0;
  1092 + var all_num=0;
  1093 +
  1094 + for(var ij=0;ij<the_yh_map[rkey].length;ij++){
  1095 + all_price+=the_yh_map[rkey][ij].goods_price * the_yh_map[rkey][ij].goods_num;
  1096 + all_num+= the_yh_map[rkey][ij].goods_num;
  1097 + }
  1098 +
  1099 + //-- 只有在单赠品的时候,才要进行计算 --
  1100 + var res= await getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
  1101 + data: {
  1102 + price: parseFloat(all_price).toFixed(2),
  1103 + prom_id: rkey,
  1104 + goods_num: all_num,
  1105 + user_id: getApp().globalData.user_id,
  1106 + is_bz: prom.is_bz
1085 1107 }
  1108 + })
  1109 + if (res.data.code == 0 && res.data.data && res.data.data.condition){
  1110 + var content = '商品的活动发生了变化,请取消订单重新购买';
  1111 + th.toast(content);
  1112 + t_ok = 0;
  1113 + break;
  1114 + }
  1115 + }
  1116 +
1086 1117 }
1087 1118 //-- 判断活动是不是OK --
1088 1119 if (!t_ok) {
... ...