更新支付流程

This commit is contained in:
mkm 2024-01-20 15:16:37 +08:00
parent a991fc0789
commit f1a67ff8d7
4 changed files with 109 additions and 71 deletions

View File

@ -328,6 +328,34 @@ class StoreOrderRepository extends BaseRepository
'mer_id' => $order->mer_id, 'mer_id' => $order->mer_id,
'financial_record_sn' => $financeSn . ($i++) 'financial_record_sn' => $financeSn . ($i++)
]; ];
//市级供应链
$product_mer_id = Db::name('store_order_product')->where('order_id', $order->order_id)->value('product_mer_id');
if ($product_mer_id) {
//市级供应链押金计算
if ($_payPrice > 0) {
/** @var MerchantRepository $merchantRepo */
$merchantRepo = app()->make(MerchantRepository::class);
$merchantRepo->merId = $product_mer_id;
$merchantRepo->forceMargin = false;
[$_payPrice, $a, $increase] = $merchantRepo->autoMargin($_payPrice, $order, $finance, $financeSn, $i++);
}
$finance[] = [
'order_id' => $order->order_id,
'order_sn' => $order->order_sn,
'user_info' => $groupOrder->user->nickname,
'user_id' => $uid,
'financial_type' => 'supply_chain',
'financial_pm' => 0,
'type' => 1,
'number' => $_payPrice,
'mer_id' => $product_mer_id,
'financial_record_sn' => $financeSn . (($i++)+1)
];
if (!$is_combine) {
app()->make(MerchantRepository::class)->addLockMoney($product_mer_id, 'order', $order->order_id, $_payPrice);
}
}
//计算手续费 //计算手续费
$_order_rate = bcsub($order->pay_price, $_payPrice, 2); $_order_rate = bcsub($order->pay_price, $_payPrice, 2);
@ -390,6 +418,20 @@ class StoreOrderRepository extends BaseRepository
$merchantRepo->forceMargin = false; $merchantRepo->forceMargin = false;
[$_payPrice, $finance, $increase] = $merchantRepo->autoMargin($_payPrice, $order, $finance, $financeSn, $i++); [$_payPrice, $finance, $increase] = $merchantRepo->autoMargin($_payPrice, $order, $finance, $financeSn, $i++);
} }
if ($order->source == 103) {
$finance[] = [
'order_id' => $order->order_id,
'order_sn' => $order->order_sn,
'user_info' => $groupOrder->user->nickname,
'user_id' => $uid,
'financial_type' => 'commission_to_cloud_warehouse',
'financial_pm' => 0,
'type' => 1,
'number' => $_payPrice,
'mer_id' => $order->mer_id,
'financial_record_sn' => $financeSn . ($i++)
];
} else {
$finance[] = [ $finance[] = [
'order_id' => $order->order_id, 'order_id' => $order->order_id,
'order_sn' => $order->order_sn, 'order_sn' => $order->order_sn,
@ -402,6 +444,8 @@ class StoreOrderRepository extends BaseRepository
'mer_id' => $order->mer_id, 'mer_id' => $order->mer_id,
'financial_record_sn' => $financeSn . ($i++) 'financial_record_sn' => $financeSn . ($i++)
]; ];
}
// if ($order->platform_coupon_price > 0) { // if ($order->platform_coupon_price > 0) {
// $finance[] = [ // $finance[] = [
@ -483,9 +527,7 @@ class StoreOrderRepository extends BaseRepository
Queue::push(SendSmsJob::class, ['tempId' => 'ORDER_CREATE', 'phone' => $phone['phone'], 'orderId' => $order->order_id, 'id' => 0]); //短信通知 Queue::push(SendSmsJob::class, ['tempId' => 'ORDER_CREATE', 'phone' => $phone['phone'], 'orderId' => $order->order_id, 'id' => 0]); //短信通知
} }
} }
} }
}); });
if (count($groupOrder['give_coupon_ids']) > 0) { if (count($groupOrder['give_coupon_ids']) > 0) {
@ -2738,7 +2780,6 @@ class StoreOrderRepository extends BaseRepository
} }
} }
return true; return true;
} catch (\Exception $e) { } catch (\Exception $e) {
$datas['product_id'] = $product_id ?? 0; $datas['product_id'] = $product_id ?? 0;
$datas['mer_id'] = $merId; $datas['mer_id'] = $merId;

View File

@ -714,13 +714,10 @@ class FinancialRecordRepository extends BaseRepository
//平台手续费 = order_charge + 预售手续费 presell_charge - 平台退给商户的手续费 refund_charge //平台手续费 = order_charge + 预售手续费 presell_charge - 平台退给商户的手续费 refund_charge
$number_1 = bcsub($data['number_order_charge'], $data['number_charge'], 2); $number_1 = bcsub($data['number_order_charge'], $data['number_charge'], 2);
if($data['number_supply_chain']>0){ if($data['number_supply_chain']>0){
$financialType = ['order_true']; $financialType = ['commission_to_cloud_warehouse'];
$where['type']=2; [$data['count_commission_to_cloud_warehouse'], $data['number_commission_to_cloud_warehouse']] = $this->dao->getDataByType($type, $where, $date, $financialType);
$where['mer_id']=$where['is_mer'];
unset($where['is_mer']);
[$data['count_order'], $data['number_order']] = $this->dao->getDataByType($type, $where, $date, $financialType);
$number_1=bcadd($number_1, $data['number_supply_chain'], 2); $number_1=bcadd($number_1, $data['number_supply_chain'], 2);
$number_1=bcsub( $number_1, $data['number_order'], 2); $number_1=bcsub( $number_1, $data['number_commission_to_cloud_warehouse'], 2);
} }
//退回收入 refund_order + 退回佣金 //退回收入 refund_order + 退回佣金

View File

@ -687,9 +687,9 @@ class MerchantRepository extends BaseRepository
public function autoMargin($income, $order, $finance, $financeSn, $index = 0) public function autoMargin($income, $order, $finance, $financeSn, $index = 0)
{ {
$merchant = Merchant::find($this->merId); $merchant = Merchant::find($this->merId);
$margin_type = Db::name('MerchantType')->where('mer_type_id', $merchant['type_id'])->value('margin'); // $margin_type = Db::name('MerchantType')->where('mer_type_id', $merchant['type_id'])->value('margin');
//商户押金大于支付押金 或者forceMargin==false 直接返回 不计算押金 //商户押金大于支付押金 或者forceMargin==false 直接返回 不计算押金
if ($merchant['paid_margin']>= $margin_type|| ($this->forceMargin === false && $merchant['auto_margin_rate'] == 0)) { if ($merchant['paid_margin']>= $merchant['margin']|| ($this->forceMargin === false && $merchant['auto_margin_rate'] == 0)) {
return [$income, $finance, false]; return [$income, $finance, false];
} }
$rate = $this->forceMargin ? 100 : $merchant['auto_margin_rate']; $rate = $this->forceMargin ? 100 : $merchant['auto_margin_rate'];
@ -712,7 +712,7 @@ class MerchantRepository extends BaseRepository
'mer_id' => $this->merId, 'mer_id' => $this->merId,
'financial_record_sn' => $financeSn . $index 'financial_record_sn' => $financeSn . $index
]; ];
if(bcadd($merchant['paid_margin'],$margin)>=$margin_type){ if(bcadd($merchant['paid_margin'],$margin)>=$merchant['margin']){
$is_margin=10; $is_margin=10;
}else{ }else{
$is_margin=1; $is_margin=1;

View File

@ -366,8 +366,8 @@ class ExcelService
'commission_to_village_refund' => '退回平台佣金', 'commission_to_village_refund' => '退回平台佣金',
'commission_to_town_refund' => '退回平台佣金', 'commission_to_town_refund' => '退回平台佣金',
'auto_margin_refund' => '退回押金', 'auto_margin_refund' => '退回押金',
'commission_to_entry_merchant' => '订单平台佣金', 'commission_to_entry_merchant' => '订单平台佣金',//入口店铺佣金
'commission_to_cloud_warehouse' => '订单平台佣金', 'commission_to_cloud_warehouse' => '订单平台佣金',//云仓佣金
'commission_to_entry_merchant_refund' => '退回平台佣金', 'commission_to_entry_merchant_refund' => '退回平台佣金',
'commission_to_cloud_warehouse_refund' => '退回平台佣金', 'commission_to_cloud_warehouse_refund' => '退回平台佣金',
'first_order_commission' => '首单拉新', 'first_order_commission' => '首单拉新',