Procházet zdrojové kódy

refactor(AppGame): 优化推广信息处理器代码结构

-调整代码格式,提高可读性
- 修复部分变量引用,确保逻辑正确
-增加空行和注释,提升代码清晰度
- 优化数组定义,统一使用短数组语法
notfff před 6 měsíci
rodič
revize
158f976a0b

+ 38 - 36
app/Module/AppGame/Handler/Promotion/InfoHandler.php

@@ -33,8 +33,10 @@ use Carbon\Carbon;
  */
 class InfoHandler extends BaseHandler
 {
+
     /**
      * 是否需要登录
+     *
      * @var bool
      */
     protected bool $need_login = true;
@@ -61,6 +63,7 @@ class InfoHandler extends BaseHandler
                 Log::info('用户未进入URS推广系统', [
                     'user_id' => $this->user_id
                 ]);
+
                 return $this->setEmptyResponse($response);
             }
 
@@ -77,8 +80,8 @@ class InfoHandler extends BaseHandler
             $rewardStats = $this->getRewardStats($ursUserId);
 
             // 获取达人等级信息
-            $talentInfo = UrsTalentService::getTalentInfo($ursUserId);
-            $starLevel = $talentInfo ? $talentInfo->talentLevel : 0;
+            $talentInfo = UrsTalentService::getTalentInfo($this->user_id);
+            $starLevel  = $talentInfo ? $talentInfo->talentLevel : 0;
 
             // 设置响应数据
             $response->setTotalCount($referralStats['total_team_count'] ?? 0);
