diff --git a/game-server/app/servers/battle/handler/guildHandler.ts b/game-server/app/servers/battle/handler/guildHandler.ts index 2c87a2029..4a3b79d3b 100644 --- a/game-server/app/servers/battle/handler/guildHandler.ts +++ b/game-server/app/servers/battle/handler/guildHandler.ts @@ -836,17 +836,21 @@ export class GuildHandler { const guild = await addGuildActive(code, serverId, active); if(!guild) return resResult(STATUS.GUILD_NOT_FOUND); - let userGuild = await UserGuildModel.getMyGuild(roleId, 'activeRecord receivedActive'); + let userGuild = await UserGuildModel.getMyGuild(roleId, 'activeRecord receivedActive activeDaily activeWeekly'); let {activeRecord} = userGuild; - let curActiveRecord = activeRecord.find(cur => cur.id == id); - if( curActiveRecord ) { - curActiveRecord.count ++; - } else { - activeRecord.push({id, count: 1}); + if(id != 0) { + let curActiveRecord = activeRecord.find(cur => cur.id == id); + if( curActiveRecord ) { + curActiveRecord.count ++; + } else { + activeRecord.push({id, count: 1}); + } } userGuild = await UserGuildModel.updateInfo(roleId, { activeRecord, activeDaily: userGuild.activeDaily + active, activeWeekly: userGuild.activeWeekly + active}) let { activeDaily, activeWeekly } = guild; + message.updateInfo(code, { activeDaily, activeWeekly }); + return resResult(STATUS.SUCCESS, { activeDaily, activeWeekly, myInfo: userGuild }); } @@ -856,4 +860,26 @@ export class GuildHandler { await settleGuildWeekly(); return resResult(STATUS.SUCCESS); } + + // debug接口: 添加军团资金 + async debugAdddFund(msg: { code: string, count: number }, session: BackendSession) { + + const { code, count } = msg; + const guild = await GuildModel.updateInfo(code, {}, { fund: count }, 'fund'); + message.updateInfo(code, {fund: guild.fund}); + return resResult(STATUS.SUCCESS, { code, fund: guild.fund }); + } + + // debug接口: 加长会长离线时间 + async debugLeaderLeaveTime(msg: { code: string }, session: BackendSession) { + + const { code } = msg; + const serverId = session.get('serverId'); + const guild = await GuildModel.findByCode(code, serverId); + const leader = guild.leader; + let threeDaysBefore = getBeforeDaySeconds(3); + await RoleModel.updateRoleInfo(leader.roleId, { loginTime: threeDaysBefore } ); + + return resResult(STATUS.SUCCESS, { code }); + } } \ No newline at end of file diff --git a/shared/db/Guild.ts b/shared/db/Guild.ts index b0e9969ca..935912c52 100644 --- a/shared/db/Guild.ts +++ b/shared/db/Guild.ts @@ -145,7 +145,7 @@ export default class Guild extends BaseModel { return result; } - public static async updateInfo(code: string, update: GuildUpdateParam, incParam?: { managerCnt?: number }, select?: string) { + public static async updateInfo(code: string, update: GuildUpdateParam, incParam?: { managerCnt?: number, fund?: number }, select?: string) { const result: GuildType = await GuildModel.findOneAndUpdate({ code }, { $set: update, $inc: incParam }, { new: true }).select(select).lean(); return result; } diff --git a/shared/db/UserGuild.ts b/shared/db/UserGuild.ts index dc33c63b6..e2e536593 100644 --- a/shared/db/UserGuild.ts +++ b/shared/db/UserGuild.ts @@ -39,7 +39,7 @@ export default class UserGuild extends BaseModel { @prop({ required: true, default: USER_GUILD_STATUS.ON, enum: USER_GUILD_STATUS}) status: number; - @prop({ required: true, type: ActiveRecord, default: [] }) + @prop({ required: true, type: ActiveRecord, default: [], _id: false }) activeRecord: ActiveRecord[]; @prop({ required: true, default: 0 }) diff --git a/shared/pubUtils/data.ts b/shared/pubUtils/data.ts index 81ff0468b..7c74f5453 100644 --- a/shared/pubUtils/data.ts +++ b/shared/pubUtils/data.ts @@ -49,8 +49,8 @@ import { dicGuildActiveDayReward } from './dictionary/DicGuildActiveDayReward'; import { dicGuildActiveWeekReward } from './dictionary/DicGuildActiveWeekReward'; import { dicGuildPosition } from "./dictionary/DicGuildPosition"; import { dicMail } from "./dictionary/DicMail"; -import { dicArmyTrainJuDian } from './dictionary/dicArmyTrainJuDian'; -import { dicTrainSoloReward } from './dictionary/dicTrainSoloReward'; +import { dicArmyTrainJuDian } from './dictionary/DicArmyTrainJuDian'; +import { dicTrainSoloReward } from './dictionary/DicTrainSoloReward'; import { RewardInter } from "./interface"; export const gameData = { @@ -125,7 +125,8 @@ export const gameData = { guildActiveWeekReward: dicGuildActiveWeekReward, guildPosition: dicGuildPosition, armyTrainJuDian: dicArmyTrainJuDian, - trainSoloReward: dicTrainSoloReward + trainSoloReward: dicTrainSoloReward, + mail: dicMail }; // 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据 diff --git a/shared/pubUtils/itemUtils.ts b/shared/pubUtils/itemUtils.ts index 4d40ca98d..69d15b167 100644 --- a/shared/pubUtils/itemUtils.ts +++ b/shared/pubUtils/itemUtils.ts @@ -9,7 +9,6 @@ import { RANDOM_SE_COUNT, FIX_ATTRIBUTES_RAN, ITID, CURRENCY_BY_TYPE, CURRENCY_T import { getRandValueByMinMax, getRandEelm } from './util'; import { findWhere } from 'underscore'; -import { UserGuildModel } from '../db/UserGuild'; export async function addSkins(roleId: string, id: number) { let skinInfo = gameData.fashion.get(id);