From 28bc9118bc673745af776c9fee602545aa9e85c5 Mon Sep 17 00:00:00 2001 From: liangtongchuan Date: Fri, 4 Dec 2020 18:10:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BB=E5=AE=9D=EF=BC=9A=E8=97=8F=E5=AE=9D?= =?UTF-8?q?=E5=9B=BE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../battle/handler/comBattleHandler.ts | 21 ++++++++++++++++++- shared/db/Item.ts | 10 +++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/game-server/app/servers/battle/handler/comBattleHandler.ts b/game-server/app/servers/battle/handler/comBattleHandler.ts index 2cb204c06..1c9e5e6ad 100644 --- a/game-server/app/servers/battle/handler/comBattleHandler.ts +++ b/game-server/app/servers/battle/handler/comBattleHandler.ts @@ -4,7 +4,7 @@ * @Last Modified by: 梁桐川 * @Last Modified time: 2020-12-03 21:36:00 */ -import { IT_TYPE, GOLD_COST_RATIO, CURRENCY_BY_TYPE, CURRENCY_TYPE, COM_TEAM_STATUS, COM_BTL_CONST, GOOD_QUALITY } from './../../../consts/consts'; +import { IT_TYPE, GOLD_COST_RATIO, CURRENCY_BY_TYPE, CURRENCY_TYPE, COM_TEAM_STATUS, COM_BTL_CONST, GOOD_QUALITY, CONSUME_TYPE } from './../../../consts/consts'; import { getGoodById, getBossHpByBlueprtId, getComBtlSetByQuality, getBlueprtComposeByQuality, getBluePrtByQuality, getWarById, getWarIdByBlueprtId } from '../../../pubUtils/gamedata'; import { ComBattleTeamModel, BossHp } from '../../../db/ComBattleTeam'; import Role, { RoleModel } from '../../../db/Role'; @@ -751,6 +751,25 @@ export class ComBattleHandler { return resResult(STATUS.SUCCESS, {teamInfos: teams}); } + /** + * @description 获取藏宝图数量 + * @param {{ids: Array}} msg 藏宝图Id数组,可选参数 + * @param {BackendSession} session + * @returns + * @memberof ComBattleHandler + */ + async getBlueprtCount(msg: {ids: Array}, session: BackendSession) { + let roleId = session.get('roleId'); + let { ids } = msg; + let blueprts; + if (ids && ids.length) { + blueprts = await ItemModel.findbyRoleAndIds(roleId, ids); + } else { + blueprts = await ItemModel.findByRoleAndType(roleId, CONSUME_TYPE.BLUEPRT); + } + return resResult(STATUS.SUCCESS, { blueprts }); + } + /** * @description 藏宝图合成 * @param {{original: Array<{id: number, count: number}>}} msg diff --git a/shared/db/Item.ts b/shared/db/Item.ts index d9375b206..88217788a 100644 --- a/shared/db/Item.ts +++ b/shared/db/Item.ts @@ -26,6 +26,16 @@ export default class Item extends BaseModel { return items; } + public static async findbyRoleAndIds(roleId: string, ids: Array, lean = true) { + const items = await ItemModel.find({ roleId, id: {$in: ids} }).select('id count type').lean(lean); + return items; + } + + public static async findByRoleAndType(roleId: string, type: number, lean = true) { + const items = await ItemModel.find({ roleId, type }).select('id count type').lean(lean); + return items; + } + public static async findbyRoleAndGidAndCount(roleId: string, id: number, count: number, lean = true) { const items = await ItemModel.findOne({ roleId, id, count: {$gte: count} }).select('id count type').lean(lean); return items;