修改分润金额逻辑

This commit is contained in:
liu 2024-07-05 14:30:41 +08:00
parent 1409782ff7
commit e67e8be75f

View File

@ -49,11 +49,9 @@ class CommissionLogic extends BaseLogic
$user_1 = self::user($order, 0.07, $transaction_id, $order['spread_uid'], 12); //会员、厨师 $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_2 = self::user($order, 0.01, $transaction_id, $village_uid, 14); //村长
$user_3 = self::user($order, 0.01, $transaction_id, $brigade_uid, 15); //队长 $user_3 = self::user($order, 0.01, $transaction_id, $brigade_uid, 15); //队长
$platform = self::platform($order, 0.02, $transaction_id); //平台 $platform = self::platform($order, 0.02, $transaction_id); //平台
$store = self::store($order, 0.05, $transaction_id, 0); //门店 $store = self::store($order, 0.05, $transaction_id, 0); //门店
$attrition = self::attrition($order, 0.02,$transaction_id,16); //损耗 $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); $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); self::suppliter($order, $moeny, $transaction_id);
} }
@ -79,10 +77,11 @@ class CommissionLogic extends BaseLogic
$financeLogic = new StoreFinanceFlowLogic(); $financeLogic = new StoreFinanceFlowLogic();
$financeLogic->order = $order; $financeLogic->order = $order;
$financeLogic->user['uid'] = $order['uid']; $financeLogic->user['uid'] = $order['uid'];
$pay_price = $order['pay_price'];
if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ 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) { if ($fees > 0) {
$financeLogic->in($transaction_id, $fees, OrderEnum::ORDER_HANDLING_FEES, $order['store_id'], $order['staff_id'], 0, $order['pay_type']); //平台手续费 $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']); //商户平台手续费支出 $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 = new StoreFinanceFlowLogic();
$financeLogic->order = $order; $financeLogic->order = $order;
$financeLogic->user['uid'] = $order['uid']; $financeLogic->user['uid'] = $order['uid'];
$pay_price = $order['pay_price'];
if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ 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) { if ($fees > 0) {
$financeLogic->in($transaction_id, $fees, OrderEnum::SUPPLIER_ORDER_OBTAINS, $order['store_id'], $order['staff_id'], 0, $order['pay_type']); $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']); $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(); $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); //保证金剩余额度 $deposit = bcsub($money_limt['security_deposit'], $money_limt['paid_deposit'], 2); //保证金剩余额度
$pay_price = $order['pay_price'];
if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ 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 > 0) {
if ($deposit > $store_profit) { if ($deposit > $store_profit) {
if ($store_profit > 0) { if ($store_profit > 0) {
@ -161,10 +161,11 @@ class CommissionLogic extends BaseLogic
public static function user($order, $userRate, $transaction_id, $uid = 0, $enum = 0) public static function user($order, $userRate, $transaction_id, $uid = 0, $enum = 0)
{ {
$financeLogic = new StoreFinanceFlowLogic(); $financeLogic = new StoreFinanceFlowLogic();
$pay_price = $order['pay_price'];
if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ 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 ($fees > 0) {
//记录用户余额收入 //记录用户余额收入
if ($uid) { if ($uid) {
@ -190,10 +191,11 @@ class CommissionLogic extends BaseLogic
$financeLogic = new StoreFinanceFlowLogic(); $financeLogic = new StoreFinanceFlowLogic();
$financeLogic->order = $order; $financeLogic->order = $order;
$financeLogic->user['uid'] = $order['uid']; $financeLogic->user['uid'] = $order['uid'];
$pay_price = $order['pay_price'];
if(isset($order['dealVipAmount']) &&$order['dealVipAmount']>0){ 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 ($fees > 0) {
SystemStore::where('id', $order['store_id'])->inc('attrition', $fees)->update(); 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']); $financeLogic->in($transaction_id, $fees, $enum, $order['store_id'], $order['staff_id'], 0, $order['pay_type']);