@@ -97,17 +100,17 @@ class InfoHandler extends BaseHandler
             $response->setTotalReward($totalReward);
 
             Log::info('推广团队信息获取成功', [
-                'user_id' => $this->user_id,
-                'urs_user_id' => $ursUserId,
-                'total_count' => $referralStats['total_team_count'] ?? 0,
+                'user_id'      => $this->user_id,
+                'urs_user_id'  => $ursUserId,
+                'total_count'  => $referralStats['total_team_count'] ?? 0,
                 'direct_count' => $referralStats['direct_count'] ?? 0
             ]);
 
         } catch (\Exception $e) {
             Log::error('获取推广团队信息失败', [
                 'user_id' => $this->user_id,
-                'error' => $e->getMessage(),
-                'trace' => $e->getTraceAsString()
+                'error'   => $e->getMessage(),
+                'trace'   => $e->getTraceAsString()
             ]);
 
             // 发生错误时返回空数据
@@ -175,7 +178,7 @@ class InfoHandler extends BaseHandler
             $teamMembers = UrsReferralService::getTeamMembers($ursUserId);
 
             $directNewCount = 0;
-            $teamNewCount = 0;
+            $teamNewCount   = 0;
 
             // 统计今日新增的直推用户
             if (!empty($teamMembers[1])) {
@@ -194,7 +197,7 @@ class InfoHandler extends BaseHandler
             }
 
             // 统计今日新增的间推和三推用户
-            foreach ([2, 3] as $level) {
+            foreach ([ 2, 3 ] as $level) {
                 if (!empty($teamMembers[$level])) {
                     foreach ($teamMembers[$level] as $member) {
                         $farmUserId = UrsUserMappingService::getFarmUserId($member);
@@ -211,18 +214,18 @@ class InfoHandler extends BaseHandler
 
             return [
                 'direct_new_count' => $directNewCount,
-                'team_new_count' => $teamNewCount
+                'team_new_count'   => $teamNewCount
             ];
 
         } catch (\Exception $e) {
             Log::error('获取今日统计数据失败', [
                 'urs_user_id' => $ursUserId,
-                'error' => $e->getMessage()
+                'error'       => $e->getMessage()
             ]);
 
             return [
                 'direct_new_count' => 0,
-                'team_new_count' => 0
+                'team_new_count'   => 0
             ];
         }
     }
@@ -236,11 +239,11 @@ class InfoHandler extends BaseHandler
     private function getActiveStats(int $ursUserId): array
     {
         try {
-            $teamMembers = UrsReferralService::getTeamMembers($ursUserId);
+            $teamMembers     = UrsReferralService::getTeamMembers($ursUserId);
             $activeThreshold = Carbon::now()->subHours(24); // 24小时内活跃
 
             $directActiveCount = 0;
-            $teamActiveCount = 0;
+            $teamActiveCount   = 0;
 
             // 统计直推活跃用户
             if (!empty($teamMembers[1])) {
@@ -257,7 +260,7 @@ class InfoHandler extends BaseHandler
             }
 
             // 统计间推和三推活跃用户
-            foreach ([2, 3] as $level) {
+            foreach ([ 2, 3 ] as $level) {
                 if (!empty($teamMembers[$level])) {
                     foreach ($teamMembers[$level] as $member) {
                         $farmUserId = UrsUserMappingService::getFarmUserId($member);
@@ -273,18 +276,18 @@ class InfoHandler extends BaseHandler
 
             return [
                 'direct_active_count' => $directActiveCount,
-                'team_active_count' => $teamActiveCount
+                'team_active_count'   => $teamActiveCount
             ];
 
         } catch (\Exception $e) {
             Log::error('获取活跃用户统计失败', [
                 'urs_user_id' => $ursUserId,
-                'error' => $e->getMessage()
+                'error'       => $e->getMessage()
             ]);
 
             return [
                 'direct_active_count' => 0,
-                'team_active_count' => 0
+                'team_active_count'   => 0
             ];
         }
     }
@@ -301,7 +304,8 @@ class InfoHandler extends BaseHandler
             // 获取对应的农场用户ID
             $farmUserId = UrsUserMappingService::getFarmUserId($ursUserId);
             if (!$farmUserId) {
-                Log::info('URS用户未映射到农场用户', ['urs_user_id' => $ursUserId]);
+                Log::info('URS用户未映射到农场用户', [ 'urs_user_id' => $ursUserId ]);
+
                 return [
                     'today_reward' => null,
                     'total_reward' => null
@@ -309,12 +313,11 @@ class InfoHandler extends BaseHandler
             }
 
             // 获取今日收益统计
-            $today = Carbon::today()->format('Y-m-d');
-            $tomorrow = Carbon::tomorrow()->format('Y-m-d');
+            $today      = Carbon::today()->format('Y-m-d');
+            $tomorrow   = Carbon::tomorrow()->format('Y-m-d');
             $todayStats = $this->getRewardStatsFromLogs($farmUserId, $today, $tomorrow);
 
 
-
             // 获取总收益统计
             $totalStats = $this->getRewardStatsFromLogs($farmUserId);
 
@@ -338,7 +341,7 @@ class InfoHandler extends BaseHandler
         } catch (\Exception $e) {
             Log::error('获取收益统计失败', [
                 'urs_user_id' => $ursUserId,
-                'error' => $e->getMessage()
+                'error'       => $e->getMessage()
             ]);
 
             return [
@@ -359,10 +362,10 @@ class InfoHandler extends BaseHandler
     private function getRewardStatsFromLogs(int $farmUserId, ?string $startDate = null, ?string $endDate = null): array
     {
         $stats = [
-            'total_amount' => 0,
-            'total_count' => 0,
-            'items' => [], // 物品奖励列表
-            'coins' => [], // 代币奖励列表
+            'total_amount'   => 0,
+            'total_count'    => 0,
+            'items'          => [], // 物品奖励列表
+            'coins'          => [], // 代币奖励列表
             'by_source_type' => []
         ];
 
@@ -377,7 +380,6 @@ class InfoHandler extends BaseHandler
             ];
 
 
-
             // 1.1. 从物品交易日志表中统计URS推广奖励(补充查询)
             $itemQuery = \App\Module\GameItems\Models\ItemTransactionLog::where('user_id', $farmUserId)
                 ->where('transaction_type', 1) // 收入类型
@@ -395,7 +397,7 @@ class InfoHandler extends BaseHandler
             foreach ($itemLogs as $log) {
                 $stats['total_count']++;
 
-                $itemId = $log->item_id;
+                $itemId   = $log->item_id;
                 $quantity = $log->quantity;
 
                 if ($itemId > 0) {
@@ -410,7 +412,7 @@ class InfoHandler extends BaseHandler
                 // 按来源类型统计
                 $sourceType = $log->source_type;
                 if (!isset($stats['by_source_type'][$sourceType])) {
-                    $stats['by_source_type'][$sourceType] = ['amount' => 0, 'count' => 0];
+                    $stats['by_source_type'][$sourceType] = [ 'amount' => 0, 'count' => 0 ];
                 }
                 $stats['by_source_type'][$sourceType]['count']++;
             }
@@ -418,7 +420,7 @@ class InfoHandler extends BaseHandler
             // 2. 从资金日志表中统计钻石奖励
             $fundQuery = FundLogModel::where('user_id', $farmUserId)
                 ->where('fund_id', FUND_TYPE::FUND2->value) // 钻石类型
-                ->where('amount', '>', 0) // 只统计收入
+                ->where('amount', '>', 0)                   // 只统计收入
                 ->where('remark', 'like', '%推广%'); // 包含推广关键词的备注
 
             if ($startDate) {
@@ -447,7 +449,7 @@ class InfoHandler extends BaseHandler
                 // 按备注内容推断来源类型
                 $sourceType = $this->inferSourceTypeFromRemark($log->remark);
                 if (!isset($stats['by_source_type'][$sourceType])) {
-                    $stats['by_source_type'][$sourceType] = ['amount' => 0, 'count' => 0];
+                    $stats['by_source_type'][$sourceType] = [ 'amount' => 0, 'count' => 0 ];
                 }
                 $stats['by_source_type'][$sourceType]['amount'] += $amount;
                 $stats['by_source_type'][$sourceType]['count']++;
@@ -456,9 +458,9 @@ class InfoHandler extends BaseHandler
         } catch (\Exception $e) {
             Log::error('从日志获取收益统计失败', [
                 'farm_user_id' => $farmUserId,
-                'start_date' => $startDate,
-                'end_date' => $endDate,
-                'error' => $e->getMessage()
+                'start_date'   => $startDate,
+                'end_date'     => $endDate,
+                'error'        => $e->getMessage()
             ]);
         }
 
@@ -466,7 +468,6 @@ class InfoHandler extends BaseHandler
     }
 
 
-
     /**
      * 从备注推断收益来源类型
      *
@@ -536,4 +537,5 @@ class InfoHandler extends BaseHandler
 
         return $reward;
     }
+
 }

+ 19 - 0
app/Module/UrsPromotion/Test/LevelTest.php

@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Module\UrsPromotion\Test;
+
+use App\Module\UrsPromotion\Services\UrsTalentService;
+use Tests\TestCase;
+
+class LevelTest extends TestCase
+{
+
+    public function test1()
+    {
+        $user_id = 39113 ;
+        $info = UrsTalentService::getTalentInfo($user_id);
+        dump($info);
+
+    }
+
+}