const guildDao = require("../../dao/guildDao"); class GuildService { async listGuild() { return await guildDao.listGuild(); } async searchGuild(guildName) { return await guildDao.searchGuild(guildName); } async createGuild(guildName, logo, creator) { const guildId = await guildDao.createGuild(guildName, logo, creator); return guildId; } async joinGuild(player, guildId) { const result = await guildDao.joinGuild(guildId, player); return result; } async approveGuild(uid, guildId, newuid) { const result = await guildDao.approveGuild(uid, guildId, newuid); return result; } async inviteNewMember(uid, guildId, newuid) { const result = await guildDao.inviteNewMember(guildId, uid, newuid); return result; } async getGuildInfoByUID(uid) { const result = await guildDao.getGuildInfoByUID(uid); return result; } async getGuildInfo(guildId) { const result = await guildDao.getGuildInfo(guildId); } async getMembers(guildId, apply) { const result = await guildDao.getGuildMembers(guildId, apply); return result; } async getInviteList(uid,) { const result = await guildDao.getInviteList(uid); return result; } async confirmInvite(uid, guildId) { const result = await guildDao.confirmInvite(guildId, uid); return result; } async leaveGuild(uid) { const result = await guildDao.leaveGuild(uid); return result; } async kick(uid, muid) { const result = await guildDao.kick(uid, muid); return result; } async disbandGuild(uid) { const result = await guildDao.disbandGuild(uid); return result; } async updateMemberRank(uid, guildId, memberUid, g_rank) { return await guildDao.updateMemberRank(guildId, uid, memberUid, g_rank); } async setAnnounce(uid, gid, announce) { return await guildDao.setAnnounce(gid, uid, announce); } sendGuildMessage(player, message) { const playerGuild = this.getPlayerGuild(player); if (playerGuild) { for (const member of playerGuild.members) { member.sendChatMessage(`[Guild] ${player.name}: ${message}`); } } } getPlayerGuild(player) { for (const guild of this.guilds.values()) { if (guild.members.has(player)) { return guild; } } return null; } } // ... module.exports = GuildService;