diff --git a/game-server/app/servers/guild/handler/donateHandler.ts b/game-server/app/servers/guild/handler/donateHandler.ts index 66b2dcb73..57c63cf8c 100644 --- a/game-server/app/servers/guild/handler/donateHandler.ts +++ b/game-server/app/servers/guild/handler/donateHandler.ts @@ -9,7 +9,7 @@ import { GuildModel } from '../../../db/Guild'; import { handleCost, addItems } from '../../../services/role/rewardService'; import { CHAT_SERVER, GUILD_POINT_WAYS } from '../../../consts'; import { addFund, donate, getDonation, getGuildFundByRefTime } from '../../../services/donateService'; -import { getUserGuildWithRefActive, refreshUserGuild } from '../../../services/guildService'; +import { getUserGuildWithRefActive } from '../../../services/guildService'; import { ARMY } from '../../../pubUtils/dicParam'; import { addActive } from '../../../services/guildService' import { checkTask, checkTaskInDonate } from '../../../services/task/taskService'; @@ -34,9 +34,8 @@ export class DonationHandler { async getDonation(msg: guildInter & {}, session: BackendSession) { const roleId: string = session.get('roleId'); const serverId: number = parseInt(session.get('serverId')); - const { myUserGuild } = msg; - let userGuild = await refreshUserGuild(myUserGuild, roleId); + let userGuild = await getUserGuildWithRefActive(roleId); if (!userGuild) return resResult(STATUS.WRONG_PARMS); let guild = await GuildModel.findGuild(userGuild.guildCode, serverId, 'structure lv'); @@ -53,7 +52,7 @@ export class DonationHandler { * @param session */ async donate(msg: guildInter & { id: number }, session: BackendSession) { - const { id, myUserGuild } = msg; + const { id } = msg; const roleId: string = session.get('roleId'); const roleName: string = session.get('roleName'); const serverId: number = parseInt(session.get('serverId')); @@ -65,7 +64,7 @@ export class DonationHandler { return resResult(STATUS.REDLOCK_ERR); } - let userGuild = await refreshUserGuild(myUserGuild, roleId); + let userGuild = await getUserGuildWithRefActive(roleId); if (!userGuild) { res.releaseCallback(); return resResult(STATUS.WRONG_PARMS); @@ -120,7 +119,7 @@ export class DonationHandler { const roleName: string = session.get('roleName'); const sid: string = session.get('sid'); const serverId: number = parseInt(session.get('serverId')); - let userGuild = await refreshUserGuild(myUserGuild, roleId); + let userGuild = await getUserGuildWithRefActive(roleId); if (!userGuild) return resResult(STATUS.WRONG_PARMS); const { guildCode: code, receiveBoxs: resReceiveBoxs } = userGuild; diff --git a/game-server/app/servers/guild/handler/guildHandler.ts b/game-server/app/servers/guild/handler/guildHandler.ts index 4197f7510..5aea126c9 100644 --- a/game-server/app/servers/guild/handler/guildHandler.ts +++ b/game-server/app/servers/guild/handler/guildHandler.ts @@ -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, refreshUserGuild, 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 } from '../../../services/guildService'; import { GuildModel, GuildType, GuildUpdateParam } from '../../../db/Guild'; import { RoleModel, RoleType } from '../../../db/Role'; import { ARMY } from '../../../pubUtils/dicParam'; @@ -269,8 +269,7 @@ export class GuildHandler { const roleId = session.get('roleId'); const serverId = session.get('serverId'); const sid = session.get('sid'); - const { myUserGuild } = msg; - let userGuild = await refreshUserGuild(myUserGuild, roleId); + let userGuild = await getUserGuildWithRefActive(roleId); if (!userGuild) { return resResult(STATUS.SUCCESS, { hasGuild: false }) }; @@ -845,9 +844,9 @@ export class GuildHandler { const sid = session.get('sid'); const serverId = session.get('serverId'); - const { code, id, myUserGuild } = msg; + const { code, id } = msg; - let userGuild = await refreshUserGuild(myUserGuild, roleId); + let userGuild = await getUserGuildWithRefActive(roleId); if (!userGuild) return resResult(STATUS.GUILD_NOT_FOUND); let activeDayReward = gameData.guildActiveDayReward.get(id); diff --git a/game-server/app/servers/guild/handler/wishPoolHandler.ts b/game-server/app/servers/guild/handler/wishPoolHandler.ts index 1317223e1..8c8003f52 100644 --- a/game-server/app/servers/guild/handler/wishPoolHandler.ts +++ b/game-server/app/servers/guild/handler/wishPoolHandler.ts @@ -8,7 +8,7 @@ import { gameData, getGoodById, getWishPoolReward } from '../../../pubUtils/data import { addItems, checkGoods, checkHeroEquips, checkHeroes, getHonourObject, handleCost } from '../../../services/role/rewardService'; import { ITID, CONSUME_TYPE } from '../../../consts/constModules/itemConst'; import { GUILD_POINT_WAYS, GUILD_STRUCTURE, WISH_POOL_TYPE } from '../../../consts/constModules/guildConst'; -import { refreshUserGuild, getWishPool, getUserGuildWithRefActive, addActive } from '../../../services/guildService'; +import { getWishPool, getUserGuildWithRefActive, addActive } from '../../../services/guildService'; import { findIndex, findWhere } from 'underscore'; import { RoleModel } from '../../../db/Role'; import { getRoleOnlineInfo } from '../../../services/redisService'; @@ -27,8 +27,7 @@ export class WishPoolHandler { async getWishPool(msg: guildInter & {}, session: BackendSession) { const roleId: string = session.get('roleId'); - const { myUserGuild } = msg; - let userGuild = await refreshUserGuild(myUserGuild, roleId); + let userGuild = await getUserGuildWithRefActive(roleId); if (!userGuild) return resResult(STATUS.WRONG_PARMS); let res = await getWishPool(userGuild); @@ -46,7 +45,7 @@ export class WishPoolHandler { if (dicItid.type != CONSUME_TYPE.SOUL || type != WISH_POOL_TYPE.SOUL) return resResult(STATUS.GUILD_WISH_POOL_CAN_NOT_WISH); - let userGuild = await refreshUserGuild(myUserGuild, roleId); + let userGuild = await getUserGuildWithRefActive(roleId); if (!userGuild) return resResult(STATUS.WRONG_PARMS); const { guildCode: code, wishGoods, receivedWishPool } = userGuild; @@ -89,7 +88,7 @@ export class WishPoolHandler { if (!wishUserGuild) return resResult(STATUS.WRONG_PARMS); const { guildCode: code, wishGoods } = wishUserGuild; - let dntRoleGuild = await refreshUserGuild(myUserGuild, dntRoleId); + let dntRoleGuild = await getUserGuildWithRefActive(dntRoleId); if (!dntRoleGuild) return resResult(STATUS.WRONG_PARMS); if (dntRoleGuild.guildCode != code) @@ -130,7 +129,7 @@ export class WishPoolHandler { const roleId: string = session.get('roleId'); const roleName: string = session.get('roleName'); const sid: string = session.get('sid'); - let userGuild = await refreshUserGuild(myUserGuild, roleId); + let userGuild = await getUserGuildWithRefActive(roleId); if (!userGuild) return resResult(STATUS.WRONG_PARMS); const { wishGoods, receivedWishPool } = userGuild; @@ -153,7 +152,7 @@ export class WishPoolHandler { async getReports(msg: guildInter & {}, session: BackendSession) { const roleId: string = session.get('roleId'); const { myUserGuild } = msg; - let userGuild = await refreshUserGuild(myUserGuild, roleId); + let userGuild = await getUserGuildWithRefActive(roleId); if (!userGuild) return resResult(STATUS.WRONG_PARMS); const { guildCode: code } = userGuild; diff --git a/game-server/app/services/guildService.ts b/game-server/app/services/guildService.ts index dc32ee013..181c00763 100644 --- a/game-server/app/services/guildService.ts +++ b/game-server/app/services/guildService.ts @@ -212,27 +212,20 @@ export async function getUserGuildWithRefActive(roleId: string, select?: string) let userGuild = await UserGuildModel.getMyGuild(roleId, select ? select + ' wishGoods +refTimeDaily' : '+refTimeDaily'); // console.log(JSON.stringify(userGuild)) if (!userGuild) return false; - return await refreshUserGuild(userGuild, roleId); -} - -export async function refreshUserGuild(userGuild: UserGuildType, roleId: string) { - if(!userGuild) return false; - let { receivedActive, refTimeDaily, activeDaily, activeRecord, wishGoods, receivedWishPool, receiveBoxs } = userGuild; + let { receivedActive, refTimeDaily, guildCode, wishGoods, receiveBoxs } = userGuild; const now = new Date(); let isRefDaily = shouldRefresh(refTimeDaily, now); // console.log('####### isRefDaily', isRefDaily, refTimeDaily, now) if (isRefDaily) { + userGuild = await UserGuildModel.resetDailyInfo(roleId); + if (!userGuild) return false; if(refTimeDaily) { await sendUnreceivedWishPool(wishGoods, roleId); - await sendUnreceivedActiveBox(roleId, userGuild.guildCode, refTimeDaily, receivedActive); - await sendUnreceivedDonateBox(roleId, userGuild.guildCode, refTimeDaily, receiveBoxs); + await sendUnreceivedActiveBox(roleId, guildCode, refTimeDaily, receivedActive); + await sendUnreceivedDonateBox(roleId, guildCode, refTimeDaily, receiveBoxs); await sendUnreceivedBossWar(roleId, refTimeDaily); } - receivedActive = []; refTimeDaily = now; activeDaily = 0; activeRecord = []; wishGoods = []; receivedWishPool = [], receiveBoxs = []; - let wishDntCnt = 0, donateCnt = 0; - userGuild = await UserGuildModel.updateInfo(roleId, { receivedActive, refTimeDaily, activeDaily, activeRecord, wishGoods, receiveBoxs, wishDntCnt, donateCnt, receivedWishPool }, {}); - if (!userGuild) return false; } return userGuild; diff --git a/gm-server/typings/config/plugin.d.ts b/gm-server/typings/config/plugin.d.ts index d789dcfce..39c01f0fb 100644 --- a/gm-server/typings/config/plugin.d.ts +++ b/gm-server/typings/config/plugin.d.ts @@ -31,6 +31,5 @@ declare module 'egg' { jsonp?: EggPluginItem; view?: EggPluginItem; cors?: EggPluginItem; - xtransit?: EggPluginItem; } } \ No newline at end of file diff --git a/shared/db/UserGuild.ts b/shared/db/UserGuild.ts index 6c9f79f43..ae844bece 100644 --- a/shared/db/UserGuild.ts +++ b/shared/db/UserGuild.ts @@ -225,6 +225,14 @@ export default class UserGuild extends BaseModel { const result: UserGuildType = await UserGuildModel.findOneAndUpdate({ roleId, status: USER_GUILD_STATUS.ON, 'wishGoods.id': id }, { $inc: { 'wishGoods.$.receiveCnt': 1, 'wishGoods.$.drawCnt': 1}, $push:{'wishGoods.$.donateNames': dntRoleName} }, { new: true }).select(select).lean(); return result; } + + + public static async resetDailyInfo(roleId: string) { + const result: UserGuildType = await UserGuildModel.findOneAndUpdate({ roleId, status: USER_GUILD_STATUS.ON }, { $set: { + receivedActive: [], refTimeDaily: new Date(), activeDaily: 0, activeRecord: [], wishGoods: [], receivedWishPool: [], receiveBoxs: [], wishDntCnt: 0, donateCnt: 0 + } }, { new: true }).lean(); + return result; + } } export const UserGuildModel = getModelForClass(UserGuild);