diff --git a/app/common/repositories/store/order/StoreOrderRepository.php b/app/common/repositories/store/order/StoreOrderRepository.php index 84a923e..e78020d 100644 --- a/app/common/repositories/store/order/StoreOrderRepository.php +++ b/app/common/repositories/store/order/StoreOrderRepository.php @@ -380,6 +380,47 @@ class StoreOrderRepository extends BaseRepository ->where('mer_id', (int)$product['province_here_id']) ->inc('mer_money', $agentTwoMoney) ->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){ @@ -420,9 +461,6 @@ class StoreOrderRepository extends BaseRepository } } - - - $_order_rate = 0; if ($order['commission_rate'] > 0) { @@ -889,9 +927,9 @@ class StoreOrderRepository extends BaseRepository $userBillRepository->incBill($spreadUid, 'brokerage', 'order_one', [ 'link_id' => $order['order_id'], 'status' => 0, - 'title' => '获得推广佣金', + 'title' => '获得推广收益', '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 ]); $userRepository = app()->make(UserRepository::class); @@ -909,9 +947,9 @@ class StoreOrderRepository extends BaseRepository $userBillRepository->incBill($topUid, 'brokerage', 'order_two', [ 'link_id' => $order['order_id'], 'status' => 0, - 'title' => '获得推广佣金', + 'title' => '获得推广收益', '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 ]); $userRepository = app()->make(UserRepository::class); diff --git a/app/controller/admin/system/merchant/FinancialRecord.php b/app/controller/admin/system/merchant/FinancialRecord.php index 1557964..0460264 100644 --- a/app/controller/admin/system/merchant/FinancialRecord.php +++ b/app/controller/admin/system/merchant/FinancialRecord.php @@ -30,38 +30,30 @@ class FinancialRecord extends BaseController if($merId){ $where['mer_id'] = $merId; $where['financial_type'] = [ - 'order', '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{ $where['financial_type'] = [ - 'order', '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)); } diff --git a/app/controller/admin/system/merchant/Merchant.php b/app/controller/admin/system/merchant/Merchant.php index 8f55c8f..2d0b198 100644 --- a/app/controller/admin/system/merchant/Merchant.php +++ b/app/controller/admin/system/merchant/Merchant.php @@ -230,6 +230,7 @@ class Merchant extends BaseController 'shop_mer_id', 'brand_id', ['resource_shareholders_uid',0], + ['resource_shareholders_rate',0], ]); $data['mer_label'] = str_replace(',',',',$data['mer_label']); if (!$isUpdate) {