chunk(100, function ($modules) { foreach ($modules as $module) { $this->send($module); } }); } private function send(Module $module): void { $data = $module->calculate(); if (! $data) { return; } // make wecom_key visible $wecom_key = $module->wecom_key ?? config('settings.wecom.robot_hook.billing'); $text = "# $module->name 收益"; foreach ($data as $year => $months) { // 排序 months 从小到大 ksort($months); $total = 0; $total_should = 0; foreach ($months as $month => $m) { $total += round($m['balance'], 2); $total_should += round($m['should_balance'], 2); $text .= << 'markdown', 'markdown' => [ 'content' => $text, ], ]); if ($resp->failed()) { Log::error('发送模块盈利到企业微信时失败', [ 'module' => $module->id, 'data' => $data, 'resp' => $resp->json(), ]); } } }