diff --git a/game-server/app/servers/guild/handler/guildBossHandler.ts b/game-server/app/servers/guild/handler/guildBossHandler.ts index 1a8f24e0c..caf56896a 100644 --- a/game-server/app/servers/guild/handler/guildBossHandler.ts +++ b/game-server/app/servers/guild/handler/guildBossHandler.ts @@ -49,7 +49,7 @@ export class GuildHandler { let res: any = await lockData(serverId, DATA_NAME.BOSS_SCRIPT, code);//加锁 if (!!res.err) return resResult(STATUS.REDLOCK_ERR); - const guild = await GuildModel.findByCode(code, serverId, 'lv structure'); + const guild = await GuildModel.findByCode(code, serverId, 'code lv structure refOpenBossTime, openBossCnt'); if (!guild) { res.releaseCallback(); return resResult(STATUS.GUILD_NOT_FOUND); diff --git a/game-server/app/services/guildBossService.ts b/game-server/app/services/guildBossService.ts index 9620298fe..abd11f7a8 100644 --- a/game-server/app/services/guildBossService.ts +++ b/game-server/app/services/guildBossService.ts @@ -43,12 +43,12 @@ async function getRefBossCnt(guild: GuildType, userGuild: UserGuildType) { } export async function refreshGuildOfBoss(guild: GuildType, inc: number = 0) { - let { refOpenBossTime, openBossCnt } = guild; + let { refOpenBossTime, openBossCnt, code } = guild; if(shouldRefresh(refOpenBossTime, new Date())) { openBossCnt = 0; } if(inc != 0) { - guild = await GuildModel.updateInfo(guild.code, { refOpenBossTime: new Date(), openBossCnt: openBossCnt + inc }); + guild = await GuildModel.updateInfo(code, { refOpenBossTime: new Date(), openBossCnt: openBossCnt + inc }); openBossCnt = guild.openBossCnt; } return { leaderOpenCnt: openBossCnt } diff --git a/shared/db/BossInstance.ts b/shared/db/BossInstance.ts index f9196717f..92613c244 100644 --- a/shared/db/BossInstance.ts +++ b/shared/db/BossInstance.ts @@ -47,7 +47,7 @@ export default class BossInstance extends BaseModel { @prop({ required: true, default:[], type: String, _id: false}) roleIdRecords: Array; //记录提示过胜利boss关的玩家 - @prop({ required: true }) + @prop({ required: true, default: GUILD_BOSS_STATUS.OPEN }) status: GUILD_BOSS_STATUS; // 状态 1:等待团长开启,2:今日已开启,且boss通关,3:开启中 public static async findByCode(code: string) { diff --git a/shared/db/Guild.ts b/shared/db/Guild.ts index 813ec989a..faecff8f9 100644 --- a/shared/db/Guild.ts +++ b/shared/db/Guild.ts @@ -3,7 +3,7 @@ import { index, getModelForClass, prop, DocumentType, Ref } from '@typegoose/typ import Role, { RoleType } from './Role'; import { genCode } from '../pubUtils/util'; import { GUILD_STRUCTURE, GUILD_STATUS, GUILD_PER_PAGE, GUILD_SELECT, REDIS_KEY, SHOP_REFRESH_TYPE } from '../consts'; -import { getZeroPoint, nowSeconds } from '../pubUtils/timeUtil'; +import { getZeroPoint, getZeroPointD, nowSeconds } from '../pubUtils/timeUtil'; import { reduceCe } from '../pubUtils/util'; import { gameData } from '../pubUtils/data'; @@ -103,7 +103,7 @@ export default class Guild extends BaseModel { @prop({ required: true, default: () => { return getZeroPoint(SHOP_REFRESH_TYPE.WEEKLY) } }) resetTrainTime: number;//上次刷新挑战训练场次数的时间 - @prop({ required: true, default: getZeroPoint }) + @prop({ required: true, default: getZeroPointD }) refOpenBossTime: Date; // 开启boss本刷新时间 @prop({ required: true, default: 0 })