Commit 8212b00070610d2c61067123b60cbe03f8c749cd

Authored by yvan.ni
1 parent fc79a0b7

1、优惠促销商品的限购的判断,优惠促销超出限购的时候,普通商品购买待支付的时候,bug优化(商品限购和活动限购)

2、优惠促销商品普通商品购买的时候。待支付的bug优化
packageE/pages/cart/cart2/cart2.js
@@ -5103,6 +5103,26 @@ Page({ @@ -5103,6 +5103,26 @@ Page({
5103 } 5103 }
5104 } 5104 }
5105 5105
  5106 + //看一下有没有活动不参与的,要记录到order_more表中
  5107 + let can_cx=t_item.show_can_cx;
  5108 + let is_user_no_yhcx=null;
  5109 + for(let iu in can_cx){
  5110 + if(can_cx[iu].no_cj_prom){
  5111 +
  5112 + if(!is_user_no_yhcx) is_user_no_yhcx=[];
  5113 + is_user_no_yhcx.push({
  5114 + prom_id:can_cx[iu].cur_act.prom_id,
  5115 + prom_type:can_cx[iu].cur_act.prom_type,
  5116 + })
  5117 + break;
  5118 + }
  5119 + }
  5120 + //如果有活动不参与的,要记录到order_more表中
  5121 + if(is_user_no_yhcx){
  5122 + item.is_user_no_yhcx=JSON.stringify(is_user_no_yhcx);
  5123 + }
  5124 +
  5125 +
