From da14495e044ba2dd252beb864196f9dbc0105a93 Mon Sep 17 00:00:00 2001 From: monanxiao Date: Fri, 17 Mar 2023 09:35:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BD=A3=E9=87=91=E4=BE=9B?= =?UTF-8?q?=E5=BA=94=E9=93=BE=E5=9B=A2=E9=98=9FID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/jobs/SupplyChainOrderBrokerAgeJob.php | 272 +++++--------------- 1 file changed, 68 insertions(+), 204 deletions(-) diff --git a/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php b/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php index f82595f8..a961e6ba 100644 --- a/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php +++ b/crmeb/jobs/SupplyChainOrderBrokerAgeJob.php @@ -21,6 +21,7 @@ use think\facade\Log; use app\common\model\system\supplychain\SupplyChainBorkerage; use app\common\model\system\supplychain\SupplyChainTeam; use app\common\model\system\supplychain\SupplyChainLevel; +use app\common\model\system\supplychain\SupplyChainLinkMerchant; use app\common\repositories\user\UserBillRepository; use app\common\model\user\User; use app\common\model\store\GeoArea; @@ -38,7 +39,8 @@ class SupplyChainOrderBrokerAgeJob implements JobInterface // 获取当前用户 $user = app()->make(UserRepository::class)->get($data['uid']); - $supplyTeam = SupplyChainTeam::find($user['fa_supply_team_id']); // 获取供应链团队 + $supplyTeam = SupplyChainTeam::find($user['fa_supply_team_id']); + $supplyTeamId = SupplyChainLinkMerchant::where('eb_merchant_id', $data['mer_id'])->value('fa_supply_chain_id'); // 获取供应链团队ID $supplyLevel = SupplyChainLevel::find($supplyTeam['supply_level_id']); // 获取供应链等级 $price = $data['brokerage_price']; // 待分润金额 == 订单佣金金额 @@ -47,46 +49,46 @@ class SupplyChainOrderBrokerAgeJob implements JobInterface { // 可获得金额 $usrPrice = floatval(($price/100)*$supplyLevel['rate']); + + // 分润数据 + $dataArr = [ + 'user_id' => $data['uid'], // 用户ID + 'pay_price' => $data['inc'], // 订单金额 + 'price' => $price, // 订单分佣金额 + 'order_sn' => $data['order_sn'], // 订单编号 + 'supply_sn' => $data['order_sn'], // 订单编号 + 'order_id' => $data['order_id'], // 订单ID + 'mer_id' => $data['mer_id'], // 商户ID + 'supply_level_id' => $supplyLevel['id'], // 分佣等级ID + 'brokerage_price' => $usrPrice, // 获取的佣金金额 + 'user_info' => $user['nickname'], // 用户名 + 'fa_supply_chain_id' => $supplyTeamId, // 供应链团队ID + 'brokerage_rate' => $supplyLevel['rate'] // 分佣比例 + ]; + + // 储存小组服务分佣记录 + SupplyChainBorkerage::create($dataArr); + // 写入冻结佣金 + $userBillRepository = app()->make(UserBillRepository::class); + + // 加入账单记录 佣金明细 + $userBillRepository->incBill($data['uid'], 'brokerage', 'order_one', [ + 'link_id' => $data['order_id'], + 'status' => 0, + 'title' => '获得采购佣金', + 'number' => $usrPrice, // 增加金额 + 'mark' => $data['order_sn'] . '采购:' . $data['inc'] . '元,获得采购佣金' . $usrPrice, + 'balance' => 0, + 'source' => 1 // 1 小组采购 2 普通商品 + ]); + + $userRepository = app()->make(UserRepository::class); + + // 增加小组服务佣金 + $userRepository->incSupplyBrokerage($data['uid'], $price); + } - - // 分润数据 - $dataArr = [ - 'user_id' => $data['uid'], // 用户ID - 'pay_price' => $data['inc'], // 订单金额 - 'price' => $price, // 订单分佣金额 - 'order_sn' => $data['order_sn'], // 订单编号 - 'supply_sn' => $data['order_sn'], // 订单编号 - 'order_id' => $data['order_id'], // 订单ID - 'mer_id' => $data['mer_id'], // 商户ID - 'supply_level_id' => $supplyLevel['id'], // 分佣等级ID - 'brokerage_price' => $usrPrice, // 获取的佣金金额 - 'user_info' => $user['nickname'], // 用户名 - 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID - 'brokerage_rate' => $supplyLevel['rate'] // 分佣比例 - ]; - - // 储存小组服务分佣记录 - SupplyChainBorkerage::create($dataArr); - // 写入冻结佣金 - $userBillRepository = app()->make(UserBillRepository::class); - - // 加入账单记录 佣金明细 - $userBillRepository->incBill($data['uid'], 'brokerage', 'order_one', [ - 'link_id' => $data['order_id'], - 'status' => 0, - 'title' => '获得采购佣金', - 'number' => $usrPrice, // 增加金额 - 'mark' => $data['order_sn'] . '采购:' . $data['inc'] . '元,获得采购佣金' . $usrPrice, - 'balance' => 0, - 'source' => 1 // 1 小组采购 2 普通商品 - ]); - - $userRepository = app()->make(UserRepository::class); - - // 增加小组服务佣金 - $userRepository->incSupplyBrokerage($data['uid'], $price); - // 后台分组用户开始 $userInfo = User::with('nkUserMsg')->find($data['uid']); // 当前用户信息 $nkUserMsg = $userInfo['nkUserMsg']; // 当前用户关联上级街道、区县等信息 @@ -95,175 +97,37 @@ class SupplyChainOrderBrokerAgeJob implements JobInterface $street_id = $nkUserMsg['street_id']; //镇 $area_id = $nkUserMsg['area_id']; // 区域 $city_code = GeoArea::where('area_code', $area_id)->value('city_code'); // 市 - $supplyChainTeam = SupplyChainTeam::with('level')->whereIn('parent_code', [$village_id, $street_id, $area_id, $city_code])->select(); // 获取关联上级团队 + $supplyChainTeam = SupplyChainTeam::with('level')->whereIn('parent_code', [$village_id, $street_id, $area_id, $city_code]) + ->select(); // 获取关联上级团队 - // 进行分佣 - foreach ($supplyChainTeam as $v) { + if($supplyChainTeam) + { + // 进行分佣 + foreach ($supplyChainTeam as $v) { - // 可获得金额 - $usrPrice = floatval(($price/100)*$v['level']['rate']); + // 可获得金额 + $usrPrice = floatval(($price/100)*$v['level']['rate']); - // 分润数据 - $dataArr = [ - 'supply_team_id' => $v['id'], // 用户ID - 'pay_price' => $data['inc'], // 订单金额 - 'price' => $price, // 订单分佣金额 - 'order_sn' => $data['order_sn'], // 订单编号 - 'supply_sn' => $data['order_sn'], // 订单编号 - 'order_id' => $data['order_id'], // 订单ID - 'mer_id' => $data['mer_id'], // 商户ID - 'supply_level_id' => $v['supply_level_id'], // 分佣等级ID - 'brokerage_price' => $usrPrice, // 获取的佣金金额 - 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID - 'brokerage_rate' => $v['level']['rate'] // 分佣比例 - ]; - - // 储存小组服务分佣记录 - SupplyChainBorkerage::create($dataArr); - } - - // 增加小组服务佣金明细 - // $onePrice = '0.00'; // 一级佣金 - // $twoPrice = '0.00'; // 二级佣金 - // $threePrice = '0.00'; // 三级佣金 - // $fourPrice = '0.00'; // 四级佣金 - // $fivePrice = '0.00'; // 五级佣金 - // $sixPrice = '0.00'; // 六级佣金 - - // $supplyTeamLevelOne = ['rate' => 0]; - // $supplyTeamLevelTwo = ['rate' => 0]; - // $supplyTeamLevelThree = ['rate' => 0]; - // $supplyTeamLevelFour = ['rate' => 0]; - // $supplyTeamLevelFive = ['rate' => 0]; - // $supplyTeamLevelSix = ['rate' => 0]; - - // if($supplyTeamLevelOne) - // { - // // 一级可获得金额 - // $onePrice = sprintf("%.2f", $price/100*$supplyTeamLevelOne['rate']); - - // // 分润数据 - // $dataArrOne = [ - // 'user_id' => $data['uid'], // 用户ID - // 'pay_price' => $data['inc'], // 订单金额 - // 'order_sn' => $data['order_sn'], // 订单编号 - // 'supply_sn' => $data['order_sn'], // 订单编号 - // 'order_id' => $data['order_id'], // 订单ID - // 'mer_id' => $data['mer_id'], // 商户ID - // 'supply_level_id' => $supplyLevel['id'], // 分佣等级ID - // 'brokerage_price' => $onePrice, // 获取的佣金金额 - // 'user_info' => $user['nickname'], // 用户名 - // 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID - // ]; - - // SupplyChainBorkerage::create($dataArrOne); - // } - - // if($supplyTeamLevelTwo) - // { - // // 二级可获得金额 - // $twoPrice = sprintf("%.2f", $price/100*$supplyTeamLevelTwo['rate']); - // // 分润数据 - // $dataArrTwo = [ - // 'user_id' => $data['uid'], // 用户ID - // 'pay_price' => $data['inc'], // 订单金额 - // 'order_sn' => $data['order_sn'], // 订单编号 - // 'supply_sn' => $data['order_sn'], // 订单编号 - // 'order_id' => $data['order_id'], // 订单ID - // 'mer_id' => $data['mer_id'], // 商户ID - // 'supply_level_id' => $supplyLevel['id'], // 分佣等级ID - // 'brokerage_price' => $usrPrice, // 获取的佣金金额 - // 'user_info' => $user['nickname'], // 用户名 - // 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID - // ]; - - // SupplyChainBorkerage::create($dataArrTwo); - // } - - // if($supplyTeamLevelThree) - // { - // // 三级可获得金额 - // $threePrice = sprintf("%.2f", $price/100*$supplyTeamLevelThree['rate']); - // // 分润数据 - // $dataArrThree = [ - // 'user_id' => $data['uid'], // 用户ID - // 'pay_price' => $data['inc'], // 订单金额 - // 'order_sn' => $data['order_sn'], // 订单编号 - // 'supply_sn' => $data['order_sn'], // 订单编号 - // 'order_id' => $data['order_id'], // 订单ID - // 'mer_id' => $data['mer_id'], // 商户ID - // 'supply_level_id' => $supplyLevel['id'], // 分佣等级ID - // 'brokerage_price' => $usrPrice, // 获取的佣金金额 - // 'user_info' => $user['nickname'], // 用户名 - // 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID - // ]; - - // SupplyChainBorkerage::create($dataArrThree); - // } - - // if($supplyTeamLevelFour) - // { - // // 四级可获得金额 - // $fourPrice = sprintf("%.2f", $price/100*$supplyTeamLevelFour['rate']); - // // 分润数据 - // $dataArrFour = [ - // 'user_id' => $data['uid'], // 用户ID - // 'pay_price' => $data['inc'], // 订单金额 - // 'order_sn' => $data['order_sn'], // 订单编号 - // 'supply_sn' => $data['order_sn'], // 订单编号 - // 'order_id' => $data['order_id'], // 订单ID - // 'mer_id' => $data['mer_id'], // 商户ID - // 'supply_level_id' => $supplyLevel['id'], // 分佣等级ID - // 'brokerage_price' => $usrPrice, // 获取的佣金金额 - // 'user_info' => $user['nickname'], // 用户名 - // 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID - // ]; - - // SupplyChainBorkerage::create($dataArrFour); - // } - - // if($supplyTeamLevelFive) - // { - // // 五级可获得金额 - // $fivePrice = sprintf("%.2f", $price/100*$supplyTeamLevelFive['rate']); - // // 分润数据 - // $dataArrFive = [ - // 'user_id' => $data['uid'], // 用户ID - // 'pay_price' => $data['inc'], // 订单金额 - // 'order_sn' => $data['order_sn'], // 订单编号 - // 'supply_sn' => $data['order_sn'], // 订单编号 - // 'order_id' => $data['order_id'], // 订单ID - // 'mer_id' => $data['mer_id'], // 商户ID - // 'supply_level_id' => $supplyLevel['id'], // 分佣等级ID - // 'brokerage_price' => $fivePrice, // 获取的佣金金额 - // 'user_info' => $user['nickname'], // 用户名 - // 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID - // ]; - - // SupplyChainBorkerage::create($dataArrFive); - // } - - // if($supplyTeamLevelSix) - // { - // // 六级可获得金额 - // $sixPrice = sprintf("%.2f", $price/100*$supplyTeamLevelSix['rate']); - // // 分润数据 - // $dataArrSix = [ - // 'user_id' => $data['uid'], // 用户ID - // 'pay_price' => $data['inc'], // 订单金额 - // 'order_sn' => $data['order_sn'], // 订单编号 - // 'supply_sn' => $data['order_sn'], // 订单编号 - // 'order_id' => $data['order_id'], // 订单ID - // 'mer_id' => $data['mer_id'], // 商户ID - // 'supply_level_id' => $supplyLevel['id'], // 分佣等级ID - // 'brokerage_price' => $sixPrice, // 获取的佣金金额 - // 'user_info' => $user['nickname'], // 用户名 - // 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID - // ]; - - // SupplyChainBorkerage::create($dataArrSix); - // } + // 分润数据 + $dataArr = [ + 'supply_team_id' => $v['id'], // 用户ID + 'pay_price' => $data['inc'], // 订单金额 + 'price' => $price, // 订单分佣金额 + 'order_sn' => $data['order_sn'], // 订单编号 + 'supply_sn' => $data['order_sn'], // 订单编号 + 'order_id' => $data['order_id'], // 订单ID + 'mer_id' => $data['mer_id'], // 商户ID + 'supply_level_id' => $v['supply_level_id'], // 分佣等级ID + 'brokerage_price' => $usrPrice, // 获取的佣金金额 + 'fa_supply_chain_id' => $supplyTeam['id'], // 供应链团队ID + 'brokerage_rate' => $v['level']['rate'] // 分佣比例 + ]; + // 储存小组服务分佣记录 + SupplyChainBorkerage::create($dataArr); + } + } + \think\facade\Log::record('供应链佣金分布执行完毕'); } catch (\Exception $e) {