delete(); return true; } // 初始化WebSocket $toAccountId = ''; $username = Env::get('api.username2', ''); $password = Env::get('api.password2', ''); if (!empty($username) || !empty($password)) { $toAccountId = Db::name('users')->where('account', $username)->value('s2_accountId'); } $webSocket = new WebSocketController(['userName' => $username, 'password' => $password, 'accountId' => $toAccountId]); // 拉群主好友进群 $inviteResult = $webSocket->CmdChatroomInvite([ 'wechatChatroomId' => $groupId, 'wechatFriendIds' => $ownerFriendIds ]); // 获取好友微信ID映射 $friendWechatIds = Db::table('s2_wechat_friend') ->where('id', 'in', $ownerFriendIds) ->column('id,wechatId'); // 更新群主好友记录状态 Db::name('workbench_group_create_item') ->where('workbenchId', $workbenchId) ->where('wechatAccountId', $wechatAccountId) ->where('status', 1) // 创建中 ->where('memberType', self::MEMBER_TYPE_OWNER_FRIEND) ->where('createTime', '>=', $createTime - 10) ->where('createTime', '<=', $createTime + 10) ->update([ 'status' => self::STATUS_SUCCESS, 'groupId' => $groupId, 'chatroomId' => $chatroomId, 'verifyTime' => time() ]); Log::info("群主好友已拉入群。工作台ID: {$workbenchId}, 群ID: {$groupId}, 好友数: " . count($ownerFriendIds)); $job->delete(); return true; } catch (\Exception $e) { Log::error("拉群主好友任务异常:{$e->getMessage()}"); if ($job->attempts() > self::MAX_RETRY_ATTEMPTS) { $job->delete(); } else { $job->release(Config::get('queue.failed_delay', 10)); } return false; } } }