diff --git a/app/common/logic/CommissionLogic.php b/app/common/logic/CommissionLogic.php index f866f4a8c..15d8991d9 100644 --- a/app/common/logic/CommissionLogic.php +++ b/app/common/logic/CommissionLogic.php @@ -79,6 +79,9 @@ class CommissionLogic extends BaseLogic $financeLogic = new StoreFinanceFlowLogic(); $financeLogic->order = $order; $financeLogic->user['uid'] = $order['uid']; + if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ + $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + } $fees = bcdiv(bcmul($order['pay_price'], $platformRate, 2), 1, 2); if ($fees > 0) { $financeLogic->in($transaction_id, $fees, OrderEnum::ORDER_HANDLING_FEES, $order['store_id'], $order['staff_id'], 0, $order['pay_type']); //平台手续费 @@ -95,6 +98,9 @@ class CommissionLogic extends BaseLogic $financeLogic = new StoreFinanceFlowLogic(); $financeLogic->order = $order; $financeLogic->user['uid'] = $order['uid']; + if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ + $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + } $fees = bcsub($order['pay_price'], $platformRate, 2); if ($fees > 0) { $financeLogic->in($transaction_id, $fees, OrderEnum::SUPPLIER_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']); @@ -116,6 +122,10 @@ class CommissionLogic extends BaseLogic //缴纳齐全了就加商户没有就加到平台 $money_limt = SystemStore::where('id', $order['store_id'])->field('paid_deposit,security_deposit')->find(); $deposit = bcsub($money_limt['security_deposit'], $money_limt['paid_deposit'], 2); //保证金剩余额度 + + if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ + $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + } $store_profit = bcmul($order['pay_price'], $platformRate, 2); if ($deposit > 0) { if ($deposit > $store_profit) { @@ -151,6 +161,9 @@ class CommissionLogic extends BaseLogic public static function user($order, $userRate, $transaction_id, $uid = 0, $enum = 0) { $financeLogic = new StoreFinanceFlowLogic(); + if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ + $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + } $fees = bcmul($order['pay_price'], $userRate, 2); if ($fees > 0) { //记录用户余额收入 @@ -177,6 +190,9 @@ class CommissionLogic extends BaseLogic $financeLogic = new StoreFinanceFlowLogic(); $financeLogic->order = $order; $financeLogic->user['uid'] = $order['uid']; + if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ + $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + } $fees = bcmul($order['pay_price'], $userRate, 2); if ($fees > 0) { SystemStore::where('id', $order['store_id'])->inc('attrition', $fees)->update(); diff --git a/app/common/logic/PayNotifyLogic.php b/app/common/logic/PayNotifyLogic.php index c6c421af6..0461ff546 100644 --- a/app/common/logic/PayNotifyLogic.php +++ b/app/common/logic/PayNotifyLogic.php @@ -720,6 +720,7 @@ class PayNotifyLogic extends BaseLogic $village_uid = 0; $brigade_uid = 0; $user_ship = 0; + $order['dealVipAmount'] = 0; try { Redis::send('order_wetcha_push_send', ['order' => $order]); } catch (\Exception $e) { @@ -750,7 +751,7 @@ class PayNotifyLogic extends BaseLogic //如果是会员需要返回会员金额 if ($user_ship>0 && $order['pay_type'] != PayEnum::CASH_PAY) { - self::dealVipAmount($order, $order['pay_type']); + $order['dealVipAmount']= self::dealVipAmount($order, $order['pay_type']); } if ($order['spread_uid'] > 0 || $user_ship > 0) { if ($order['spread_uid'] > 0 && $user_ship == 0) { @@ -789,8 +790,12 @@ class PayNotifyLogic extends BaseLogic } } switch ($user_ship) { - case 1: // 行业会员 + case 1: // 厨师 case 4: // 商户 + case 5: // 种养殖 + case 6: // 酒店 + case 7: // 食堂 + case 8: // 一条龙 CommissionLogic::setCook($order, $village_uid, $brigade_uid, $transaction_id); break; case 2: // 村长 @@ -874,7 +879,7 @@ class PayNotifyLogic extends BaseLogic 'create_time' => time() ]; Db::name('vip_flow')->insert($data); - return true; + return $total_vip; } /**