增加:资源股东收益

This commit is contained in:
wuhui_zzw 2024-05-24 11:31:32 +08:00
parent 0db7c644ef
commit d7dc374101
3 changed files with 62 additions and 31 deletions

View File

@ -380,6 +380,47 @@ class StoreOrderRepository extends BaseRepository
->where('mer_id', (int)$product['province_here_id']) ->where('mer_id', (int)$product['province_here_id'])
->inc('mer_money', $agentTwoMoney) ->inc('mer_money', $agentTwoMoney)
->update(); ->update();
// 判断:所在地址绑定商户是否存在资源股东 存在则生成资源股东佣金信息
$provinceHereMerchant = app()->make(MerchantRepository::class)
->getSearch(['mer_id' => (int)$product['province_here_id']])
->field(['mer_name','resource_shareholders_uid', 'resource_shareholders_rate'])
->findOrEmpty()
->toArray();
$rsUid = $provinceHereMerchant['resource_shareholders_uid'] ?? 0;
$rsRate = $provinceHereMerchant['resource_shareholders_rate'] ?? 0;
if($rsUid > 0 && $rsRate > 0 ){
// 计算资源股东提成
$resourceShareholdersMoney = (float)sprintf("%.2f",$agentTwoMoney * $rsRate / 100);
// 记录商户流水 并且减少商户资金
$finance[] = [
'order_id' => $order->order_id,
'order_sn' => $order->order_sn,
'user_info' => $groupOrder->user->nickname,
'user_id' => $uid,
'financial_type' => 'resource_shareholders_dec',// 当前所在地址绑定商户 减少资源股东提成佣金
'financial_pm' => 0,
'type' => 1,
'number' => $resourceShareholdersMoney,
'mer_id' => (int)$product['province_here_id'],
'financial_record_sn' => $financeSn. ($i++),
'status' => 0,
];
Db::name('merchant')
->where('mer_id', (int)$product['province_here_id'])
->dec('mer_money', $resourceShareholdersMoney)
->update();
// 记录用户流水
app()->make(UserBillRepository::class)->incBill($rsUid, 'brokerage', 'resource_shareholders', [
'link_id' => $order->order_id,
'status' => 0,
'title' => '资源股东收益',
'number' =>$resourceShareholdersMoney,
'mark' => $provinceHereMerchant['mer_name'] . '产生订单,获得资源股东收益' . $resourceShareholdersMoney,
'balance' => 0
]);
$userRepository = app()->make(UserRepository::class);
$userRepository->incBrokerage($rsUid, $resourceShareholdersMoney);
}
} }
// 判断:是否存在 供应商提成 // 判断:是否存在 供应商提成
if((float)$product['product']['supplier_money'] > 0 && (int)$product['product']['supplier_mer_id'] > 0){ if((float)$product['product']['supplier_money'] > 0 && (int)$product['product']['supplier_mer_id'] > 0){
@ -420,9 +461,6 @@ class StoreOrderRepository extends BaseRepository
} }
} }
$_order_rate = 0; $_order_rate = 0;
if ($order['commission_rate'] > 0) { if ($order['commission_rate'] > 0) {
@ -889,9 +927,9 @@ class StoreOrderRepository extends BaseRepository
$userBillRepository->incBill($spreadUid, 'brokerage', 'order_one', [ $userBillRepository->incBill($spreadUid, 'brokerage', 'order_one', [
'link_id' => $order['order_id'], 'link_id' => $order['order_id'],
'status' => 0, 'status' => 0,
'title' => '获得推广佣金', 'title' => '获得推广收益',
'number' => $order->extension_one, 'number' => $order->extension_one,
'mark' => $user['nickname'] . '成功消费' . floatval($order['pay_price']) . '元,奖励推广佣金' . floatval($order->extension_one), 'mark' => $user['nickname'] . '成功消费' . floatval($order['pay_price']) . '元,奖励推广收益' . floatval($order->extension_one),
'balance' => 0 'balance' => 0
]); ]);
$userRepository = app()->make(UserRepository::class); $userRepository = app()->make(UserRepository::class);
@ -909,9 +947,9 @@ class StoreOrderRepository extends BaseRepository
$userBillRepository->incBill($topUid, 'brokerage', 'order_two', [ $userBillRepository->incBill($topUid, 'brokerage', 'order_two', [
'link_id' => $order['order_id'], 'link_id' => $order['order_id'],
'status' => 0, 'status' => 0,
'title' => '获得推广佣金', 'title' => '获得推广收益',
'number' => $order->extension_two, 'number' => $order->extension_two,
'mark' => $user['nickname'] . '成功消费' . floatval($order['pay_price']) . '元,奖励推广佣金' . floatval($order->extension_two), 'mark' => $user['nickname'] . '成功消费' . floatval($order['pay_price']) . '元,奖励推广收益' . floatval($order->extension_two),
'balance' => 0 'balance' => 0
]); ]);
$userRepository = app()->make(UserRepository::class); $userRepository = app()->make(UserRepository::class);

View File

@ -30,38 +30,30 @@ class FinancialRecord extends BaseController
if($merId){ if($merId){
$where['mer_id'] = $merId; $where['mer_id'] = $merId;
$where['financial_type'] = [ $where['financial_type'] = [
'order',
'mer_accoubts', 'mer_accoubts',
'brokerage_one',
'brokerage_two',
'refund_brokerage_one',
'refund_brokerage_two',
'refund_order',
'order_platform_coupon',
'order_svip_coupon',
'province_mer',
'province_mer_dec',
'supplier_mer',
'supplier_mer_dec'
]; ];
} }
else{ else{
$where['financial_type'] = [ $where['financial_type'] = [
'order',
'sys_accoubts', 'sys_accoubts',
'brokerage_one',
'brokerage_two',
'refund_brokerage_one',
'refund_brokerage_two',
'refund_order',
'order_platform_coupon',
'order_svip_coupon',
'province_mer',
'province_mer_dec',
'supplier_mer',
'supplier_mer_dec'
]; ];
} }
$where['financial_type'] = array_merge($where['financial_type'],[
'order',
'brokerage_one',
'brokerage_two',
'refund_brokerage_one',
'refund_brokerage_two',
'refund_order',
'order_platform_coupon',
'order_svip_coupon',
'province_mer',
'province_mer_dec',
'supplier_mer',
'supplier_mer_dec',
'resource_shareholders_dec'
]);
return app('json')->success($this->repository->getList($where, $page, $limit)); return app('json')->success($this->repository->getList($where, $page, $limit));
} }

View File

@ -230,6 +230,7 @@ class Merchant extends BaseController
'shop_mer_id', 'shop_mer_id',
'brand_id', 'brand_id',
['resource_shareholders_uid',0], ['resource_shareholders_uid',0],
['resource_shareholders_rate',0],
]); ]);
$data['mer_label'] = str_replace('',',',$data['mer_label']); $data['mer_label'] = str_replace('',',',$data['mer_label']);
if (!$isUpdate) { if (!$isUpdate) {