From 82d910a7296c308feab72f24d6fcfe663c350a0a Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Fri, 4 Dec 2020 16:15:24 +0800 Subject: [PATCH] Q5 --- hyhproject/common/model/Orders.php | 69 +++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 21 deletions(-) diff --git a/hyhproject/common/model/Orders.php b/hyhproject/common/model/Orders.php index d93a3db..2caafa5 100755 --- a/hyhproject/common/model/Orders.php +++ b/hyhproject/common/model/Orders.php @@ -1519,6 +1519,39 @@ class Orders extends Base{ $vm = new UserVouchers(); + $zgSwipeUseReal = boolval(dataConf('zgSwipeUseReal')); + $zgSwipeUnless = floatval(dataConf('zgSwipeUnless')); + $zgSwipeToLevel = (int)$order['helpUserLevel']; + // 确认是否滑动 + $isZgSwipe = false; + if ($zgSwipeUnless < 0) $zgSwipeUnless = 0; + $curZgSwipeTo = $order['helpUserId']; + // 初始层级必须大于0 + if ($zgSwipeToLevel > 0) { + // 用户ID是1或者0,不滑动了 + if ($order['helpUserId'] != 1 && $order['helpUserId'] != 0) { + $helpSaleInfo = Db::name("user_vouchers_summary")->where(['userId'=>$curZgSwipeTo])->find(); + if($helpSaleInfo===null){$userHelpGet=0;} + else{$userHelpGet = (float)$helpSaleInfo['helpSaleNum'];} + while ($userHelpGet < $zgSwipeUnless) { + $isZgSwipe = true; + $parentData = Db::name('user_trees')->where(array('uid'=>$curZgSwipeTo))->find(); + // 无上级,不滑动 + if (empty($parentData)) break; + $curZgSwipeTo = $parentData['pid']; + // 用户ID是1或者0,不滑动了 + if ($curZgSwipeTo != 1 && $curZgSwipeTo != 0) break; + $zgSwipeToLevel ++; + $helpSaleInfo = Db::name("user_vouchers_summary")->where(['userId'=>$curZgSwipeTo])->find(); + if($helpSaleInfo===null){$userHelpGet=0;} + else{$userHelpGet = (float)$helpSaleInfo['helpSaleNum'];} + } + } + } + if ($zgSwipeUseReal) { + $order['helpUserLevel'] = $zgSwipeToLevel; + $order['helpUserId'] = $curZgSwipeTo; + } // 20201203预获产品券 * 层数*基数 @@ -1552,36 +1585,30 @@ class Orders extends Base{ // 同时添加10000×0.4×0.5=2000“已获产品券”。 // 被助购户:购户选的第几层对应的用户 if((int)$order["helpUserLevel"]>0){ - $vm->insertHelpSaleNotice($order["helpUserId"], $orderId, $calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100), - '预获助购转换所扣', 0); - $sm->addSysSummary($calBaseNum*((float)dataConf('helpSaleCouponsCalBase')/100),0,2,'订单【'.($order['orderNo']?:'--').'】被助购转换所扣'); // 购户获得已获优惠券是在助购吧购的物的优惠款的? % - $yhyhq_zh = $calBaseNum*(1-(float)dataConf('helpSaleAlreadyCouponGet')/100); - if ($yhyhq_zh < 0) $yhyhq_zh = 0; - $vm->insertVouchersNotice($order['helpUserId'], $orderId, 0, $yhyhq_zh, - '预获优惠券被助购转换所扣',0); - $vm->insertAlreadyVouchersNotice($order['helpUserId'], $orderId, 0, $yhyhq_zh, - '订单【'.($order['orderNo']?:'--').'】预获优惠券助购转换所得',1); + $yhyhq_zh = $calBaseNum*((float)dataConf('helpSaleAlreadyCouponGet')/100); + if ($yhyhq_zh > $calBaseNum) $yhyhq_zh = $calBaseNum; + $yhcpq_zh = $calBaseNum*(1-(float)dataConf('helpSaleCouponsCalBase')/100-(float)dataConf('helpSaleAlreadyCouponGet')/100); + if ($yhcpq_zh < 0) $yhcpq_zh = 0; //原来 计算被助购户获得【已获产品券】的算式为u×n%×(1-50%), //现在 计算被助购户获得【已获产品券】的算式为u×n%×(1-50%-20%), // 根据设置新添的【购户获得已获优惠券是在助购吧购的物的优惠款的?20%】, // 同时计算该助购户自己获得【已获优惠券】的算式为u×n%×20%, - $yhcpq_zh = $calBaseNum*(1-(float)dataConf('helpSaleCouponsCalBase')/100-(float)dataConf('helpSaleAlreadyCouponGet')/100); - $yhcpq_zh2 = $calBaseNum*((float)dataConf('helpSaleAlreadyCouponGet')/100); - if ($yhcpq_zh < 0) $yhcpq_zh = 0; - if ((float)dataConf('helpSaleAlreadyCouponGet')/100 > (1-(float)dataConf('helpSaleCouponsCalBase')/100)) $yhcpq_zh2 = $calBaseNum*(1-(float)dataConf('helpSaleCouponsCalBase')/100); + $sm->addSysSummary($yhcpq_zh,0,2,'订单【'.($order['orderNo']?:'--').'】预获产品券被助购转换所扣'); + $vm->insertHelpSaleNotice($order["helpUserId"], $orderId, $yhyhq_zh, + '预获助购被助购转换所扣', 0); $vm->insertVouchersNotice($order['helpUserId'], $orderId, $yhcpq_zh, 0, '预获产品券被助购转换所扣',0); $vm->insertAlreadyVouchersNotice($order['helpUserId'], $orderId, $yhcpq_zh, 0, '订单【'.($order['orderNo']?:'--').'】预获产品券被助购转换所得',1); - $vm->insertVouchersNotice($order['helpUserId'], $orderId, $yhcpq_zh, 0, - '预获产品券被助购转换所扣',0); - $vm->insertAlreadyVouchersNotice($order['helpUserId'], $orderId, $yhcpq_zh, 0, - '订单【'.($order['orderNo']?:'--').'】预获产品券被助购转换所得',1); - $vm->insertVouchersNotice($userId, $orderId, 0, $yhcpq_zh2, - '预获产品券被助购转换所扣',0); - $vm->insertAlreadyVouchersNotice($userId, $orderId, 0, $yhcpq_zh2, - '订单【'.($order['orderNo']?:'--').'】预获产品券被助购转换所得',1); + // 同时计算该助购户自己获得【已获优惠券】的算式为u×n%×20% + $sm->addSysSummary($yhyhq_zh,0,2,'订单【'.($order['orderNo']?:'--').'】预获优惠券助购转换所扣'); + $vm->insertHelpSaleNotice($userId, $orderId, $yhyhq_zh, + '预获助购助购转换所扣', 0); + $vm->insertVouchersNotice($userId, $orderId, 0, $yhyhq_zh, + '预获优惠券助购转换所扣',0); + $vm->insertAlreadyVouchersNotice($userId, $orderId, 0, $yhyhq_zh, + '订单【'.($order['orderNo']?:'--').'】预获优惠券助购转换所得',1); }else{ $vm->insertHelpSaleNotice($order["helpUserId"], $orderId, 0, '预获产品券被助购转换所扣0', 0);