🐞 fix(军团): 退出游戏cd时间变为和服务器开服时间相关
This commit is contained in:
@@ -2,7 +2,7 @@ import { Application, BackendSession, ChannelService, HandlerService, } from 'pi
|
||||
import { resResult, getRandEelm, shouldRefresh, sortArrRandom } 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_SELECT, USER_GUILD_SELECT, TASK_TYPE, DEBUG_MAGIC_WORD, CHANNEL_PREFIX, MSG_TYPE, MSG_SOURCE, ITEM_CHANGE_REASON, TA_EVENT, GUILD_DISMISS_WAY, GUILD_MASTER_CHANGE_WAY, GUILD_QUIT_WAY, PUSH_ROUTE } from '../../../consts';
|
||||
import { UserGuildModel, UserGuildType } from '../../../db/UserGuild';
|
||||
import { checkAuth, joinGuild, getUserGuildWithRefActive, addActive, settleGuildWeekly, getMyGuildInfo, setUserGuildSession, getInvitationList, addGuildRecord, pushChangeGuildLeader, pushGuildMemberQuit, pushGuildDismiss, pushGuildInfoUpdate, getTodayGuildActive } from '../../../services/guildService';
|
||||
import { checkAuth, joinGuild, getUserGuildWithRefActive, addActive, settleGuildWeekly, getMyGuildInfo, setUserGuildSession, getInvitationList, addGuildRecord, pushChangeGuildLeader, pushGuildMemberQuit, pushGuildDismiss, pushGuildInfoUpdate, getTodayGuildActive, getGuildQuitCdTime } from '../../../services/guildService';
|
||||
import { GuildModel, GuildType, GuildUpdateParam } from '../../../db/Guild';
|
||||
import { RoleModel, RoleType } from '../../../db/Role';
|
||||
import { ARMY } from '../../../pubUtils/dicParam';
|
||||
@@ -128,7 +128,7 @@ export class GuildHandler {
|
||||
info.setApply(!!hasApply);
|
||||
list.push(info);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, { quitTime, list });
|
||||
return resResult(STATUS.SUCCESS, { quitTime, cdTime: await getGuildQuitCdTime(serverId), list });
|
||||
}
|
||||
|
||||
// 团长修改军团名等信息
|
||||
@@ -311,7 +311,7 @@ export class GuildHandler {
|
||||
return resResult(STATUS.GUILD_NOT_REACH_CONDI);
|
||||
}
|
||||
|
||||
if(nowSeconds() - role.quitGuildTime < dicParam.ARMY.ARMY_JOIN_COOLDOWNTIME * 60) {
|
||||
if(nowSeconds() - role.quitGuildTime < (await getGuildQuitCdTime(serverId)) * 60) {
|
||||
return resResult(STATUS.GUILD_QUIT_TIME);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { gameData, getGuildActiveWeekReward, getGuildActiveByIdAndType, getGoodById } from "../pubUtils/data";
|
||||
import { GuildModel, GuildType, GuildUpdateParam } from "../db/Guild";
|
||||
import { resResult, shouldRefresh } from "../pubUtils/util";
|
||||
import { deltaDays, resResult, shouldRefresh } from "../pubUtils/util";
|
||||
import { STATUS, MAIL_TYPE, GUILD_AUTH, GUILD_JOB, REDIS_KEY, CHAT_SERVER, TASK_TYPE, COUNTER, GUILD_REC_TYPE, PUSH_ROUTE, WAR_TYPE, USER_GUILD_STATUS } from "../consts";
|
||||
import { RoleModel, RoleType } from "../db/Role";
|
||||
import { UserGuildModel, UserGuildType, WishGood } from "../db/UserGuild";
|
||||
@@ -9,7 +9,7 @@ import { getZeroPointD, getZeroPointOfTime, getZeroPointOfTimeD, nowSeconds } fr
|
||||
import { pinus, BackendSession, FrontendOrBackendSession } from "pinus";
|
||||
import { ARMY } from "../pubUtils/dicParam";
|
||||
import { sendMailByContent } from "./mailService";
|
||||
import { initSingleRank, getRoleOnlineInfo, updateUserInfo, isRoleOnline } from "./redisService";
|
||||
import { initSingleRank, getRoleOnlineInfo, updateUserInfo, isRoleOnline, getServerCreateTime } from "./redisService";
|
||||
import { lockData, lockDataNoRetry } from '../services/redLockService';
|
||||
import { ErrLogModel } from '../db/ErrLog';
|
||||
import { DATA_NAME } from '../consts/dataName';
|
||||
@@ -30,6 +30,7 @@ import { BossInstanceModel } from "../db/BossInstance";
|
||||
import { pick } from "underscore";
|
||||
import { memberJoinGuildToLeague } from "./gvg/gvgTeamService";
|
||||
import { isToday } from '../pubUtils/timeUtil';
|
||||
import moment = require("moment");
|
||||
|
||||
export async function getMyGuildInfo(roleId: string, sid: string, userGuild: UserGuildType, guild: GuildType, serverId: number, session: FrontendOrBackendSession) {
|
||||
|
||||
@@ -503,4 +504,15 @@ export async function pushGuildMemberQuit(roleId: string, guildCode: string, gui
|
||||
export async function pushGuildDismiss(guildCode: string) {
|
||||
await sendMessageToGuildWithSuc(guildCode, PUSH_ROUTE.DISMISS, { code: guildCode });
|
||||
delGuildChannel(guildCode);
|
||||
}
|
||||
|
||||
export async function getGuildQuitCdTime(serverId: number) {
|
||||
let serverTime = await getServerCreateTime(serverId);
|
||||
let todayIndex = deltaDays(moment(serverTime * 1000).toDate(), new Date) + 1;
|
||||
let result = 0;
|
||||
for(let { day, minute } of gameData.guildQuitCd) {
|
||||
if(todayIndex > day) result = minute;
|
||||
}
|
||||
console.log('####', serverId, serverTime, todayIndex, result)
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user