|
@@ -66,10 +66,10 @@ class InfoHandler extends BaseHandler
|
|
|
|
|
|
|
|
// 获取推广关系统计
|
|
// 获取推广关系统计
|
|
|
$referralStats = UrsReferralService::getReferralStats($ursUserId);
|
|
$referralStats = UrsReferralService::getReferralStats($ursUserId);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 获取今日统计数据
|
|
// 获取今日统计数据
|
|
|
$todayStats = $this->getTodayStats($ursUserId);
|
|
$todayStats = $this->getTodayStats($ursUserId);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 获取活跃用户统计
|
|
// 获取活跃用户统计
|
|
|
$activeStats = $this->getActiveStats($ursUserId);
|
|
$activeStats = $this->getActiveStats($ursUserId);
|
|
|
|
|
|
|
@@ -109,7 +109,7 @@ class InfoHandler extends BaseHandler
|
|
|
'error' => $e->getMessage(),
|
|
'error' => $e->getMessage(),
|
|
|
'trace' => $e->getTraceAsString()
|
|
'trace' => $e->getTraceAsString()
|
|
|
]);
|
|
]);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 发生错误时返回空数据
|
|
// 发生错误时返回空数据
|
|
|
return $this->setEmptyResponse($response);
|
|
return $this->setEmptyResponse($response);
|
|
|
}
|
|
}
|
|
@@ -172,10 +172,10 @@ class InfoHandler extends BaseHandler
|
|
|
{
|
|
{
|
|
|
try {
|
|
try {
|
|
|
$teamMembers = UrsReferralService::getTeamMembers($ursUserId);
|
|
$teamMembers = UrsReferralService::getTeamMembers($ursUserId);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
$directNewCount = 0;
|
|
$directNewCount = 0;
|
|
|
$teamNewCount = 0;
|
|
$teamNewCount = 0;
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 统计今日新增的直推用户
|
|
// 统计今日新增的直推用户
|
|
|
if (!empty($teamMembers[1])) {
|
|
if (!empty($teamMembers[1])) {
|
|
|
foreach ($teamMembers[1] as $directMember) {
|
|
foreach ($teamMembers[1] as $directMember) {
|
|
@@ -183,7 +183,7 @@ class InfoHandler extends BaseHandler
|
|
|
if ($farmUserId) {
|
|
if ($farmUserId) {
|
|
|
// 检查用户映射创建时间是否为今日
|
|
// 检查用户映射创建时间是否为今日
|
|
|
$mapping = UrsUserMappingService::getMappingDetail($directMember);
|
|
$mapping = UrsUserMappingService::getMappingDetail($directMember);
|
|
|
- if ($mapping && $mapping->mappingTime &&
|
|
|
|
|
|
|
+ if ($mapping && $mapping->mappingTime &&
|
|
|
Carbon::parse($mapping->mappingTime)->isToday()) {
|
|
Carbon::parse($mapping->mappingTime)->isToday()) {
|
|
|
$directNewCount++;
|
|
$directNewCount++;
|
|
|
$teamNewCount++;
|
|
$teamNewCount++;
|
|
@@ -191,7 +191,7 @@ class InfoHandler extends BaseHandler
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 统计今日新增的间推和三推用户
|
|
// 统计今日新增的间推和三推用户
|
|
|
foreach ([2, 3] as $level) {
|
|
foreach ([2, 3] as $level) {
|
|
|
if (!empty($teamMembers[$level])) {
|
|
if (!empty($teamMembers[$level])) {
|
|
@@ -199,7 +199,7 @@ class InfoHandler extends BaseHandler
|
|
|
$farmUserId = UrsUserMappingService::getFarmUserId($member);
|
|
$farmUserId = UrsUserMappingService::getFarmUserId($member);
|
|
|
if ($farmUserId) {
|
|
if ($farmUserId) {
|
|
|
$mapping = UrsUserMappingService::getMappingDetail($member);
|
|
$mapping = UrsUserMappingService::getMappingDetail($member);
|
|
|
- if ($mapping && $mapping->mappingTime &&
|
|
|
|
|
|
|
+ if ($mapping && $mapping->mappingTime &&
|
|
|
Carbon::parse($mapping->mappingTime)->isToday()) {
|
|
Carbon::parse($mapping->mappingTime)->isToday()) {
|
|
|
$teamNewCount++;
|
|
$teamNewCount++;
|
|
|
}
|
|
}
|
|
@@ -207,12 +207,12 @@ class InfoHandler extends BaseHandler
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
return [
|
|
return [
|
|
|
'direct_new_count' => $directNewCount,
|
|
'direct_new_count' => $directNewCount,
|
|
|
'team_new_count' => $teamNewCount
|
|
'team_new_count' => $teamNewCount
|
|
|
];
|
|
];
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
Log::error('获取今日统计数据失败', [
|
|
Log::error('获取今日统计数据失败', [
|
|
|
'urs_user_id' => $ursUserId,
|
|
'urs_user_id' => $ursUserId,
|
|
@@ -375,46 +375,7 @@ class InfoHandler extends BaseHandler
|
|
|
REWARD_SOURCE_TYPE::URSPROMOTION_LEVEL->value,
|
|
REWARD_SOURCE_TYPE::URSPROMOTION_LEVEL->value,
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
- // 1. 从奖励日志表中统计物品奖励
|
|
|
|
|
- $rewardQuery = GameRewardLog::where('user_id', $farmUserId)
|
|
|
|
|
- ->whereIn('source_type', $ursPromotionSourceTypes);
|
|
|
|
|
-
|
|
|
|
|
- if ($startDate) {
|
|
|
|
|
- $rewardQuery->where('created_at', '>=', $startDate);
|
|
|
|
|
- }
|
|
|
|
|
- if ($endDate) {
|
|
|
|
|
- $rewardQuery->where('created_at', '<=', $endDate);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- $rewardLogs = $rewardQuery->get();
|
|
|
|
|
|
|
|
|
|
- foreach ($rewardLogs as $log) {
|
|
|
|
|
- $stats['total_count']++;
|
|
|
|
|
-
|
|
|
|
|
- // 解析奖励物品
|
|
|
|
|
- $rewardItems = is_array($log->reward_items) ? $log->reward_items : (json_decode($log->reward_items, true) ?? []);
|
|
|
|
|
-
|
|
|
|
|
- foreach ($rewardItems as $item) {
|
|
|
|
|
- $itemId = $item['target_id'] ?? 0;
|
|
|
|
|
- $quantity = $item['quantity'] ?? 1;
|
|
|
|
|
-
|
|
|
|
|
- if ($itemId > 0) {
|
|
|
|
|
- // 累加相同物品的数量
|
|
|
|
|
- if (isset($stats['items'][$itemId])) {
|
|
|
|
|
- $stats['items'][$itemId] += $quantity;
|
|
|
|
|
- } else {
|
|
|
|
|
- $stats['items'][$itemId] = $quantity;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 按来源类型统计
|
|
|
|
|
- $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]['count']++;
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
// 1.1. 从物品交易日志表中统计URS推广奖励(补充查询)
|
|
// 1.1. 从物品交易日志表中统计URS推广奖励(补充查询)
|
|
|
$itemQuery = \App\Module\GameItems\Models\ItemTransactionLog::where('user_id', $farmUserId)
|
|
$itemQuery = \App\Module\GameItems\Models\ItemTransactionLog::where('user_id', $farmUserId)
|