From ca86d772fe8da29ad2e5dcfcf05db68f254f719c Mon Sep 17 00:00:00 2001 From: luying Date: Sat, 11 Sep 2021 14:37:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=EF=BC=9A=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=A2=86=E5=8F=96=E5=A5=96=E5=8A=B1=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/role/handler/rankHandler.ts | 12 +++++------- game-server/app/services/rankService.ts | 5 +++-- shared/consts/constModules/sysConst.ts | 6 ++++++ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/game-server/app/servers/role/handler/rankHandler.ts b/game-server/app/servers/role/handler/rankHandler.ts index 3b7d576c7..018384624 100644 --- a/game-server/app/servers/role/handler/rankHandler.ts +++ b/game-server/app/servers/role/handler/rankHandler.ts @@ -1,6 +1,6 @@ import { Application, BackendSession, HandlerService, } from "pinus"; import { resResult } from "../../../pubUtils/util"; -import { STATUS, RANK_TYPE_TO_KEY, ROLE_SELECT, RANK_TYPE, HERO_SELECT, GUILD_SELECT } from "../../../consts"; +import { STATUS, RANK_TYPE_TO_KEY, ROLE_SELECT, RANK_TYPE, HERO_SELECT, GUILD_SELECT, RANK_FIRST_REWARD_STATUS } from "../../../consts"; import { RoleModel } from "../../../db/Role"; import { UserGuildModel } from "../../../db/UserGuild"; import { GuildModel } from "../../../db/Guild"; @@ -186,16 +186,14 @@ export class RoleHandler { role = await RoleModel.receiveRankReward(roleId, canReceiveId); if (canReceiveId.length <= 0) return resResult(STATUS.REWARD_CONDITION_NOT_REACH); - let received = role.rankReceived.filter(rewardId => { - let dic = gameData.generalRankReward.get(rewardId); - return dic && dic.rankId == type; - }); + let rewardStatus = canReceiveId.map(id => { + return { id, type, status: RANK_FIRST_REWARD_STATUS.RECEIVED } + }) let goods = await addItems(roleId, roleName, sid, rewards); return resResult(STATUS.SUCCESS, { - type: type, - received, + rewards: rewardStatus, goods }) } diff --git a/game-server/app/services/rankService.ts b/game-server/app/services/rankService.ts index e9c72eda6..95862e0e9 100644 --- a/game-server/app/services/rankService.ts +++ b/game-server/app/services/rankService.ts @@ -12,6 +12,7 @@ import { getWorldChannelSid } from "./chatChannelService"; import { pinus } from "pinus"; import { RankFirstModel, RankFirstType, RankFirstUpdateParam } from "../db/RankFirst"; import { getRandSingleEelm } from "../pubUtils/util"; +import { RANK_FIRST_REWARD_STATUS } from '../consts'; /** @@ -1064,10 +1065,10 @@ export async function getGeneralRank(role: RoleType & { rankReceived: number[] } } if(rankFirst) { - let status = rankReceived.includes(id)?2: 1; + let status = rankReceived.includes(id)?RANK_FIRST_REWARD_STATUS.RECEIVED: RANK_FIRST_REWARD_STATUS.CAN_RECEIVE; result.push({...rankFirst, status}); } else { - result.push({ id, type, status: 0 }); + result.push({ id, type, status: RANK_FIRST_REWARD_STATUS.WAITING }); } } return result; diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index bcd87a4e7..5c2a79da4 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -716,4 +716,10 @@ export enum ROBOT_SYS_TYPE { export enum KING_EXP_RATIO_TYPE { TASK = 1, BATTLE = 2, +} + +export enum RANK_FIRST_REWARD_STATUS { + WAITING = 0, // 不可领取 + CAN_RECEIVE = 1, // 可领取 + RECEIVED = 2, // 已领取 } \ No newline at end of file