5106 //代发商品的集合 5126 //代发商品的集合
5107 var df_goods = []; 5127 var df_goods = [];
5108 var df_price = 0; 5128 var df_price = 0;
@@ -5112,7 +5132,8 @@ Page({ @@ -5112,7 +5132,8 @@ Page({
5112 //此单的组合活动汇总 5132 //此单的组合活动汇总
5113 var zh_map_count={}; 5133 var zh_map_count={};
5114 var check_map = {}; 5134 var check_map = {};
5115 - let groupchat_ids=[] 5135 + let groupchat_ids=[];
  5136 +
5116 5137
5117 //-------------让商品添加到商品列表-------------------- 5138 //-------------让商品添加到商品列表--------------------
5118 for (var k = 0; k < t_item.goods.length; k++) { 5139 for (var k = 0; k < t_item.goods.length; k++) {
@@ -5473,6 +5494,8 @@ Page({ @@ -5473,6 +5494,8 @@ Page({
5473 } 5494 }
5474 // debugger 5495 // debugger
5475 var str = JSON.stringify(pdata); 5496 var str = JSON.stringify(pdata);
  5497 +
  5498 +
5476 5499
5477 wx.showLoading({ title: "加载中" }); 5500 wx.showLoading({ title: "加载中" });
5478 th.setData({ submit: 1, }) 5501 th.setData({ submit: 1, })
pages/user/order_detail/order_detail.js
@@ -178,6 +178,7 @@ Page({ @@ -178,6 +178,7 @@ Page({
178 r.use_commission=res.data.data.use_commission; 178 r.use_commission=res.data.data.use_commission;
179 r.pre_cut=res.data.data.pre_cut; //预存款 179 r.pre_cut=res.data.data.pre_cut; //预存款
180 r.pre_json=res.data.data.pre_json; //预存款 180 r.pre_json=res.data.data.pre_json; //预存款
  181 + r.is_user_no_yhcx = res.data.data.is_user_no_yhcx; //判断订单是不是优惠促销不参与
181 } 182 }
182 }) 183 })
183 184
@@ -911,6 +912,7 @@ Page({ @@ -911,6 +912,7 @@ Page({
911 }) 912 })
912 913
913 914
  915 + //商品的订单列表的活动类型,和gg参与的类型不一致
914 if(good.prom_type != gg.prom_type && good.prom_id != gg.prom_id){ 916 if(good.prom_type != gg.prom_type && good.prom_id != gg.prom_id){
915 //如果商品有单独的活动的是偶 917 //如果商品有单独的活动的是偶
916 switch (gg.prom_type){ 918 switch (gg.prom_type){
@@ -923,17 +925,31 @@ Page({ @@ -923,17 +925,31 @@ Page({
923 case 3: 925 case 3:
924 var prom=null; 926 var prom=null;
925 var yh_check=1; 927 var yh_check=1;
926 - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => {  
927 - if (res.data.code == 0) { prom = res.data.data; }  
928 - })  
929 - if (prom && prom.limit_num) {  
930 - var limit_num = prom.limit_num;  
931 - var user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id)  
932 - if (limit_num>0 && user_pre_buynum >= limit_num) { 928 +
  929 +
  930 + //如果有优惠促销的普通购买的时候
  931 + if(order.is_user_no_yhcx && good.prom_type==0 && order.is_user_no_yhcx!='0' && order.is_user_no_yhcx!='null' ){
  932 + let obj=JSON.parse(order.is_user_no_yhcx);
  933 + //obj数组使用find函数快速查找
  934 + if(obj.find((item)=>{return item.prom_id==gg.prom_id && item.prom_type==3})){
933 yh_check=0; 935 yh_check=0;
934 } 936 }
935 } 937 }
936 938
  939 + //判断优惠促销活动的限购
  940 + if(yh_check){
  941 + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => {
  942 + if (res.data.code == 0) { prom = res.data.data; }
  943 + })
  944 + if (prom && prom.limit_num) {
  945 + var limit_num = prom.limit_num;
  946 + var user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id)
  947 + if (limit_num>0 && user_pre_buynum >= limit_num) {
  948 + yh_check=0;
  949 + }
  950 + }
  951 + }
  952 +
937 //--- 要判断一下优惠促销的商品的限购 --- 953 //--- 要判断一下优惠促销的商品的限购 ---
938 if(yh_check){ 954 if(yh_check){
939 var pro_gd_limit_num=0; 955 var pro_gd_limit_num=0;
@@ -957,7 +973,7 @@ Page({ @@ -957,7 +973,7 @@ Page({
957 if(gd_limit_rs && gd_limit_rs.data.code==0){ 973 if(gd_limit_rs && gd_limit_rs.data.code==0){
958 pro_by_num=gd_limit_rs.data.data.promgoodsbuynum 974 pro_by_num=gd_limit_rs.data.data.promgoodsbuynum
959 } 975 }
960 - if(pro_gd_limit_num<=pro_by_num){ 976 + if(pro_gd_limit_num<pro_by_num+good.goods_num){
961 yh_check=0; 977 yh_check=0;
962 } 978 }
963 } 979 }
@@ -966,6 +982,9 @@ Page({ @@ -966,6 +982,9 @@ Page({
966 //-- 优惠促销活动没有超出限购的话 -- 982 //-- 优惠促销活动没有超出限购的话 --
967 if(yh_check){ 983 if(yh_check){
968 if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; 984 if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[];
  985 + if(prom) good.discount_field=prom.discount_field;
  986 + good.r_shop_price=gg.shop_price;
  987 + good.r_market_price=gg.market_price;
969 the_yh_map[gg.prom_id].push(good); 988 the_yh_map[gg.prom_id].push(good);
970 } 989 }
971 990
@@ -1020,7 +1039,6 @@ Page({ @@ -1020,7 +1039,6 @@ Page({
1020 } 1039 }
1021 } 1040 }
1022 1041
1023 -  
1024 //如果有普通商品要判断能不到达到优惠促销的条件 1042 //如果有普通商品要判断能不到达到优惠促销的条件
1025 if(Object.keys(the_yh_map).length){ 1043 if(Object.keys(the_yh_map).length){
1026 for (let rkey in the_yh_map) { 1044 for (let rkey in the_yh_map) {
@@ -1028,7 +1046,17 @@ Page({ @@ -1028,7 +1046,17 @@ Page({
1028 var all_num=0; 1046 var all_num=0;
1029 1047
1030 for(var ij=0;ij<the_yh_map[rkey].length;ij++){ 1048 for(var ij=0;ij<the_yh_map[rkey].length;ij++){
1031 - all_price+=the_yh_map[rkey][ij].goods_price * the_yh_map[rkey][ij].goods_num; 1049 + var t_price=the_yh_map[rkey][ij].goods_price;
  1050 + switch (the_yh_map[rkey][ij].discount_field){
  1051 + case 1:
  1052 + t_price=the_yh_map[rkey][ij].r_shop_price;
  1053 + break;
  1054 + case 2:
  1055 + t_price=the_yh_map[rkey][ij].r_market_price;
  1056 + break;
  1057 + }
  1058 +
  1059 + all_price+=t_price * the_yh_map[rkey][ij].goods_num;
1032 all_num+= the_yh_map[rkey][ij].goods_num; 1060 all_num+= the_yh_map[rkey][ij].goods_num;
1033 } 1061 }
1034 1062
@@ -1051,8 +1079,6 @@ Page({ @@ -1051,8 +1079,6 @@ Page({
1051 } 1079 }
1052 1080
1053 } 1081 }
1054 -  
1055 -  
1056 //-- 判断活动是不是OK -- 1082 //-- 判断活动是不是OK --
1057 if (!t_ok) { 1083 if (!t_ok) {
1058 th.setData({ paying: 0 }); return false; 1084 th.setData({ paying: 0 }); return false;
@@ -2366,8 +2392,24 @@ Page({ @@ -2366,8 +2392,24 @@ Page({
2366 //-- 查看物流 -- 2392 //-- 查看物流 --
2367 go_wuliu:function (e) { 2393 go_wuliu:function (e) {
2368 getApp().go_wuliu(e); 2394 getApp().go_wuliu(e);
2369 - } 2395 + },
2370 2396
  2397 + //优惠促销用户参与次数,is_buy=1,表示只获取支付了的
  2398 + async getUserBuyPromNum_pre(prom_id,is_buy) {
  2399 + var userInfo = getApp().globalData.userInfo;
  2400 + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`;
  2401 + if(is_buy){
  2402 + url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`;
  2403 + }
  2404 + let res = await getApp().request.promiseGet(url, {
  2405 + data: {}
  2406 + });
  2407 + let user_pre_buynum = 0
  2408 + if (res.data.code == 0 && res.data.data) {
  2409 + user_pre_buynum = res.data.data.userbuynum
  2410 + }
  2411 + return user_pre_buynum
  2412 + }
2371 2413
2372 2414
2373 2415
pages/user/order_list/order_list.js
@@ -412,6 +412,7 @@ Page({ @@ -412,6 +412,7 @@ Page({
412 data[ind].use_commission = res.data.data.use_commission; 412 data[ind].use_commission = res.data.data.use_commission;
413 data[ind].pre_cut = res.data.data.pre_cut; //是否使用预存,如果是使用预存不能单品退,只能整单退 413 data[ind].pre_cut = res.data.data.pre_cut; //是否使用预存,如果是使用预存不能单品退,只能整单退
414 data[ind].pre_json = res.data.data.pre_json; //是否使用预存,如果是使用预存不能单品退,只能整单退 414 data[ind].pre_json = res.data.data.pre_json; //是否使用预存,如果是使用预存不能单品退,只能整单退
  415 + data[ind].is_user_no_yhcx = res.data.data.is_user_no_yhcx; //判断订单是不是优惠促销不参与
415 } 416 }
416 }) 417 })
417 418
@@ -1203,6 +1204,7 @@ Page({ @@ -1203,6 +1204,7 @@ Page({
1203 }) 1204 })
1204 1205
1205 1206
  1207 + //商品的订单列表的活动类型,和gg参与的类型不一致
1206 if(good.prom_type != gg.prom_type && good.prom_id != gg.prom_id){ 1208 if(good.prom_type != gg.prom_type && good.prom_id != gg.prom_id){
1207 //如果商品有单独的活动的是偶 1209 //如果商品有单独的活动的是偶
1208 switch (gg.prom_type){ 1210 switch (gg.prom_type){
@@ -1215,16 +1217,30 @@ Page({ @@ -1215,16 +1217,30 @@ Page({
1215 case 3: 1217 case 3:
1216 var prom=null; 1218 var prom=null;
1217 var yh_check=1; 1219 var yh_check=1;
1218 - await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => {  
1219 - if (res.data.code == 0) { prom = res.data.data; }  
1220 - })  
1221 - if (prom && prom.limit_num) {  
1222 - var limit_num = prom.limit_num;  
1223 - var user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id)  
1224 - if (limit_num>0 && user_pre_buynum >= limit_num) {  
1225 - yh_check=0;  
1226 - }  
1227 - } 1220 +
  1221 +
  1222 + //如果有优惠促销的普通购买的时候
  1223 + if(order.is_user_no_yhcx && good.prom_type==0 && order.is_user_no_yhcx!='0' && order.is_user_no_yhcx!='null' ){
  1224 + let obj=JSON.parse(order.is_user_no_yhcx);
  1225 + //obj数组使用find函数快速查找
  1226 + if(obj.find((item)=>{return item.prom_id==gg.prom_id && item.prom_type==3})){
  1227 + yh_check=0;
  1228 + }
  1229 + }
  1230 +
  1231 + //判断优惠促销活动的限购
  1232 + if(yh_check){
  1233 + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => {
  1234 + if (res.data.code == 0) { prom = res.data.data; }
  1235 + })
  1236 + if (prom && prom.limit_num) {
  1237 + var limit_num = prom.limit_num;
  1238 + var user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id)
  1239 + if (limit_num>0 && user_pre_buynum >= limit_num) {
  1240 + yh_check=0;
  1241 + }
  1242 + }
  1243 + }
1228 1244
1229 //--- 要判断一下优惠促销的商品的限购 --- 1245 //--- 要判断一下优惠促销的商品的限购 ---
1230 if(yh_check){ 1246 if(yh_check){
@@ -1249,7 +1265,7 @@ Page({ @@ -1249,7 +1265,7 @@ Page({
1249 if(gd_limit_rs && gd_limit_rs.data.code==0){ 1265 if(gd_limit_rs && gd_limit_rs.data.code==0){
1250 pro_by_num=gd_limit_rs.data.data.promgoodsbuynum 1266 pro_by_num=gd_limit_rs.data.data.promgoodsbuynum
1251 } 1267 }
1252 - if(pro_gd_limit_num<=pro_by_num){ 1268 + if(pro_gd_limit_num<pro_by_num+good.goods_num){
1253 yh_check=0; 1269 yh_check=0;
1254 } 1270 }
1255 } 1271 }
@@ -1258,11 +1274,12 @@ Page({ @@ -1258,11 +1274,12 @@ Page({
1258 //-- 优惠促销活动没有超出限购的话 -- 1274 //-- 优惠促销活动没有超出限购的话 --
1259 if(yh_check){ 1275 if(yh_check){
1260 if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; 1276 if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[];
  1277 + if(prom) good.discount_field=prom.discount_field;
  1278 + good.r_shop_price=gg.shop_price;
  1279 + good.r_market_price=gg.market_price;
1261 the_yh_map[gg.prom_id].push(good); 1280 the_yh_map[gg.prom_id].push(good);
1262 } 1281 }
1263 1282
1264 - good.discount_field=prom.discount_field;  
1265 -  
1266 break 1283 break
1267 case 7: 1284 case 7:
1268 //获取组合购活动 1285 //获取组合购活动
@@ -1315,6 +1332,7 @@ Page({ @@ -1315,6 +1332,7 @@ Page({
1315 } 1332 }
1316 1333
1317 1334
  1335 +
1318 //如果有普通商品要判断能不到达到优惠促销的条件 1336 //如果有普通商品要判断能不到达到优惠促销的条件
1319 if(Object.keys(the_yh_map).length){ 1337 if(Object.keys(the_yh_map).length){
1320 for (let rkey in the_yh_map) { 1338 for (let rkey in the_yh_map) {
@@ -1322,7 +1340,17 @@ Page({ @@ -1322,7 +1340,17 @@ Page({
1322 var all_num=0; 1340 var all_num=0;
1323 1341
1324 for(var ij=0;ij<the_yh_map[rkey].length;ij++){ 1342 for(var ij=0;ij<the_yh_map[rkey].length;ij++){
1325 - all_price+=the_yh_map[rkey][ij].goods_price * the_yh_map[rkey][ij].goods_num; 1343 + var t_price=the_yh_map[rkey][ij].goods_price;
  1344 + switch (the_yh_map[rkey][ij].discount_field){
  1345 + case 1:
  1346 + t_price=the_yh_map[rkey][ij].r_shop_price;
  1347 + break;
  1348 + case 2:
  1349 + t_price=the_yh_map[rkey][ij].r_market_price;
  1350 + break;
  1351 + }
  1352 +
  1353 + all_price+=t_price * the_yh_map[rkey][ij].goods_num;
1326 all_num+= the_yh_map[rkey][ij].goods_num; 1354 all_num+= the_yh_map[rkey][ij].goods_num;
1327 } 1355 }
1328 1356