diff --git a/Server/application/api/controller/WebSocketController.php b/Server/application/api/controller/WebSocketController.php index bac7fd2a..75cc362a 100644 --- a/Server/application/api/controller/WebSocketController.php +++ b/Server/application/api/controller/WebSocketController.php @@ -260,14 +260,11 @@ class WebSocketController extends BaseController "wechatFriendId" => $wechatFriendId, "seq" => time(), ]; - Log::info('获取朋友圈信:' . json_encode($params, 256)); $message = $this->sendMessage($params); - Log::info('获取朋友圈信成功:' . json_encode($message, 256)); // 检查是否遇到频率限制 if (isset($message['extra']) && strpos($message['extra'], '朋友圈太频繁了') !== false) { - Log::info('遇到频率限制,休息10秒后继续'); sleep(10); continue; } @@ -314,7 +311,6 @@ class WebSocketController extends BaseController // 如果已经达到最大页数,退出循环 if ($currentPage > $maxPages) { - Log::info('已达到最大页数限制(' . $maxPages . '页),结束本次任务'); break; } @@ -501,8 +497,6 @@ class WebSocketController extends BaseController "wechatAccountId" => $data['wechatAccountId'], "seq" => time(), ]; - // 记录请求日志 - Log::info('获取朋友圈资源链接请求:' . json_encode($params, 256)); $message = $this->sendMessage($params); @@ -615,7 +609,6 @@ class WebSocketController extends BaseController $result = AliyunOSS::uploadFile($tempFile, $objectName); if ($result['success']) { $ossUrls[] = $result['url']; - Log::info('朋友圈图片上传OSS成功:' . $url . ' -> ' . $result['url']); } else { Log::error('朋友圈图片上传OSS失败:' . $url . ', 错误:' . ($result['error'] ?? '未知错误')); } @@ -706,7 +699,6 @@ class WebSocketController extends BaseController // 如果没有urls或类型不是1,跳过 } elseif ($isOssUploaded == 1) { // 如果已上传到OSS,跳过采集 - Log::info('朋友圈图片已上传到OSS,跳过采集。snsId: ' . $moment['snsId']); } else { // 未上传到OSS,执行采集 $snsData = [ @@ -765,10 +757,6 @@ class WebSocketController extends BaseController // 发送请求并获取响应 $message = $this->sendMessage($params); - // 记录日志 - Log::info('修改好友标签:' . json_encode($params, 256)); - Log::info('修改好友标签结果:' . json_encode($message, 256)); - // 返回成功响应 return json_encode(['code' => 200, 'msg' => '修改标签成功', 'data' => $message]); } catch (\Exception $e) { @@ -1033,9 +1021,6 @@ class WebSocketController extends BaseController "wechatFriendIds" => [17453051,17453058] ]; - // 记录请求日志 - Log::info('创建群聊请求:' . json_encode($params, 256)); - $message = $this->sendMessage($params,false); return json_encode(['code' => 200, 'msg' => '群聊创建成功', 'data' => $message]); } catch (\Exception $e) { @@ -1081,8 +1066,6 @@ class WebSocketController extends BaseController "wechatFriendIds" => $data['wechatFriendIds'] ]; - // 记录请求日志 - Log::info('邀请好友入群请求:' . json_encode($params, 256)); $message = $this->sendMessage($params,false); return json_encode(['code' => 200, 'msg' => '邀请成功', 'data' => $message]); } catch (\Exception $e) { @@ -1141,8 +1124,6 @@ class WebSocketController extends BaseController "wechatAccountId" => $data['wechatAccountId'], "wechatChatroomId" => $data['wechatChatroomId'] ]; - // 记录请求日志 - Log::info('创建群聊请求:' . json_encode($params, 256)); $message = $this->sendMessage($params,false); return json_encode(['code' => 200, 'msg' => '群聊创建成功', 'data' => $message]); } catch (\Exception $e) { diff --git a/Server/application/command/CalculateWechatAccountScoreCommand.php b/Server/application/command/CalculateWechatAccountScoreCommand.php index aeb73784..4182e1fa 100644 --- a/Server/application/command/CalculateWechatAccountScoreCommand.php +++ b/Server/application/command/CalculateWechatAccountScoreCommand.php @@ -80,9 +80,10 @@ class CalculateWechatAccountScoreCommand extends Command $output->writeln("批处理大小: {$batchSize}"); - // 记录命令开始执行的日志 - Log::info('开始执行微信账号健康分计算命令', [ - 'accountId' => $accountId, + // 记录命令开始执行的日志(仅在非交互模式下记录) + if (!$output->isVerbose()) { + Log::info('开始执行微信账号健康分计算命令', [ + 'accountId' => $accountId, 'onlyInit' => $onlyInit ? 'true' : 'false', 'onlyUpdate' => $onlyUpdate ? 'true' : 'false', 'onlyBatch' => $onlyBatch ? 'true' : 'false', @@ -111,28 +112,22 @@ class CalculateWechatAccountScoreCommand extends Command // 步骤1: 初始化未计算基础分的账号 if (!$onlyUpdate && !$onlyBatch) { $output->writeln("\n[步骤1] 初始化未计算基础分的账号..."); - Log::info('[步骤1] 开始初始化未计算基础分的账号'); $initStats = $this->initUncalculatedAccounts($service, $output, $accountId, $batchSize); $output->writeln("初始化完成:成功 {$initStats['success']} 条,失败 {$initStats['failed']} 条"); - Log::info("初始化完成:成功 {$initStats['success']} 条,失败 {$initStats['failed']} 条"); } // 步骤2: 更新评分记录(根据wechatId和alias不一致情况) if (!$onlyInit && !$onlyBatch) { $output->writeln("\n[步骤2] 更新评分记录(根据wechatId和alias不一致情况)..."); - Log::info('[步骤2] 开始更新评分记录(根据wechatId和alias不一致情况)'); $updateStats = $this->updateScoreRecords($service, $output, $accountId, $batchSize); $output->writeln("更新完成:处理了 {$updateStats['total']} 条记录"); - Log::info("更新评分记录完成:处理了 {$updateStats['total']} 条记录"); } // 步骤3: 批量更新健康分(只更新动态分,不重新计算基础分) if (!$onlyInit && !$onlyUpdate) { $output->writeln("\n[步骤3] 批量更新健康分(只更新动态分)..."); - Log::info('[步骤3] 开始批量更新健康分(只更新动态分)'); $batchStats = $this->batchUpdateHealthScore($service, $output, $accountId, $batchSize, $forceRecalculate); $output->writeln("批量更新完成:成功 {$batchStats['success']} 条,失败 {$batchStats['failed']} 条"); - Log::info("批量更新健康分完成:成功 {$batchStats['success']} 条,失败 {$batchStats['failed']} 条"); } // 统计信息 diff --git a/Server/application/common/service/WechatAccountHealthScoreService.php b/Server/application/common/service/WechatAccountHealthScoreService.php index 66f31234..64b0ce40 100644 --- a/Server/application/common/service/WechatAccountHealthScoreService.php +++ b/Server/application/common/service/WechatAccountHealthScoreService.php @@ -124,7 +124,6 @@ class WechatAccountHealthScoreService } try { - Log::info("开始计算账号健康分,accountId: {$accountId}, forceRecalculateBase: " . ($forceRecalculateBase ? 'true' : 'false')); // 获取账号数据 if (empty($accountData)) { @@ -157,9 +156,6 @@ class WechatAccountHealthScoreService // 计算基础分(只计算一次,除非强制重新计算) if (!$scoreRecord['baseScoreCalculated'] || $forceRecalculateBase) { - Log::info("计算基础分,accountId: {$accountId}, baseScoreCalculated: " . - ($scoreRecord['baseScoreCalculated'] ? 'true' : 'false') . - ", forceRecalculateBase: " . ($forceRecalculateBase ? 'true' : 'false')); $baseScoreData = $this->calculateBaseScore($accountData, $scoreRecord); $this->updateBaseScore($accountId, $baseScoreData); @@ -171,7 +167,6 @@ class WechatAccountHealthScoreService } // 计算动态分(每次都要重新计算) - Log::info("计算动态分,accountId: {$accountId}"); $dynamicScoreData = $this->calculateDynamicScore($accountData, $scoreRecord); // 计算总分 @@ -185,9 +180,6 @@ class WechatAccountHealthScoreService // 计算每日最大加人次数 $maxAddFriendPerDay = $this->getMaxAddFriendPerDay($healthScore); - Log::info("健康分计算结果,accountId: {$accountId}, baseScore: {$baseScore}, dynamicScore: {$dynamicScore}, " . - "healthScore: {$healthScore}, maxAddFriendPerDay: {$maxAddFriendPerDay}"); - // 更新评分记录 $updateData = [ 'dynamicScore' => $dynamicScore, @@ -1190,7 +1182,7 @@ class WechatAccountHealthScoreService try { $startTime = microtime(true); - Log::info("开始批量计算健康分,batchSize: {$batchSize}, forceRecalculateBase: " . ($forceRecalculateBase ? 'true' : 'false') . + // 去除开始日志,减少日志空间消耗 ", useMultiThread: " . ($useMultiThread ? 'true' : 'false')); $stats = [ @@ -1202,14 +1194,12 @@ class WechatAccountHealthScoreService // 如果没有指定账号ID,则处理所有账号 if (empty($accountIds)) { - Log::info("未指定账号ID,处理所有未删除账号"); $accountIds = Db::table(self::TABLE_WECHAT_ACCOUNT) ->where('isDeleted', 0) ->column('id'); } $stats['total'] = count($accountIds); - Log::info("需要处理的账号总数: {$stats['total']}"); // 优化:减小批次大小,提高并行处理效率 $batchSize = min($batchSize, 50); @@ -1268,7 +1258,10 @@ class WechatAccountHealthScoreService $endTime = microtime(true); $totalDuration = round($endTime - $startTime, 2); - Log::info("批量计算健康分完成,总耗时: {$totalDuration}秒,成功: {$stats['success']},失败: {$stats['failed']}"); + // 只在有失败时记录日志 + if ($stats['failed'] > 0) { + Log::warning("批量计算健康分完成,总耗时: {$totalDuration}秒,成功: {$stats['success']},失败: {$stats['failed']}"); + } return $stats; } catch (\PDOException $e) { @@ -1294,7 +1287,7 @@ class WechatAccountHealthScoreService private function processBatch($batch, $batchIndex, $batchCount, $forceRecalculateBase) { $batchStartTime = microtime(true); - Log::info("开始处理第 " . ($batchIndex + 1) . " 批,共 " . count($batch) . " 个账号"); + // 去除批次开始日志,减少日志空间消耗 $stats = [ 'success' => 0, diff --git a/Server/application/cunkebao/controller/ContentLibraryController.php b/Server/application/cunkebao/controller/ContentLibraryController.php index 0fb4bab1..c0ff445c 100644 --- a/Server/application/cunkebao/controller/ContentLibraryController.php +++ b/Server/application/cunkebao/controller/ContentLibraryController.php @@ -589,7 +589,6 @@ class ContentLibraryController extends Controller $list = ContentItem::where($where) ->field('id,libraryId,type,title,content,contentAi,contentType,resUrls,urls,friendId,wechatId,wechatChatroomId,createTime,createMomentTime,createMessageTime,coverImage,ossUrls') ->order('createMomentTime DESC,createTime DESC') - ->group('snsId') ->page($page, $limit) ->select(); @@ -637,6 +636,7 @@ class ContentLibraryController extends Controller } } + // 处理数据 foreach ($list as &$item) { // 使用AI内容(如果有) diff --git a/Server/application/job/ContentCollectJob.php b/Server/application/job/ContentCollectJob.php index 4c4c1ea4..fcdde958 100644 --- a/Server/application/job/ContentCollectJob.php +++ b/Server/application/job/ContentCollectJob.php @@ -22,7 +22,7 @@ class ContentCollectJob // 如果任务执行成功后删除任务 if ($this->processContentCollect($data, $job->attempts())) { $job->delete(); - Log::info('内容采集任务执行成功,内容库ID:' . $data['libraryId']); + // 去除成功日志,减少日志空间消耗 } else { if ($job->attempts() > 3) { // 超过重试次数,删除任务 diff --git a/Server/application/job/MessageFriendsListJob.php b/Server/application/job/MessageFriendsListJob.php index 9d125eb9..459066ca 100644 --- a/Server/application/job/MessageFriendsListJob.php +++ b/Server/application/job/MessageFriendsListJob.php @@ -22,7 +22,7 @@ class MessageFriendsListJob // 如果任务执行成功后删除任务 if ($this->processMessageFriendsList($data, $job->attempts())) { $job->delete(); - Log::info('好友消息列表任务执行成功,页码:' . $data['pageIndex']); + // 去除成功日志,减少日志空间消耗 } else { if ($job->attempts() > 3) { // 超过重试次数,删除任务 @@ -57,7 +57,7 @@ class MessageFriendsListJob $pageIndex = isset($data['pageIndex']) ? $data['pageIndex'] : 0; $pageSize = isset($data['pageSize']) ? $data['pageSize'] : 100; - Log::info('开始获取好友消息列表,页码:' . $pageIndex . ',页大小:' . $pageSize); + // 去除开始日志,减少日志空间消耗 // 实例化控制器 $messageController = new MessageController(); diff --git a/Server/application/job/OwnMomentsCollectJob.php b/Server/application/job/OwnMomentsCollectJob.php index 931bdde6..9b8987c1 100644 --- a/Server/application/job/OwnMomentsCollectJob.php +++ b/Server/application/job/OwnMomentsCollectJob.php @@ -24,7 +24,6 @@ class OwnMomentsCollectJob // 如果任务执行成功后删除任务 if ($this->processOwnMomentsCollect($data, $job->attempts())) { $job->delete(); - Log::info('自己朋友圈采集任务执行成功'); } else { if ($job->attempts() > 3) { // 超过重试次数,删除任务 @@ -60,12 +59,9 @@ class OwnMomentsCollectJob $onlineWechatAccounts = $this->getOnlineWechatAccounts(); if (empty($onlineWechatAccounts)) { - Log::info('没有在线微信账号,跳过朋友圈采集'); return true; } - Log::info('找到 ' . count($onlineWechatAccounts) . ' 个在线微信账号,开始采集朋友圈'); - // 获取API账号配置 $username = Env::get('api.username2', ''); $password = Env::get('api.password2', ''); @@ -91,8 +87,6 @@ class OwnMomentsCollectJob $wechatAccountId = $account['id']; $wechatId = $account['wechatId']; - Log::info("开始采集微信账号 {$wechatId} (ID: {$wechatAccountId}) 的朋友圈"); - // 创建WebSocket控制器实例 $webSocket = new WebSocketController([ 'userName' => $username, @@ -110,7 +104,6 @@ class OwnMomentsCollectJob $resultData = json_decode($result, true); if (!empty($resultData) && $resultData['code'] == 200) { $successCount++; - Log::info("微信账号 {$wechatId} 朋友圈采集成功"); } else { $failCount++; Log::warning("微信账号 {$wechatId} 朋友圈采集失败:" . ($resultData['msg'] ?? '未知错误')); diff --git a/Server/application/job/WorkbenchGroupCreateJob.php b/Server/application/job/WorkbenchGroupCreateJob.php index bfb77b15..84376969 100644 --- a/Server/application/job/WorkbenchGroupCreateJob.php +++ b/Server/application/job/WorkbenchGroupCreateJob.php @@ -427,7 +427,7 @@ class WorkbenchGroupCreateJob Db::name('workbench_group_create_item')->insertAll($adminFriendData); if ($inviteSuccess) { - Log::info("管理员好友拉入成功。工作台ID: {$workbench->id}, 群ID: {$chatroomId}, 拉入数量: " . count($adminFriendIdsToInvite)); + // 去除成功日志,减少日志空间消耗 } else { Log::warning("管理员好友拉入失败。工作台ID: {$workbench->id}, 群ID: {$chatroomId}"); } @@ -471,10 +471,7 @@ class WorkbenchGroupCreateJob */ protected function logJobStart($jobId, $queueLockKey) { - Log::info('开始处理工作台消息群发任务: ' . json_encode([ - 'jobId' => $jobId, - 'queueLockKey' => $queueLockKey - ])); + // 去除开始日志,减少日志空间消耗 } /** @@ -486,7 +483,7 @@ class WorkbenchGroupCreateJob { $job->delete(); Cache::rm($queueLockKey); - Log::info('工作台消息群发任务执行成功'); + // 去除成功日志,减少日志空间消耗 } /** diff --git a/Server/application/job/WorkbenchGroupCreateVerifyJob.php b/Server/application/job/WorkbenchGroupCreateVerifyJob.php index 99c26946..9c8b091b 100644 --- a/Server/application/job/WorkbenchGroupCreateVerifyJob.php +++ b/Server/application/job/WorkbenchGroupCreateVerifyJob.php @@ -62,7 +62,7 @@ class WorkbenchGroupCreateVerifyJob ->select(); if (empty($groupItems)) { - Log::info("未找到待验证的群记录,任务完成。工作台ID: {$workbenchId}, 微信账号ID: {$wechatAccountId}"); + // 去除信息日志,减少日志空间消耗 $job->delete(); return true; } @@ -130,7 +130,7 @@ class WorkbenchGroupCreateVerifyJob 'verifyTime' => time() ]); - Log::info("群创建成功!工作台ID: {$workbenchId}, 微信账号ID: {$wechatAccountId}, 群ID: {$groupId}"); + // 去除成功日志,减少日志空间消耗 // 3. 拉群主好友进群(在验证成功后执行) $ownerFriendIds = $data['ownerFriendIds'] ?? []; diff --git a/Server/application/job/WorkbenchMomentsJob.php b/Server/application/job/WorkbenchMomentsJob.php index 751c4e65..62db79d4 100644 --- a/Server/application/job/WorkbenchMomentsJob.php +++ b/Server/application/job/WorkbenchMomentsJob.php @@ -520,10 +520,7 @@ class WorkbenchMomentsJob */ protected function logJobStart($jobId, $queueLockKey) { - Log::info('开始处理工作台朋友圈同步任务: ' . json_encode([ - 'jobId' => $jobId, - 'queueLockKey' => $queueLockKey - ])); + // 去除开始日志,减少日志空间消耗 } /** @@ -535,7 +532,7 @@ class WorkbenchMomentsJob { $job->delete(); Cache::rm($queueLockKey); - Log::info('工作台朋友圈同步任务执行成功'); + // 去除成功日志,减少日志空间消耗 } /** diff --git a/Server/application/job/WorkbenchTrafficDistributeJob.php b/Server/application/job/WorkbenchTrafficDistributeJob.php index 53e26d54..67974a2e 100644 --- a/Server/application/job/WorkbenchTrafficDistributeJob.php +++ b/Server/application/job/WorkbenchTrafficDistributeJob.php @@ -157,14 +157,14 @@ class WorkbenchTrafficDistributeJob 'exp' => $config['exp'], 'expTime' => time() + 86400 * $config['exp'], ]); - Log::info("流量分发工作台 {$workbench->id} 好友[{$friend['id']}]分配给客服[{$account['id']}] 成功"); + // 去除成功日志,减少日志空间消耗 } $i++; } break; $page++; } while (true); - Log::info("流量分发工作台 {$workbench->id} 执行分发逻辑完成"); + // 去除完成日志,减少日志空间消耗 } @@ -233,17 +233,14 @@ class WorkbenchTrafficDistributeJob protected function logJobStart($jobId, $queueLockKey) { - Log::info('开始处理流量分发任务: ' . json_encode([ - 'jobId' => $jobId, - 'queueLockKey' => $queueLockKey - ])); + // 去除开始日志,减少日志空间消耗 } protected function handleJobSuccess($job, $queueLockKey) { $job->delete(); Cache::rm($queueLockKey); - Log::info('流量分发任务执行成功'); + // 去除成功日志,减少日志空间消耗 } protected function handleJobError(\Exception $e, $job, $queueLockKey) diff --git a/Server/crontab_tasks.md b/Server/crontab_tasks.md index 708b4074..38e61ea5 100644 --- a/Server/crontab_tasks.md +++ b/Server/crontab_tasks.md @@ -173,7 +173,7 @@ crontab -l 0 2 * * * cd /www/wwwroot/mckb_quwanzhi_com/Server && php think wechat:calculate-score >> /www/wwwroot/mckb_quwanzhi_com/Server/runtime/log/calculate_score.log 2>&1 # 采集客服自己的朋友圈 -0 30 * * * cd /www/wwwroot/mckb_quwanzhi_com/Server && php think own:moments:collect >> /www/wwwroot/mckb_quwanzhi_com/Server/runtime/log/own_moments_collect.log 2>&1 +*/30 * * * cd /www/wwwroot/mckb_quwanzhi_com/Server && php think own:moments:collect >> /www/wwwroot/mckb_quwanzhi_com/Server/runtime/log/own_moments_collect.log 2>&1