Commit 452948f35936f110b83b1f1a8048fc41015f1cd9
Merge branch 'test' of http://git.vipzhuang.cn/wxd/MShopWeApp into qa
Showing
12 changed files
with
243 additions
and
44 deletions
components/promate_pop/promate_pop.wxss
packageB/pages/evaluate/evaluate.js
| ... | ... | @@ -26,7 +26,8 @@ Page({ |
| 26 | 26 | is_act:0, //是否能购获取图片 |
| 27 | 27 | actId:0, //活动ID |
| 28 | 28 | giftBagId:0, //礼包ID |
| 29 | - ftype:0 | |
| 29 | + ftype:0, | |
| 30 | + isdg:0, //是否是导购 | |
| 30 | 31 | |
| 31 | 32 | }, |
| 32 | 33 | //点击星级 |
| ... | ... | @@ -242,6 +243,11 @@ Page({ |
| 242 | 243 | this.setData({ftype:parseInt(options.fromtype)}) ; |
| 243 | 244 | if(options.fromtype==4 || options.fromtype==1 ) th.judge_act(); |
| 244 | 245 | } |
| 246 | + if (options.isdg) { | |
| 247 | + this.setData({ | |
| 248 | + isdg:options.isdg | |
| 249 | + }) | |
| 250 | + } | |
| 245 | 251 | //th.query_bea(); |
| 246 | 252 | |
| 247 | 253 | var userinfo=getApp().globalData.userInfo; |
| ... | ... | @@ -288,8 +294,9 @@ Page({ |
| 288 | 294 | console.log(id,"订单", this.data.number); |
| 289 | 295 | |
| 290 | 296 | var ty=this.data.ftype?this.data.ftype:2; |
| 297 | + var isdg = this.data.isdg | |
| 291 | 298 | wx.redirectTo({ |
| 292 | - url: "/pages/giftpack/evaluategift/evaluategift?actId="+id+ "&orderType="+ty+"&orderNumber="+this.data.number+"&isdg=1" | |
| 299 | + url: "/pages/giftpack/evaluategift/evaluategift?actId="+id+ "&orderType="+ty+"&orderNumber="+this.data.number+"&isdg="+isdg | |
| 293 | 300 | }); |
| 294 | 301 | |
| 295 | 302 | }, | ... | ... |
packageD/pages/user/coupons/coupons.wxml
| ... | ... | @@ -64,8 +64,8 @@ |
| 64 | 64 | </view> |
| 65 | 65 | </view> |
| 66 | 66 | <view class="c-info arrow-down {{detail.isShowDetails ? 'active':''}}" bindtap="clickDetails" data-index="{{idx}}"> |
| 67 | - <view class="{{detail.isShowDetails ? '':'ellipsis-1x'}}" wx:if="{{detail.Remark1!=''}}"><text style="margin-right: 15rpx">使用说明:</text>{{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null || detail.BuySum==''?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用 {{detail.region_list_name==null || detail.region_list_name==''?"":",不包邮地区:"+region_list_name}};{{detail.Remark1}};活动名称:{{detail.ActName}}、活动编号:{{detail.ActNo}}</view> | |
| 68 | - <view class="{{detail.isShowDetails ? '':'ellipsis-1x'}}" wx:else><text style="margin-right: 15rpx">使用说明:</text> {{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null || detail.BuySum==''?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用 {{detail.region_list_name==null || detail.region_list_name==''?"":",不包邮地区:"+region_list_name}};活动名称:{{detail.ActName}}、活动编号:{{detail.ActNo}}</view> | |
| 67 | + <view class="{{detail.isShowDetails ? '':'ellipsis-1x'}}" wx:if="{{detail.Remark1!=''}}"><text style="margin-right: 15rpx">使用说明:</text>{{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null || detail.BuySum==''?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用 {{detail.region_list_name==null || detail.region_list_name==''?"":",不包邮地区:"+region_list_name}};{{detail.Remark1}};活动名称:{{detail.ActName}}、活动编号:{{detail.ActNo}}、使用场景:{{ (detail.UseRange && detail.UseRange !=0) ? (detail.UseRange==1 ? '仅线下可用' : '仅线上可用') :'通用'}}</view> | |
| 68 | + <view class="{{detail.isShowDetails ? '':'ellipsis-1x'}}" wx:else><text style="margin-right: 15rpx">使用说明:</text> {{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null || detail.BuySum==''?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用 {{detail.region_list_name==null || detail.region_list_name==''?"":",不包邮地区:"+region_list_name}};活动名称:{{detail.ActName}}、活动编号:{{detail.ActNo}}、使用场景:{{(detail.UseRange && detail.UseRange !=0) ? (detail.UseRange==1 ? '仅线下可用' : '仅线上可用') :'通用'}}</view> | |
| 69 | 69 | </view> |
| 70 | 70 | </block> |
| 71 | 71 | </view> | ... | ... |
packageE/pages/cart/cart2/cart2.js
| ... | ... | @@ -1294,7 +1294,7 @@ Page({ |
| 1294 | 1294 | await m_cx.cart_cx_group(th, arr[k].goods, c_item, 0, 0, (show_can_cx) => { |
| 1295 | 1295 | |
| 1296 | 1296 | arr[k].show_can_cx = show_can_cx; |
| 1297 | - }) | |
| 1297 | + },2) | |
| 1298 | 1298 | } else { |
| 1299 | 1299 | var show_can_cx = this.data.cartlist[k].show_can_cx; |
| 1300 | 1300 | //-- 多促销活动的优化 -- | ... | ... |
pages/cart/cart/cart.js
| ... | ... | @@ -855,6 +855,7 @@ Page({ |
| 855 | 855 | item.selected = 0; |
| 856 | 856 | item.erpwareid = good.erpwareid; //要同步下线商品的id |
| 857 | 857 | item.shop_price = good.shop_price; //要同步下线商品的id |
| 858 | + item.init_goods_price=good.goods_price; | |
| 858 | 859 | |
| 859 | 860 | //-- 读出每一种商品的所有的活动,方便后面的活动切换使用 -- |
| 860 | 861 | if (item.prom_type == 0) |
| ... | ... | @@ -1559,6 +1560,10 @@ Page({ |
| 1559 | 1560 | var fir = 0; |
| 1560 | 1561 | for (var j = 0; j < item.length; j++) { |
| 1561 | 1562 | if (item[j].is_gift) continue; |
| 1563 | + | |
| 1564 | + //把价格还原 | |
| 1565 | + item[j].goods_price=item[j].init_goods_price; | |
| 1566 | + | |
| 1562 | 1567 | var obj = JSON.parse(JSON.stringify(item[j])); |
| 1563 | 1568 | var gd_info=obj; |
| 1564 | 1569 | |
| ... | ... | @@ -2078,6 +2083,7 @@ Page({ |
| 2078 | 2083 | this.data.btn_click = 1; |
| 2079 | 2084 | var garr = e.data.service_data; |
| 2080 | 2085 | |
| 2086 | + //之前没有选中,代表现在要选中 | |
| 2081 | 2087 | if (!a.selected) { |
| 2082 | 2088 | |
| 2083 | 2089 | //如果是标记的时候 |
| ... | ... | @@ -2385,7 +2391,7 @@ Page({ |
| 2385 | 2391 | //不需要修改价格 |
| 2386 | 2392 | await m_cx.cart_cx_group(th, ite1, car[a], 0, n_ok, (show_can_cx) => { |
| 2387 | 2393 | rd_arr.push(show_can_cx) |
| 2388 | - },1) | |
| 2394 | + }) | |
| 2389 | 2395 | } |
| 2390 | 2396 | |
| 2391 | 2397 | if(car.length>1 && c_ind>-1){ |
| ... | ... | @@ -2393,7 +2399,7 @@ Page({ |
| 2393 | 2399 | //检验和设置商品的最终是以 取用什么活动,因为多促销 |
| 2394 | 2400 | await m_cx.cart_cx_group(th, ite2, car[c_ind], 0, n_ok, (show_can_cx) => { |
| 2395 | 2401 | rd_arr[c_ind]=show_can_cx; |
| 2396 | - },1) | |
| 2402 | + }) | |
| 2397 | 2403 | } |
| 2398 | 2404 | |
| 2399 | 2405 | for (var a = 0; a < car.length; a++) { |
| ... | ... | @@ -4012,7 +4018,7 @@ Page({ |
| 4012 | 4018 | |
| 4013 | 4019 | //如果会员是等级会员,商品有等级价,且不是活动商品 |
| 4014 | 4020 | if (card_field && val[card_field] > 0 && |
| 4015 | - ((val.prom_type == 0 && g_arr[i].prom_type == 0) || g_arr[i].prom_type == 3 || g_arr[i].prom_type == 5 || g_arr[i].prom_type == 7 || g_arr[i].prom_type == 10)) { | |
| 4021 | + ((val.prom_type == 0 && g_arr[i].prom_type == 0) || g_arr[i].prom_type == 5 || g_arr[i].prom_type == 7 || g_arr[i].prom_type == 10)) { | |
| 4016 | 4022 | if (g_arr[i].goods_price != val[card_field]) { |
| 4017 | 4023 | isok = 0; |
| 4018 | 4024 | gname = val.goods_name; |
| ... | ... | @@ -5104,8 +5110,11 @@ Page({ |
| 5104 | 5110 | |
| 5105 | 5111 | var th = this; |
| 5106 | 5112 | var car = JSON.parse(JSON.stringify(this.data.requestData)); |
| 5107 | - var item = car[c_idx].goods, | |
| 5108 | - is_s_sele = 1; | |
| 5113 | + var item = car[c_idx].goods, is_s_sele = 1; | |
| 5114 | + | |
| 5115 | + for (var i = 0; i < item.length; i++) { | |
| 5116 | + item[i].goods_price = item[i].init_goods_price; | |
| 5117 | + } | |
| 5109 | 5118 | |
| 5110 | 5119 | var is_has_other = 0; |
| 5111 | 5120 | for (var ii = 0; ii < car.length; ii++) { |
| ... | ... | @@ -5126,15 +5135,16 @@ Page({ |
| 5126 | 5135 | } |
| 5127 | 5136 | //-- 让选择进入对应 -- |
| 5128 | 5137 | for (var i = 0; i < item.length; i++) { |
| 5129 | - if (sele_arr.hasOwnProperty(i)) { | |
| 5130 | - item[i].selected = sele_arr[i]; | |
| 5131 | - } | |
| 5138 | + if (sele_arr.hasOwnProperty(i)) { | |
| 5139 | + item[i].selected = sele_arr[i]; | |
| 5140 | + } | |
| 5132 | 5141 | } |
| 5142 | + | |
| 5133 | 5143 | //-- 先批量判断一下活动的类型,同时要同步跟新 -- |
| 5134 | 5144 | m_cx.cart_cx_group(this, item, car[c_idx], 0, 0, (show_can_cx) => { |
| 5135 | 5145 | car[c_idx].show_can_cx = show_can_cx; |
| 5136 | 5146 | th.cx_check_ok2(func, car); |
| 5137 | - },1); | |
| 5147 | + }); | |
| 5138 | 5148 | |
| 5139 | 5149 | }, |
| 5140 | 5150 | |
| ... | ... | @@ -5257,6 +5267,7 @@ Page({ |
| 5257 | 5267 | } |
| 5258 | 5268 | } |
| 5259 | 5269 | } |
| 5270 | + | |
| 5260 | 5271 | func({ |
| 5261 | 5272 | 'code': 0, |
| 5262 | 5273 | 'msg': '成功' | ... | ... |
pages/cart/cart/cart.wxml
| ... | ... | @@ -193,16 +193,7 @@ |
| 193 | 193 | <view class="flex jc_sb fs28" wx:for="{{item.make_up_arr}}" style="margin-bottom: 20rpx" > |
| 194 | 194 | <view class="ellipsis-1" style="width: 80%">再买<text class="co-red">{{item.diff}}<text wx:if="{{item.diff_type==0}}">元</text> |
| 195 | 195 | <text wx:if="{{item.diff_type==1}}">件</text> |
| 196 | - </text>, | |
| 197 | - <text wx:if="{{item.content.is_money==1}}">免{{item.content.money}}元|</text> | |
| 198 | - <text wx:if="{{item.content.is_sale==1}}">打{{item.content.sale}}折|</text> | |
| 199 | - <text wx:if="{{item.content.is_past==1}}">包邮|</text> | |
| 200 | - <text wx:if="{{item.content.is_coupon==1}}">送优惠券|</text> | |
| 201 | - <text wx:if="{{item.content.is_int==1}}">送积分|</text> | |
| 202 | - <text wx:if="{{item.content.is_gift==1}}">送赠品|</text> | |
| 203 | - <text wx:if="{{item.content.is_libao==1}}">送礼包|</text> | |
| 204 | - <text wx:if="{{item.content.is_zxlibao==1}}">送专享礼包|</text> | |
| 205 | - <text wx:if="{{item.content.is_monthgiftbag==1}}">送每月礼包|</text> | |
| 196 | + </text>,{{g_filter.map_str(item.content)}} | |
| 206 | 197 | <text></text> |
| 207 | 198 | </view> |
| 208 | 199 | <view class="co-red" data-prom_id="{{item.prom_id}}" bindtap="go_cou_dang">去凑单></view> | ... | ... |
pages/cart/cart/g_filter.wxs
| ... | ... | @@ -35,6 +35,22 @@ var g_filters = { |
| 35 | 35 | if([1,2,4,6,8,9].indexOf(items.prom_type)>-1) return false; |
| 36 | 36 | if(!show_can_cx) return false; |
| 37 | 37 | return true; |
| 38 | + }, | |
| 39 | + | |
| 40 | + //判断一下文件末尾的|号,促销显示送的内容 | |
| 41 | + map_str:function (content){ | |
| 42 | + var string=''; | |
| 43 | + if(content.is_money==1) string+='免'+content.money+'元|'; | |
| 44 | + if(content.is_sale==1) string+="打"+content.sale+"折|"; | |
| 45 | + if(content.is_past==1) string+= "包邮|"; | |
| 46 | + if(content.is_coupon==1) string+="送优惠券|"; | |
| 47 | + if(content.is_int==1) string+="送积分|"; | |
| 48 | + if(content.is_gift==1) string+="送赠品|"; | |
| 49 | + if(content.is_libao==1) string+="送礼包|"; | |
| 50 | + if(content.is_zxlibao==1) string+="送专享礼包|"; | |
| 51 | + if(content.is_monthgiftbag==1) string+="送每月礼包|"; | |
| 52 | + string=string.substring(0,string.length-1); | |
| 53 | + return string | |
| 38 | 54 | } |
| 39 | 55 | |
| 40 | 56 | } |
| ... | ... | @@ -44,5 +60,6 @@ module.exports = { |
| 44 | 60 | end_time: g_filters.end_time, |
| 45 | 61 | toFix: g_filters.toFix, |
| 46 | 62 | is_more_act: g_filters.is_more_act, |
| 47 | - check_show:g_filters.check_show | |
| 63 | + check_show:g_filters.check_show, | |
| 64 | + map_str:g_filters.map_str | |
| 48 | 65 | } |
| 49 | 66 | \ No newline at end of file | ... | ... |
pages/giftpack/evaluategift/evaluategift.js
| ... | ... | @@ -189,6 +189,9 @@ Page({ |
| 189 | 189 | "giftBagId": th.data.giftBagId, |
| 190 | 190 | "buyFrom": 2 |
| 191 | 191 | }; |
| 192 | + if (th.data.isdg) { | |
| 193 | + json.isdg=th.data.isdg | |
| 194 | + } | |
| 192 | 195 | var data = JSON.stringify(json); |
| 193 | 196 | var url = th.data.url + "/api/weshop/marketing/free/receive/gift/record/insert"; |
| 194 | 197 | getApp().request.json_post(url, json, | ... | ... |
pages/user/index/index.js
| ... | ... | @@ -174,8 +174,11 @@ Page({ |
| 174 | 174 | if (item.is_sy == 0) { |
| 175 | 175 | var now = Date.parse(new Date()); now = now / 1000; |
| 176 | 176 | if (item.end_time < now) { |
| 177 | - th.setData({ is_no_plus: 0 }) | |
| 177 | + th.setData({ is_no_plus: 0 }) | |
| 178 | + }else{ | |
| 179 | + th.setData({ is_no_plus: 1 }) | |
| 178 | 180 | } |
| 181 | + | |
| 179 | 182 | }else if(item.is_sy == 1){ |
| 180 | 183 | th.setData({ is_no_plus: 1 }) |
| 181 | 184 | } | ... | ... |
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; |
| ... | ... | @@ -922,6 +933,36 @@ Page({ |
| 922 | 933 | yh_check=0; |
| 923 | 934 | } |
| 924 | 935 | } |
| 936 | + | |
| 937 | + //--- 要判断一下优惠促销的商品的限购 --- | |
| 938 | + if(yh_check){ | |
| 939 | + var pro_gd_limit_num=0; | |
| 940 | + var p_limit_rs= await getApp().request.promisePost('/api/weshop/promgoods/getPromGoodsLimitNum',{ | |
| 941 | + data:{ | |
| 942 | + store_id:os.stoid,goods_id:gg.goods_id,prom_id:gg.prom_id,prom_type:3 | |
| 943 | + } | |
| 944 | + }) | |
| 945 | + if(p_limit_rs && p_limit_rs.data.code==0){ | |
| 946 | + pro_gd_limit_num=p_limit_rs.data.data | |
| 947 | + } | |
| 948 | + //-- 如果有商品限购的时候 -- | |
| 949 | + if(pro_gd_limit_num>0){ | |
| 950 | + var pro_by_num=0; | |
| 951 | + var lrs= { | |
| 952 | + store_id: os.stoid,user_id: getApp().globalData.user_id, | |
| 953 | + goods_id: gg.goods_id, prom_type: 3, | |
| 954 | + prom_id: gg.prom_id, isnew:1 | |
| 955 | + }; | |
| 956 | + var gd_limit_rs=await getApp().promiseGet('/api/weshop/ordergoods/getUserBuyGoodsNum',{data:lrs}); | |
| 957 | + if(gd_limit_rs && gd_limit_rs.data.code==0){ | |
| 958 | + pro_by_num=gd_limit_rs.data.data.promgoodsbuynum | |
| 959 | + } | |
| 960 | + if(pro_gd_limit_num<=pro_by_num){ | |
| 961 | + yh_check=0; | |
| 962 | + } | |
| 963 | + } | |
| 964 | + } | |
| 965 | + | |
| 925 | 966 | //-- 优惠促销活动没有超出限购的话 -- |
| 926 | 967 | if(yh_check){ |
| 927 | 968 | if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; |
| ... | ... | @@ -1043,17 +1084,32 @@ Page({ |
| 1043 | 1084 | |
| 1044 | 1085 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- |
| 1045 | 1086 | 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 | 1087 | |
| 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; //如果线下价格比较贵,则不通过 | |
| 1088 | + //-- 优惠促销的时候控制取价规则 -- | |
| 1089 | + if(gg.prom_type!=3 || gg.discount_field==undefined || gg.discount_field==0 ) { | |
| 1090 | + if (card_field && gg[card_field] > 0) { | |
| 1091 | + if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | |
| 1092 | + if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
| 1093 | + | |
| 1094 | + } else { | |
| 1095 | + if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | |
| 1096 | + if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
| 1097 | + } | |
| 1098 | + }else{ | |
| 1099 | + if(good.prom_type==3){ | |
| 1100 | + switch (gg.discount_field){ | |
| 1101 | + case 1: | |
| 1102 | + if (good.goods_price != gg.shop_price) isok = 0; | |
| 1103 | + break; | |
| 1104 | + case 2: | |
| 1105 | + if (good.goods_price != gg.market_price) isok = 0; | |
| 1106 | + break; | |
| 1107 | + } | |
| 1108 | + } | |
| 1053 | 1109 | } |
| 1110 | + | |
| 1054 | 1111 | var is_h = 0; |
| 1055 | 1112 | if (!isok) { |
| 1056 | - | |
| 1057 | 1113 | var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1' |
| 1058 | 1114 | th.toast(content); |
| 1059 | 1115 | 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,25 @@ 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 | + | |
| 1115 | 1129 | 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 | 1130 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { |
| 1117 | 1131 | var prom = null; |
| ... | ... | @@ -1211,11 +1225,44 @@ Page({ |
| 1211 | 1225 | yh_check=0; |
| 1212 | 1226 | } |
| 1213 | 1227 | } |
| 1228 | + | |
| 1229 | + //--- 要判断一下优惠促销的商品的限购 --- | |
| 1230 | + if(yh_check){ | |
| 1231 | + var pro_gd_limit_num=0; | |
| 1232 | + var p_limit_rs= await getApp().request.promisePost('/api/weshop/promgoods/getPromGoodsLimitNum',{ | |
| 1233 | + data:{ | |
| 1234 | + store_id:os.stoid,goods_id:gg.goods_id,prom_id:gg.prom_id,prom_type:3 | |
| 1235 | + } | |
| 1236 | + }) | |
| 1237 | + if(p_limit_rs && p_limit_rs.data.code==0){ | |
| 1238 | + pro_gd_limit_num=p_limit_rs.data.data | |
| 1239 | + } | |
| 1240 | + //-- 如果有商品限购的时候 -- | |
| 1241 | + if(pro_gd_limit_num>0){ | |
| 1242 | + var pro_by_num=0; | |
| 1243 | + var lrs= { | |
| 1244 | + store_id: os.stoid,user_id: getApp().globalData.user_id, | |
| 1245 | + goods_id: gg.goods_id, prom_type: 3, | |
| 1246 | + prom_id: gg.prom_id, isnew:1 | |
| 1247 | + }; | |
| 1248 | + var gd_limit_rs=await getApp().promiseGet('/api/weshop/ordergoods/getUserBuyGoodsNum',{data:lrs}); | |
| 1249 | + if(gd_limit_rs && gd_limit_rs.data.code==0){ | |
| 1250 | + pro_by_num=gd_limit_rs.data.data.promgoodsbuynum | |
| 1251 | + } | |
| 1252 | + if(pro_gd_limit_num<=pro_by_num){ | |
| 1253 | + yh_check=0; | |
| 1254 | + } | |
| 1255 | + } | |
| 1256 | + } | |
| 1257 | + | |
| 1214 | 1258 | //-- 优惠促销活动没有超出限购的话 -- |
| 1215 | 1259 | if(yh_check){ |
| 1216 | 1260 | if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; |
| 1217 | 1261 | the_yh_map[gg.prom_id].push(good); |
| 1218 | 1262 | } |
| 1263 | + | |
| 1264 | + good.discount_field=prom.discount_field; | |
| 1265 | + | |
| 1219 | 1266 | break |
| 1220 | 1267 | case 7: |
| 1221 | 1268 | //获取组合购活动 |
| ... | ... | @@ -1329,14 +1376,33 @@ Page({ |
| 1329 | 1376 | |
| 1330 | 1377 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- |
| 1331 | 1378 | 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 | 1379 | |
| 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; //如果线下价格比较贵,则不通过 | |
| 1380 | + | |
| 1381 | + //-- 优惠促销的时候控制取价规则 -- | |
| 1382 | + if(gg.prom_type!=3 || gg.discount_field==undefined || gg.discount_field==0 ){ | |
| 1383 | + if (card_field && gg[card_field] > 0) { | |
| 1384 | + if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | |
| 1385 | + if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
| 1386 | + | |
| 1387 | + } else { | |
| 1388 | + if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | |
| 1389 | + if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
| 1390 | + } | |
| 1391 | + }else{ | |
| 1392 | + | |
| 1393 | + if(good.prom_type==3){ | |
| 1394 | + switch (gg.discount_field){ | |
| 1395 | + case 1: | |
| 1396 | + if (good.goods_price != gg.shop_price) isok = 0; | |
| 1397 | + break; | |
| 1398 | + case 2: | |
| 1399 | + if (good.goods_price != gg.market_price) isok = 0; | |
| 1400 | + break; | |
| 1401 | + } | |
| 1402 | + } | |
| 1339 | 1403 | } |
| 1404 | + | |
| 1405 | + | |
| 1340 | 1406 | var is_h = 0; |
| 1341 | 1407 | if (!isok) { |
| 1342 | 1408 | ... | ... |
utils/more_cx.js
| ... | ... | @@ -364,8 +364,29 @@ module.exports = { |
| 364 | 364 | return g_item.goods_id==ck_prom_type.goods[b].goods_id && [0,3,5,7,10].indexOf(g_item.prom_type)>-1; |
| 365 | 365 | }) |
| 366 | 366 | if(fg>-1){ |
| 367 | + | |
| 368 | + goods[fg].goods_price = goods[fg].init_goods_price; | |
| 367 | 369 | goods[fg].prom_type=ck_prom_type.prom_type; |
| 368 | 370 | goods[fg].prom_id=ck_prom_type.prom_id; |
| 371 | + | |
| 372 | + if(ck_prom_type.prom_type==3){ | |
| 373 | + let ffd=th.data.in_yhact[ck_prom_type.prom_id]; | |
| 374 | + let f_price = goods[fg].goods_price; | |
| 375 | + if (ffd.discount_field != undefined) { | |
| 376 | + switch (ffd.discount_field) { | |
| 377 | + case 0: | |
| 378 | + f_price = goods[fg].goods_price; | |
| 379 | + break; | |
| 380 | + case 1: | |
| 381 | + f_price = goods[fg].shop_price; | |
| 382 | + break; | |
| 383 | + case 2: | |
| 384 | + f_price = goods[fg].goods_market_price; | |
| 385 | + break; | |
| 386 | + } | |
| 387 | + } | |
| 388 | + goods[fg].goods_price = f_price; | |
| 389 | + } | |
| 369 | 390 | } |
| 370 | 391 | } |
| 371 | 392 | |
| ... | ... | @@ -402,8 +423,12 @@ module.exports = { |
| 402 | 423 | //-- 促销活动对象表,最初的map表,包含活动类型,活动id,goods商品 --- |
| 403 | 424 | var cx_act_map=[]; |
| 404 | 425 | for(var i=0; i<goods.length;i++){ |
| 405 | - //-- 运用深拷贝,避免价格的bug --s | |
| 406 | - var c_item= JSON.parse(JSON.stringify(goods[i])); | |
| 426 | + | |
| 427 | + //商品的价格要还原,只有在购物车时候有init_goods_price,因为购物车要还原 | |
| 428 | + if(goods[i].init_goods_price!=undefined) | |
| 429 | + goods[i].goods_price=goods[i].init_goods_price; | |
| 430 | + //进行深拷贝 | |
| 431 | + var c_item=JSON.parse(JSON.stringify(goods[i])); | |
| 407 | 432 | //没有选中 |
| 408 | 433 | if(!c_item.selected) continue; |
| 409 | 434 | //如果是秒杀之类是商品 |
| ... | ... | @@ -526,7 +551,7 @@ module.exports = { |
| 526 | 551 | for(var f=0;f<t_goods.length;f++){ |
| 527 | 552 | all_num+=t_goods[f].goods_num; |
| 528 | 553 | |
| 529 | - if(!is_no_change) { | |
| 554 | + if(is_no_change!=1) { | |
| 530 | 555 | //-- 优惠促销取价的优化 -- |
| 531 | 556 | let f_price = t_goods[f].goods_price; |
| 532 | 557 | if (fd.discount_field != undefined) { |
| ... | ... | @@ -752,6 +777,25 @@ module.exports = { |
| 752 | 777 | if(fg>-1){ |
| 753 | 778 | goods[fg].prom_type=ck_prom_type.prom_type; |
| 754 | 779 | goods[fg].prom_id=ck_prom_type.prom_id; |
| 780 | + | |
| 781 | + if(ck_prom_type.prom_type==3 && (is_no_change!=2 || ck_prom_type.is_no_ok!=1) ){ | |
| 782 | + let ffd=th.data.in_yhact[ck_prom_type.prom_id]; | |
| 783 | + let f_price = goods[fg].goods_price; | |
| 784 | + if (ffd.discount_field != undefined) { | |
| 785 | + switch (ffd.discount_field) { | |
| 786 | + case 0: | |
| 787 | + f_price = goods[fg].goods_price; | |
| 788 | + break; | |
| 789 | + case 1: | |
| 790 | + f_price = goods[fg].shop_price; | |
| 791 | + break; | |
| 792 | + case 2: | |
| 793 | + f_price = goods[fg].goods_market_price; | |
| 794 | + break; | |
| 795 | + } | |
| 796 | + } | |
| 797 | + goods[fg].goods_price = f_price; | |
| 798 | + } | |
| 755 | 799 | } |
| 756 | 800 | } |
| 757 | 801 | } | ... | ... |