军团相关战力使用get方法

This commit is contained in:
luying
2021-02-02 12:38:55 +08:00
parent 830836b809
commit a9e2b79c79
7 changed files with 53 additions and 39 deletions
@@ -1,5 +1,5 @@
import { Application, BackendSession, pinus, ChannelService } from 'pinus';
import { resResult, getRandEelm, reduceCe, getRefTime } from '../../../pubUtils/util';
import { resResult, getRandEelm, getRefTime } from '../../../pubUtils/util';
import { STATUS, GUILD_OPERATE, GUILD_AUTH, GUILD_JOB, GUILD_APPLY_TYPE, GUILD_STRUCTURE, GUILD_REC_TYPE, GUILD_STRUCTURE_NAME, MAIL_TYPE, REDIS_KEY, GUILD_DATA_NAME, CHAT_SERVER } from '../../../consts';
import { UserGuildModel } from '../../../db/UserGuild';
import { checkAuth, joinGuild, getGuildWithRefActive, getUserGuildWithRefActive, addActive, settleGuildWeekly } from '../../../services/guildService';
@@ -56,16 +56,14 @@ export class GuildHandler {
// 创建公会
const guild = await GuildModel.createGuild({ name, icon, notice }, role, serverId);
if(!guild) return resResult(STATUS.GUILD_CREATE_ERROR);
guild.guildCe = reduceCe(guild.guildCe);
guild.leader = <RoleType>guild.leader;
guild.leader.ce = reduceCe(guild.leader.ce);
//创建科技树
await openGuildRefine(guild.code);
await unlockTrain(guild.code, 1);
const userGuild = await UserGuildModel.createUserGuild(guild.code, role, true);
if(!userGuild) return resResult(STATUS.GUILD_CREATE_ERROR);
await RoleModel.joinGuild(roleId);
await RoleModel.joinGuild(roleId, guild.code, guild.name);
await UserGuildApplyModel.deleteApply(roleId); // 删除玩家所有对其他公会的申请
// 加入排行
@@ -118,6 +116,7 @@ export class GuildHandler {
const roleId = session.get('roleId');
const { code, name, notice, introduce, ceLimit, isAuto } = msg;
if(!name) return resResult(STATUS.WRONG_PARMS);
const checkResult = await checkAuth(GUILD_OPERATE.SET_INFO, roleId, code);
if(!checkResult) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH);
@@ -257,9 +256,7 @@ export class GuildHandler {
return resResult(STATUS.GUILD_NOT_FOUND);
}
guild.guildCe = reduceCe(guild.guildCe);
guild.leader = <RoleType>guild.leader;
guild.leader.ce = reduceCe(guild.leader.ce);
let leaderIsOnline = await isRoleOnline(guild.leader.roleId);
// 打开公会页面,加入channel
@@ -296,8 +293,8 @@ export class GuildHandler {
return resResult(STATUS.GUILD_MEMBER_MAX);
}
const role = await RoleModel.findByRoleId(roleId);
if(ceLimit > reduceCe(role.ce)) {
const role = await RoleModel.findByRoleId(roleId, null, true);
if(ceLimit > role.ce) {
return resResult(STATUS.GUILD_NOT_REACH_CONDI);
}
// TODO 暂时关闭
@@ -307,7 +304,7 @@ export class GuildHandler {
let hasGuild = false;
if(isAuto) { // 自动加入
const joinResult = await joinGuild(code, lv, roleId, serverId);
const joinResult = await joinGuild(code, guild.name, lv, roleId, serverId);
if(joinResult.status == 0) {
return joinResult.resResult;
}
@@ -343,7 +340,7 @@ export class GuildHandler {
let role = <RoleType>cur.role;
delete cur.role;
let isOnline = await isRoleOnline(role.roleId);
list.push({ applyCode: cur.applyCode, ...role, ce: reduceCe(role.ce), isOnline });
list.push({ applyCode: cur.applyCode, ...role, isOnline });
}
return resResult(STATUS.SUCCESS, { list });
@@ -368,7 +365,7 @@ export class GuildHandler {
if(isReceived) { // 同意申请,加入
for(let { roleId } of applyList) {
const joinResult = await joinGuild(code, guild.lv, roleId, serverId);
const joinResult = await joinGuild(code, guild.name, guild.lv, roleId, serverId);
if(joinResult.status == 0) continue;
// 更新人数增加
@@ -411,7 +408,7 @@ export class GuildHandler {
let result = [];
for(let cur of list) {
let isOnline = await isRoleOnline(cur.roleId);
result.push({...cur, ce: reduceCe(cur.ce), isOnline})
result.push({...cur, isOnline})
}
return resResult(STATUS.SUCCESS, { quitTime, list: result });
@@ -487,7 +484,7 @@ export class GuildHandler {
const { guildCode } = invite;
const guild = await GuildModel.findByCode(guildCode, serverId);
const joinResult = await joinGuild(guildCode, guild.lv, roleId, serverId);
const joinResult = await joinGuild(guildCode, guild.name, guild.lv, roleId, serverId);
if(joinResult.status == 0) {
return joinResult.resResult;
}
@@ -528,7 +525,7 @@ export class GuildHandler {
delete role._id;
delete cur.role;
let isOnline = await isRoleOnline(role.roleId)
result.push({ ...cur, ...role, ce: reduceCe(role.ce), isOnline: !!isOnline });
result.push({ ...cur, ...role, isOnline: !!isOnline });
}
let leader = result.shift();
@@ -698,7 +695,7 @@ export class GuildHandler {
await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, code, [{field: 'leader', value: new GuildLeader(topUser) } ]);
let isOnline = await isRoleOnline(topUser.roleId);
const leader = { ...topUser, ce: reduceCe(topUser.ce), isOnline }
const leader = { ...topUser, ce: topUser.ce, isOnline }
return resResult(STATUS.SUCCESS, {
code, managerCnt: guild.managerCnt, leader
});
+2 -2
View File
@@ -36,7 +36,7 @@ export async function checkAuth(func: number, roleId: string, code?: string, use
* @param lv 公会当前等级,判断人数用
* @param roleId 加入的玩家
*/
export async function joinGuild(code: string, lv: number, roleId: string, serverId: number) {
export async function joinGuild(code: string, guildName: string, lv: number, roleId: string, serverId: number) {
// 周结算锁
let isWeeklySum = await isLocked(serverId, GUILD_DATA_NAME.WEEKLY_GUILD_SUM, code);
@@ -46,7 +46,7 @@ export async function joinGuild(code: string, lv: number, roleId: string, server
let res:any = await lockData(serverId, GUILD_DATA_NAME.JOIN_GUILD, code);// 加锁
if (!!res.err) return { status: 0, resResult: resResult(STATUS.REDLOCK_ERR) };
const result = await RoleModel.joinGuild(roleId);
const result = await RoleModel.joinGuild(roleId, code, guildName);
if(!result) {
res.releaseCallback();//解锁
return { status: 0, resResult: resResult(STATUS.GUILD_HAS_JOIN) };
@@ -6,14 +6,14 @@ import { RoleModel } from '../db/Role';
export async function eventOnPlayerLvUp(roleId: string, lv: number, addFuncs: Array<number>, dataFuncs: Array<number>) {
// if (!dataFuncs.includes(FUNCS_ID.PVP)) {//开启pvp
if (!dataFuncs.includes(FUNCS_ID.PVP)) {//开启pvp
let res = getFuncsSwitch(FUNCS_ID.PVP);
if (!res || lv >= res.param) {
let role = await RoleModel.findByRoleId(roleId);
await checkPvp(role);
addFuncs.push(FUNCS_ID.PVP);
}
// }
}
if (!dataFuncs.includes(FUNCS_ID.EVENT)) {//开启奇遇
let res = getFuncsSwitch(FUNCS_ID.EVENT);