获取列表,申请,同意
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
import { gameData } from "../pubUtils/data";
|
||||
import { GuildModel } from "../db/Guild";
|
||||
import { resResult } from "../pubUtils/util";
|
||||
import { STATUS } from "../consts";
|
||||
import { RoleModel } from "../db/Role";
|
||||
import { UserGuildModel } from "../db/UserGuild";
|
||||
import { UserGuildApplyModel } from "../db/UserGuildApply";
|
||||
|
||||
/**
|
||||
* @description 检查该玩家是否有权限做操作
|
||||
@@ -9,4 +15,35 @@ export function checkAuth(func: number, auth: number) {
|
||||
const dicGuildAuth = gameData.guildAuth.get(func);
|
||||
if(!dicGuildAuth) return false;
|
||||
return dicGuildAuth.includes(auth);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 加入公会
|
||||
* @param code 公会code
|
||||
* @param lv 公会当前等级,判断人数用
|
||||
* @param roleId 加入的玩家
|
||||
*/
|
||||
export async function joinGuild(code: string, lv: number, roleId: string) {
|
||||
|
||||
const hasGuild = await UserGuildModel.getMyGuild(roleId);
|
||||
if(!!hasGuild) {
|
||||
return { status: 0, resResult: resResult(STATUS.GUILD_HAS_JOIN) };
|
||||
}
|
||||
|
||||
// TODO 读策划表获取最大人数
|
||||
const maxMemberCnt = 10;
|
||||
const guild = await GuildModel.addGuild(code, roleId, maxMemberCnt);
|
||||
if(!guild) {
|
||||
return { status: 0, resResult: resResult(STATUS.GUILD_MEMBER_MAX) };
|
||||
}
|
||||
|
||||
const role = await RoleModel.findByRoleId(roleId);
|
||||
const userGuild = await UserGuildModel.createUserGuild(guild.code, role, false);
|
||||
if(!userGuild) {
|
||||
return { status: 0, resResult: resResult(STATUS.GUILD_CREATE_ERROR) };
|
||||
}
|
||||
|
||||
await UserGuildApplyModel.deleteApply(roleId); // 删除玩家所有对其他公会的申请
|
||||
|
||||
return { status: 1, guild, userGuild }
|
||||
}
|
||||
Reference in New Issue
Block a user