diff --git a/game-server/app/servers/guild/handler/donateHandler.ts b/game-server/app/servers/guild/handler/donateHandler.ts index 25f099fe2..8be49224c 100644 --- a/game-server/app/servers/guild/handler/donateHandler.ts +++ b/game-server/app/servers/guild/handler/donateHandler.ts @@ -12,7 +12,7 @@ import { addFund, getDonation } from '../../../services/donateService'; import { getUserGuildWithRefActive, refreshUserGuild } from '../../../services/guildService'; import { ARMY } from '../../../pubUtils/dicParam'; import { addActive } from '../../../services/guildService' -import { checkTask } from '../../../services/task/taskService'; +import { checkTask, checkTaskInDonate } from '../../../services/task/taskService'; import { guildInter } from '../../../pubUtils/interface'; import { lockData } from '../../../services/redLockService'; import { getVipDonateConsume } from '../../../services/activity/monthlyTicketService'; @@ -100,9 +100,8 @@ export class DonationHandler { //增加基金 await addFund(code, serverId, rewardFund); + await checkTaskInDonate(serverId, roleId, sid, cosume); await addActive(roleId, serverId, GUILD_POINT_WAYS.DONATE, id); - // 任务 - await checkTask(serverId, roleId, sid, TASK_TYPE.GUILD_DONATE); res.releaseCallback(); return resResult(STATUS.SUCCESS, { donateFund, reports, donateCnt, simpleGoods: goods }); } catch (e) { diff --git a/game-server/app/services/task/taskObj.ts b/game-server/app/services/task/taskObj.ts index 122bb742e..d19f06fff 100644 --- a/game-server/app/services/task/taskObj.ts +++ b/game-server/app/services/task/taskObj.ts @@ -818,7 +818,7 @@ export class CheckSingleTask { } break; } - case TASK_TYPE.GUILD_DONATE: // 64. 军团捐献x次 + case TASK_TYPE.GUILD_GOLD_DONATE: // 64. 军团捐献x次 { result = { inc: 1 }; break; @@ -1282,6 +1282,11 @@ export class CheckSingleTask { } break; } + case TASK_TYPE.GUILD_GOLD_DONATE: // 120. 军团元宝捐献x次 + { + result = { inc: 1 }; + break; + } } return result } diff --git a/game-server/app/services/task/taskService.ts b/game-server/app/services/task/taskService.ts index 481be404a..9e190328a 100644 --- a/game-server/app/services/task/taskService.ts +++ b/game-server/app/services/task/taskService.ts @@ -5,7 +5,7 @@ import { STATUS, TASK_TYPE, TASK_FUN_TYPE, SHOP_REFRESH_TYPE, WAR_TYPE, PUSH_ROU import { TaskParamInter, TaskListReturn } from '../../domain/roleField/task'; import { EPlace, HeroType } from '../../db/Hero'; import { HeroScores } from '../../db/PvpHistoryOpp'; -import { ItemInter } from '../../pubUtils/interface'; +import { ItemInter, RewardInter } from '../../pubUtils/interface'; import { UserTaskModel, UserTaskType } from '../../db/UserTask'; import { UserTaskRecModel } from '../../db/UserTaskRec'; import { UserTaskHistoryModel } from '../../db/UserTaskHistory'; @@ -18,6 +18,7 @@ import { getEquipById } from '../equipService'; import { JewelType } from '../../db/Jewel'; import { checkPopUpCondition, checkPopUpConditionInCreateHero, checkPopUpConditionInEntry } from '../activity/popUpShopService'; import { sendMessageToUserWithSuc } from '../pushService'; +import { getGoldId } from '../role/rewardService'; export async function checkTaskWithRoles(serverId: number, roleId: string, sid: string, taskType: TASK_TYPE, roles: RoleType[]) { for (let role of roles) { @@ -297,6 +298,14 @@ export async function checkTaskInComposeStone(serverId: number, roleId: string, await checkTask(serverId, roleId, sid, TASK_TYPE.STONE_COMPOSE, { count }); } +export async function checkTaskInDonate(serverId: number, roleId: string, sid: string, cosume: RewardInter) { + let task = new CheckTask(serverId, roleId); + task.setParam(TASK_TYPE.GUILD_DONATE, {}); + if(cosume.id == getGoldId()) { + task.setParam(TASK_TYPE.GUILD_GOLD_DONATE, {}); + } + await task.saveAndPush(sid); +} // 获取task状态 export async function getCurTask(roleId: string, session: FrontendOrBackendSession) { diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index bf7b8f9c9..d32921c2d 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -744,6 +744,7 @@ export enum TASK_TYPE { COM_BATTLE_WIN = 117, // 寻宝胜利x次 BATTLE_EXPEDITION_START = 118, // 挑战远征x次 BATTLE_DUNGEON_START = 119, // 挑战秘境x次 + GUILD_GOLD_DONATE = 120, // 军团元宝捐献x次 } // 任务累积类型 diff --git a/shared/resource/jsons/dic_zyz_taskType.json b/shared/resource/jsons/dic_zyz_taskType.json index 16c956357..0b6a66861 100644 --- a/shared/resource/jsons/dic_zyz_taskType.json +++ b/shared/resource/jsons/dic_zyz_taskType.json @@ -998,5 +998,15 @@ "content": "进入战场点击挑战即算次数", "condition": "count", "sumType": 2 + }, + { + "id": 120, + "name": "军团", + "info": "军团元宝捐献x次", + "param": "count&", + "string": "捐献次数&", + "content": "捐献", + "condition": "count", + "sumType": 2 } ] \ No newline at end of file