diff --git a/app/api/logic/order/OrderLogic.php b/app/api/logic/order/OrderLogic.php index 2aba676e4..aeec1b149 100644 --- a/app/api/logic/order/OrderLogic.php +++ b/app/api/logic/order/OrderLogic.php @@ -74,7 +74,7 @@ class OrderLogic extends BaseLogic self::$cost = 0; //成本由采购价替代原成本为门店零售价 self::$profit = 0; //利润 self::$activity_price = 0; //活动减少 - self::$store_price = 0; //门店零售价 + self::$store_price = 0; //商户价 self::$deduction_price =0; $deduction_price = 0; //抵扣金额 /** 计算价格 */ @@ -105,7 +105,7 @@ class OrderLogic extends BaseLogic // $cart_select[$k]['profit'] = bcmul($v['cart_num'], $onePrice, 2); //利润 $cart_select[$k]['purchase'] = bcmul($v['cart_num'], $find['purchase'], 2) ?? 0; //成本 $cart_select[$k]['pay_price'] = bcmul($v['cart_num'], $price, 2); //订单支付金额 - $cart_select[$k]['store_price'] = bcmul($v['cart_num'], $find['cost'], 2) ?? 0; //门店零售价 + $cart_select[$k]['store_price'] = bcmul($v['cart_num'], $find['cost'], 2) ?? 0; //商户价 $cart_select[$k]['vip_price'] = bcmul($v['cart_num'], $find['vip_price'], 2) ?? 0; //vip售价 if($cart_select[$k]['total_price']>$cart_select[$k]['pay_price']){ $deduction_price=bcsub($cart_select[$k]['total_price'],$cart_select[$k]['pay_price'],2); @@ -120,7 +120,7 @@ class OrderLogic extends BaseLogic if ($user && $off_activity==0){ if($user['user_ship']==4){ //商户 - $cart_select[$k]['vip_frozen_price'] = bcsub($cart_select[$k]['pay_price'], $cart_select[$k]['purchase'], 2); + $cart_select[$k]['vip_frozen_price'] = bcsub($cart_select[$k]['pay_price'], $cart_select[$k]['store_price'], 2); }else{ //其他会员 $cart_select[$k]['vip_frozen_price'] = bcsub($cart_select[$k]['pay_price'],$cart_select[$k]['vip_price'], 2); @@ -140,7 +140,7 @@ class OrderLogic extends BaseLogic self::$total_price = bcadd(self::$total_price, $cart_select[$k]['total_price'], 2); self::$pay_price = bcadd(self::$pay_price, $cart_select[$k]['pay_price'], 2); self::$cost = bcadd(self::$cost, $cart_select[$k]['purchase'], 2); - self::$store_price = bcadd(self::$store_price, $cart_select[$k]['store_price'], 2); //门店零售价格 + self::$store_price = bcadd(self::$store_price, $cart_select[$k]['store_price'], 2); //商户价 self::$deduction_price=bcadd(self::$deduction_price,$deduction_price,2);//抵扣金额 // self::$profit = bcadd(self::$profit, $cart_select[$k]['profit'], 2); } diff --git a/app/common/logic/CommissionLogic.php b/app/common/logic/CommissionLogic.php index 15d8991d9..3cb73f88d 100644 --- a/app/common/logic/CommissionLogic.php +++ b/app/common/logic/CommissionLogic.php @@ -49,11 +49,9 @@ class CommissionLogic extends BaseLogic $user_1 = self::user($order, 0.07, $transaction_id, $order['spread_uid'], 12); //会员、厨师 $user_2 = self::user($order, 0.01, $transaction_id, $village_uid, 14); //村长 $user_3 = self::user($order, 0.01, $transaction_id, $brigade_uid, 15); //队长 - $platform = self::platform($order, 0.02, $transaction_id); //平台 $store = self::store($order, 0.05, $transaction_id, 0); //门店 $attrition = self::attrition($order, 0.02,$transaction_id,16); //损耗 - $moeny = bcadd(bcadd(bcadd(bcadd($user_1, $user_2, 2), $user_3, 2), $platform, 2), bcadd($store, $attrition, 2), 2); self::suppliter($order, $moeny, $transaction_id); } @@ -79,10 +77,11 @@ class CommissionLogic extends BaseLogic $financeLogic = new StoreFinanceFlowLogic(); $financeLogic->order = $order; $financeLogic->user['uid'] = $order['uid']; + $pay_price = $order['pay_price']; if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ - $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + $pay_price=bcsub($order['pay_price'],$order['dealVipAmount'],2); } - $fees = bcdiv(bcmul($order['pay_price'], $platformRate, 2), 1, 2); + $fees = bcdiv(bcmul($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']); //平台手续费 $financeLogic->out($transaction_id, $fees, OrderEnum::ORDER_HANDLING_FEES, $order['store_id'], $order['staff_id'], 0, $order['pay_type']); //商户平台手续费支出 @@ -98,10 +97,11 @@ class CommissionLogic extends BaseLogic $financeLogic = new StoreFinanceFlowLogic(); $financeLogic->order = $order; $financeLogic->user['uid'] = $order['uid']; + $pay_price = $order['pay_price']; if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ - $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + $pay_price=bcsub($order['pay_price'],$order['dealVipAmount'],2); } - $fees = bcsub($order['pay_price'], $platformRate, 2); + $fees = bcsub($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']); $financeLogic->out($transaction_id, $fees, OrderEnum::SUPPLIER_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']); @@ -122,11 +122,11 @@ 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); //保证金剩余额度 - + $pay_price = $order['pay_price']; if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ - $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + $pay_price=bcsub($order['pay_price'],$order['dealVipAmount'],2); } - $store_profit = bcmul($order['pay_price'], $platformRate, 2); + $store_profit = bcmul($pay_price, $platformRate, 2); if ($deposit > 0) { if ($deposit > $store_profit) { if ($store_profit > 0) { @@ -161,10 +161,11 @@ class CommissionLogic extends BaseLogic public static function user($order, $userRate, $transaction_id, $uid = 0, $enum = 0) { $financeLogic = new StoreFinanceFlowLogic(); + $pay_price = $order['pay_price']; if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ - $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + $pay_price=bcsub($order['pay_price'],$order['dealVipAmount'],2); } - $fees = bcmul($order['pay_price'], $userRate, 2); + $fees = bcmul($pay_price, $userRate, 2); if ($fees > 0) { //记录用户余额收入 if ($uid) { @@ -190,10 +191,11 @@ class CommissionLogic extends BaseLogic $financeLogic = new StoreFinanceFlowLogic(); $financeLogic->order = $order; $financeLogic->user['uid'] = $order['uid']; + $pay_price = $order['pay_price']; if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ - $order['pay_price']=bcsub($order['pay_price'],$order['dealVipAmount'],2); + $pay_price=bcsub($order['pay_price'],$order['dealVipAmount'],2); } - $fees = bcmul($order['pay_price'], $userRate, 2); + $fees = bcmul($pay_price, $userRate, 2); if ($fees > 0) { SystemStore::where('id', $order['store_id'])->inc('attrition', $fees)->update(); $financeLogic->in($transaction_id, $fees, $enum, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);