From 03dc4e59563aca9a7e45d9b8809db284ff974b94 Mon Sep 17 00:00:00 2001 From: luying Date: Tue, 12 Apr 2022 11:05:45 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E5=8D=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/servers/gm/handler/gmHandler.ts | 18 ++++++++++++------ game-server/app/services/connectorService.ts | 2 +- shared/db/Survery.ts | 5 +++++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/game-server/app/servers/gm/handler/gmHandler.ts b/game-server/app/servers/gm/handler/gmHandler.ts index 082c2e64a..4b0b775ec 100644 --- a/game-server/app/servers/gm/handler/gmHandler.ts +++ b/game-server/app/servers/gm/handler/gmHandler.ts @@ -17,7 +17,7 @@ import { sendUngotDividend } from '../../../services/auctionService'; import { taflush } from '../../../services/sdkService'; import { ActivityInRemote } from '../../../domain/activityField/activityField'; import { pushCurrentTime } from '../../../services/auctionService'; -import { SurveyModel } from '../../../db/Survery'; +import { SurveyModel, SurveyUpdate } from '../../../db/Survery'; import { getSurvey } from '../../../services/gmService'; import { sendMessageToAllWithSuc } from '../../../services/pushService'; let timer: NodeJS.Timer; @@ -389,12 +389,18 @@ export class GmHandler { } async updateSurvey(msg: { code: string, surveyId: string, beginTim: number, endTime: number, isEnable: boolean, surverLink: string, surveyName: string, roleIndex: number, goods: string, mailContent: string }, session: BackendSession) { - - let reward = JSON.parse(msg.goods); - - let result = await SurveyModel.updateSurvey(msg.code, {...msg, reward}, SURVEY_SELECT.FIND); + let update: SurveyUpdate = msg; + if(msg.goods) { + let reward = JSON.parse(msg.goods); + update.reward = reward; + } + let origin = await SurveyModel.findByCode(msg.code); + let result = await SurveyModel.updateSurvey(msg.code, update, SURVEY_SELECT.FIND); if(!result) return resResult(STATUS.WRONG_PARMS); - await sendMessageToAllWithSuc(PUSH_ROUTE.UPDATE_SURVEY, { survey: result }); + + if(origin && origin.isEnable != result.isEnable) { + await sendMessageToAllWithSuc(PUSH_ROUTE.UPDATE_SURVEY, { survey: result }); + } return resResult(STATUS.SUCCESS); } diff --git a/game-server/app/services/connectorService.ts b/game-server/app/services/connectorService.ts index c1fe0da48..0141034e8 100644 --- a/game-server/app/services/connectorService.ts +++ b/game-server/app/services/connectorService.ts @@ -77,7 +77,7 @@ const modules = [ { id: 23, type: 'guildActivity', init: false, refresh: true, guild: true }, { id: 24, type: 'donate', init: false, refresh: true, guild: true }, { id: 25, type: 'shop', init: false, refresh: true, guild: false }, - { id: 26, type: 'survey', init: false, refresh: false, guild: false }, + { id: 26, type: 'survey', init: false, refresh: true, guild: false }, ] export async function pushData(hasInit: boolean, role: RoleType, session: FrontendOrBackendSession, pushType: 'entry' | 'refresh' = 'entry') { diff --git a/shared/db/Survery.ts b/shared/db/Survery.ts index 768180180..272b8afaf 100644 --- a/shared/db/Survery.ts +++ b/shared/db/Survery.ts @@ -52,6 +52,11 @@ export default class Survey extends BaseModel { return rec; } + public static async findByCode(code: string) { + let rec: SurveyType = await SurveyModel.findOne({ code }).lean(); + return rec; + } + public static async updateSurvey(code: string, param: SurveyUpdate, select = '') { if(code == 'new') code = genCode(6); let rec: SurveyType = await SurveyModel.findOneAndUpdate({ code }, { $set: {...param, code} }, {new: true, upsert: true}).select(select).lean();