diff --git a/game-server/app/servers/role/handler/authorBookHandler.ts b/game-server/app/servers/role/handler/authorBookHandler.ts index 28d169876..aa4a27bb7 100644 --- a/game-server/app/servers/role/handler/authorBookHandler.ts +++ b/game-server/app/servers/role/handler/authorBookHandler.ts @@ -1,19 +1,13 @@ import { Application, BackendSession, HandlerService, } from "pinus"; -import { STATUS, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON, TASK_TYPE } from "../../../consts"; -import { ArtifactModel, ArtifactModelType, ArtifactModelUpdate } from "../../../db/Artifact"; -import { HeroModel } from "../../../db/Hero"; -import { ArtifactParam } from "../../../domain/roleField/hero"; -import { gameData, getArtifactByGidAndType, getArtifactStageZero, getArtifactWithQuality, getDicArtifactLvByPlanId, getDicAuthorBookSub, getNextArtifact } from "../../../pubUtils/data"; -import { ARTIFACT, BAG } from "../../../pubUtils/dicParam"; -import { ItemInter, RewardInter } from "../../../pubUtils/interface"; +import { STATUS, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON } from "../../../consts"; +import { gameData, getDicAuthorBookSub } from "../../../pubUtils/data"; +import { RewardInter } from "../../../pubUtils/interface"; -import { resResult, parseGoodStr, arrToMap, genCode } from "../../../pubUtils/util"; -import { checkArtifactCanCompose, getRebuildConsume, hasArtifactStrength } from "../../../services/equipService"; -import { calculateCeWithHero, calculateCeWithRole } from "../../../services/playerCeService"; +import { resResult } from "../../../pubUtils/util"; +import { calculateCeWithRole } from "../../../services/playerCeService"; import { CheckMeterial } from "../../../services/role/checkMaterial"; import { addItems, handleCost } from "../../../services/role/rewardService"; import { combineItems } from "../../../services/role/util"; -import { checkTask } from "../../../services/task/taskService"; import { AuthorBookModel } from "../../../db/AuthorBook"; import { checkAuthorBookLimit, replaceAuthorBooks } from "../../../services/roleService"; @@ -47,12 +41,10 @@ export class AuthorsBookHandler { // 英灵是否够 let check = new CheckMeterial(roleId); let isEnough = await check.decreaseItemsContinue(dicAuthorsBookSub.spirits); - console.log('@@@@@@@@@@ isEnough', isEnough, dicAuthorsBookSub.spirits) let useItemCnt = 0; if(useItem) { // 使用英灵石代替 if(!isEnough) { let notEnoughItems = check.getNotEnoughItems(); - console.log('@@@@@@@@ getNotEnoughItems', notEnoughItems) let replaceItems: RewardInter[] = []; for(let [ id, count ] of notEnoughItems) { let dicSpirit = gameData.spirit.get(id); diff --git a/game-server/app/servers/role/handler/friendHandler.ts b/game-server/app/servers/role/handler/friendHandler.ts index 48caab370..3c42df081 100644 --- a/game-server/app/servers/role/handler/friendHandler.ts +++ b/game-server/app/servers/role/handler/friendHandler.ts @@ -30,6 +30,7 @@ import { CalCe } from "../../../services/role/calCe"; import { getSchoolPoint } from "../../../services/roleService"; import { LadderMatchModel } from "../../../db/LadderMatch"; import { ArtifactModel } from "../../../db/Artifact"; +import { AuthorBookModel } from "../../../db/AuthorBook"; export default function (app: Application) { @@ -745,6 +746,8 @@ export class FriendHandler { let school = await getSchoolPoint(hisRoleId); + let authorBooks = await AuthorBookModel.findByRoleId(hisRoleId, '-_id bookId progress'); + let myRoleCe = await RoleCeModel.findByRoleId(roleId); if (!myRoleCe) return resResult(STATUS.ROLE_NOT_FOUND); let mycalCe = new CalCe(roleId); @@ -776,6 +779,7 @@ export class FriendHandler { mycalCe.calSingleGlobalPartCe(hero.hid, 'scroll'), mycalCe.calSingleGlobalPartCe(hero.hid, 'teraph') ) + heroParam.setAuthorBook(authorBooks); list.push(heroParam); } diff --git a/game-server/app/services/role/checkMaterial.ts b/game-server/app/services/role/checkMaterial.ts index 4c45dfa91..cc5b20a60 100644 --- a/game-server/app/services/role/checkMaterial.ts +++ b/game-server/app/services/role/checkMaterial.ts @@ -49,9 +49,7 @@ export class CheckMeterial { this.notEnoughItems.clear(); let { items, gold, coin } = sortItems(goods, HANDLE_REWARD_TYPE.COST); for(let { id, count} of items) { - console.log('#####', id, count) let notEnoughCount = await this.decreaseItem(id, count); - console.log('##### notEnoughCount', id, notEnoughCount, this.canReplace) if(notEnoughCount > 0) { let isEnough = await this.checkReplaceItem(id, notEnoughCount); if(isEnough) { @@ -100,10 +98,8 @@ export class CheckMeterial { } private async decreaseItem(id: number, count: number) { - console.log('#### decreaseItem 1', id, count); if(!this.itemsIndb.has(id)) { let item = await ItemModel.findbyRoleAndGid(this.roleId, id); - console.log('#### decreaseItem', item); if(!item) { this.pushToNotEnoughItems(id, count); return count; diff --git a/shared/db/AuthorBook.ts b/shared/db/AuthorBook.ts index 31ee45e08..fdb36f4b7 100644 --- a/shared/db/AuthorBook.ts +++ b/shared/db/AuthorBook.ts @@ -1,5 +1,5 @@ import BaseModel from './BaseModel'; -import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose'; +import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; /** * 诸子百家 @@ -28,8 +28,8 @@ export default class AuthorBook extends BaseModel { @prop({ required: true, default: [], type: Author, _id: false }) authors: Author[]; - public static async findByRoleId(roleId: string) { - let result: AuthorBookType[] = await AuthorBookModel.find({ roleId }).select('-_id -roleId').lean(); + public static async findByRoleId(roleId: string, select = '-_id') { + let result: AuthorBookType[] = await AuthorBookModel.find({ roleId }).select(select).lean(); return result; } diff --git a/shared/domain/roleField/friend.ts b/shared/domain/roleField/friend.ts index 914f200ea..5bfbbb8aa 100644 --- a/shared/domain/roleField/friend.ts +++ b/shared/domain/roleField/friend.ts @@ -216,6 +216,7 @@ export class HeroDetailParam { scroll: number; teraph: number; } + authorBooks: { bookId: number, progress: number }[] = []; constructor(hero: HeroType) { this.roleId = hero.roleId; @@ -263,4 +264,8 @@ export class HeroDetailParam { setArtifact(artifact: ArtifactModelType) { this.artifacts.push({ artifactId: artifact.artifactId, lv: artifact.lv }); } + + setAuthorBook(authorBooks: { bookId: number, progress: number }[]) { + this.authorBooks = authorBooks; + } } \ No newline at end of file