军团:添加踢人解散退出,添加权限

This commit is contained in:
luying
2021-01-20 15:47:57 +08:00
parent ac081059c2
commit 9b6ca78d88
12 changed files with 396 additions and 68 deletions
+10 -6
View File
@@ -3,7 +3,7 @@ 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 { UserGuildModel, UserGuildType } from "../db/UserGuild";
import { UserGuildApplyModel } from "../db/UserGuildApply";
/**
@@ -11,9 +11,11 @@ import { UserGuildApplyModel } from "../db/UserGuildApply";
* @param func 操作id
* @param auth 权限
*/
export function checkAuth(func: number, auth: number) {
export async function checkAuth(func: number, roleId: string, code?: string, userGuild?: UserGuildType) {
const auth = await UserGuildModel.getMyAuth(roleId, code, userGuild);
const dicGuildAuth = gameData.guildAuth.get(func);
if(!dicGuildAuth) return false;
return dicGuildAuth.includes(auth);
}
@@ -23,16 +25,18 @@ export function checkAuth(func: number, auth: number) {
* @param lv 公会当前等级,判断人数用
* @param roleId 加入的玩家
*/
export async function joinGuild(code: string, lv: number, roleId: string) {
export async function joinGuild(code: string, lv: number, roleId: string, serverId: number) {
const hasGuild = await UserGuildModel.getMyGuild(roleId);
if(!!hasGuild) {
// TODO 加redlock
const result = await RoleModel.joinGuild(roleId);
if(!result) {
return { status: 0, resResult: resResult(STATUS.GUILD_HAS_JOIN) };
}
// TODO 读策划表获取最大人数
const maxMemberCnt = 10;
const guild = await GuildModel.addGuild(code, roleId, maxMemberCnt);
const guild = await GuildModel.addGuild(code, roleId, maxMemberCnt, serverId);
if(!guild) {
return { status: 0, resResult: resResult(STATUS.GUILD_MEMBER_MAX) };
}