feat: 修改了CommissionLogic和PayNotifyLogic类以处理会员金额

This commit is contained in:
mkm 2024-07-03 17:58:47 +08:00
parent 5101dd4e9c
commit 7e2ad42b83
2 changed files with 24 additions and 3 deletions

View File

@ -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();

View File

@ -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;
}
/**