feat(db): 修改hero表数据库操作方式

This commit is contained in:
liangtongchuan
2023-05-06 17:07:48 +08:00
parent 3f3c1af549
commit 297e1af7ee
27 changed files with 133 additions and 137 deletions

View File

@@ -1,7 +1,7 @@
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 Hero from "../../../db/Hero";
import { ArtifactParam } from "../../../domain/roleField/hero";
import { gameData, getArtifactByGidAndType, getArtifactStageZero, getArtifactWithQuality, getDicArtifactLvByPlanId, getNextArtifact } from "../../../pubUtils/data";
import { ARTIFACT, BAG } from "../../../pubUtils/dicParam";
@@ -32,7 +32,7 @@ export class ArtifactHandler {
let serverId: number = session.get('serverId');
let { seqId, hid, isExtendLv } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let chosenArtifact = await ArtifactModel.findbySeqId(roleId, seqId);
@@ -59,7 +59,7 @@ export class ArtifactHandler {
if(artifactOfHero) artifacts.push(artifactOfHero);
}
if(chosenArtifact.hid != 0) {
let heroOfChosenArtifact = await HeroModel.findByHidAndRole(chosenArtifact.hid, roleId); // 我想要的宝物的原持有者
let heroOfChosenArtifact = await Hero.findByHidAndRole(chosenArtifact.hid, roleId); // 我想要的宝物的原持有者
if(heroOfChosenArtifact) {
await calculateCeWithHero(HERO_SYSTEM_TYPE.PUT_OFF_ARTIFACT, roleId, serverId, sid, heroOfChosenArtifact.hid, { artifact: 0 }); // 对方卸下
}
@@ -84,7 +84,7 @@ export class ArtifactHandler {
let chosenArtifact = await ArtifactModel.findbySeqId(roleId, seqId);
if(!chosenArtifact) return resResult(STATUS.ARTIFACT_IS_NOT_FIND);
let heroOfChosenArtifact = await HeroModel.findByHidAndRole(chosenArtifact.hid, roleId); // 我想要的宝物的原持有者
let heroOfChosenArtifact = await Hero.findByHidAndRole(chosenArtifact.hid, roleId); // 我想要的宝物的原持有者
if(!heroOfChosenArtifact) return resResult(STATUS.ARTIFACT_IS_NOT_EQUIPED);
chosenArtifact = await ArtifactModel.putOnOrOff(roleId, seqId, 0);
@@ -185,7 +185,7 @@ export class ArtifactHandler {
let { quality, qualityStage, artifactId, goodId } = dicNextArtifact;
originArtifact = await ArtifactModel.updateInfoBySeqId(roleId, seqId, { quality, qualityStage, artifactId, id: goodId });
if(originArtifact.hid > 0) {
let hero = await HeroModel.findByHidAndRole(originArtifact.hid, roleId);
let hero = await Hero.findByHidAndRole(originArtifact.hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
await calculateCeWithHero(HERO_SYSTEM_TYPE.ARTIFACT_QUALITY, roleId, serverId, sid, originArtifact.hid, {}, { artifact: originArtifact, job: hero.job, skinId: hero.skinId });
await checkTask(serverId, roleId, sid, TASK_TYPE.ARTIFACT_QUALITY_EQUIP, { artifacts: [originArtifact] });
@@ -271,7 +271,7 @@ export class ArtifactHandler {
let { artifactId, goodId } = dicTargetArtifact;
artifact = await ArtifactModel.updateInfoBySeqId(roleId, seqId, { artifactId, id: goodId });
if(artifact.hid > 0) {
let hero = await HeroModel.findByHidAndRole(artifact.hid, roleId);
let hero = await Hero.findByHidAndRole(artifact.hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
await calculateCeWithHero(HERO_SYSTEM_TYPE.ARTIFACT_TRANSFER, roleId, serverId, sid, artifact.hid, {}, { artifact, job: hero.job, skinId: hero.skinId });
}
@@ -315,7 +315,7 @@ export class ArtifactHandler {
let { artifactId, goodId, quality, qualityStage } = dicArtifactZero;
let result = await ArtifactModel.updateInfoBySeqId(roleId, artifact.seqId, { artifactId, id: goodId, quality, qualityStage, lv: 0 });
if(result && result.hid > 0) {
let hero = await HeroModel.findByHidAndRole(result.hid, roleId);
let hero = await Hero.findByHidAndRole(result.hid, roleId);
await calculateCeWithHero(HERO_SYSTEM_TYPE.ARTIFACT_REBUILD, roleId, serverId, sid, result.hid, {}, { artifact: result, skinId: hero.skinId, job: hero.job });
}
returnArtifact.push(new ArtifactParam(result));

View File

@@ -4,7 +4,7 @@ import { ItemInter, RewardInter } from "../../../pubUtils/interface";
import { resResult, parseGoodStr } from "../../../pubUtils/util";
import { addItems, getJewelRandSe, handleCost } from "../../../services/role/rewardService";
import { HeroModel, EPlace } from "../../../db/Hero";
import Hero, { EPlace } from "../../../db/Hero";
import { gameData, getEquipByJobClassAndEPlace, getNextEquipQuality, getEquipStarIdByEquipId, getNextEquipStar } from "../../../pubUtils/data";
import { BAG, EQUIP } from "../../../pubUtils/dicParam";
import { getRandSeResult, updateEplace, updateEplaces, checkJewelCanPutOnEquip, updateStone, checkStoneCanPutOnEquip, isLocked } from "../../../services/equipService";
@@ -36,7 +36,7 @@ export class EquipHandler {
let { hid, ePlaceId } = msg;
if(!isNumber(ePlaceId) || ePlaceId > 4 || ePlaceId < 1) return resResult(STATUS.WRONG_PARMS);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[];
@@ -77,7 +77,7 @@ export class EquipHandler {
let { hid, ePlaceId, isOneClick } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[];
let curEquip = oldEplace.find(cur => cur.id == ePlaceId);
@@ -123,7 +123,7 @@ export class EquipHandler {
let sid: string = session.get('sid');
let { hid, lv } = msg; // lv: 升到哪一级
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let { ePlace, lv: playerLv } = hero; // 装备栏
@@ -176,7 +176,7 @@ export class EquipHandler {
let sid: string = session.get('sid');
let { hid, ePlaceId, isOneClick } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[];
@@ -247,7 +247,7 @@ export class EquipHandler {
let sid: string = session.get('sid');
let { hid, ePlaceId, isOneClick } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[];
@@ -329,7 +329,7 @@ export class EquipHandler {
let sid: string = session.get('sid');
let serverId: number = session.get('serverId');
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[];
@@ -346,7 +346,7 @@ export class EquipHandler {
let originJewel = curEquip.jewel? await JewelModel.findbySeqId(curEquip.jewel): null; // 原本自己的天晶石
let canSentMineToOrigin = false; // 自己的能不能塞到对方身上
if(jewel.hid != 0) { // 如果天晶石原本镶嵌在其他武将身上,把自己的给他
let originHero = await HeroModel.findByHidAndRole(jewel.hid, roleId);
let originHero = await Hero.findByHidAndRole(jewel.hid, roleId);
let originEplace = originHero?.ePlace||[];
let originEquip = originEplace.find(cur => cur.jewel == seqId);
if(originEquip) {
@@ -384,7 +384,7 @@ export class EquipHandler {
let sid: string = session.get('sid');
let serverId: number = session.get('serverId');
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[];
@@ -413,7 +413,7 @@ export class EquipHandler {
let sid: string = session.get('sid');
let serverId: number = session.get('serverId');
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[];
@@ -566,7 +566,7 @@ export class EquipHandler {
let newJewel = await JewelModel.updateInfo(seqId, { previewRandSe: [], randSe: previewRandSe });
// 更新战力
if(hid > 0) {
const hero = await HeroModel.findByHidAndRole(hid, roleId);
const hero = await Hero.findByHidAndRole(hid, roleId);
await calculateCeWithHero(HERO_SYSTEM_TYPE.JEWEL_RESET_RANDSE, roleId, serverId, sid, hid, { ePlace: hero.ePlace }, { ePlaceId, jewel: newJewel, skinId: hero.skinId });
}
@@ -648,7 +648,7 @@ export class EquipHandler {
let newJewel = await JewelModel.quench(seqId, isSuccess, newRandSe.rand);
// 更新战力
if(isSuccess && hid > 0) {
const hero = await HeroModel.findByHidAndRole(hid, roleId);
const hero = await Hero.findByHidAndRole(hid, roleId);
await calculateCeWithHero(HERO_SYSTEM_TYPE.JEWEL_QUENCH, roleId, serverId, sid, hid, { ePlace: hero.ePlace }, { ePlaceId, jewel: newJewel, skinId: hero.skinId });
}
@@ -769,7 +769,7 @@ export class EquipHandler {
let newJewel = await JewelModel.updateInfo(targetJewel.seqId, { previewRandSe: [], randSe: newRandSe });
// 更新战力
if(targetJewel.hid > 0) {
const hero = await HeroModel.findByHidAndRole(targetJewel.hid, roleId);
const hero = await Hero.findByHidAndRole(targetJewel.hid, roleId);
await calculateCeWithHero(HERO_SYSTEM_TYPE.JEWEL_RESET_RANDSE, roleId, serverId, sid, targetJewel.hid, { ePlace: hero.ePlace }, { ePlaceId: targetJewel.ePlaceId, jewel: newJewel, skinId: hero.skinId });
}

View File

@@ -14,7 +14,7 @@ import { gameData, getDicFriendByLv } from "../../../pubUtils/data";
import { addItems, getFriendPointObject, handleCost } from "../../../services/role/rewardService";
import { RewardInter } from "../../../pubUtils/interface";
import { FriendPresentLogModel } from '../../../db/FriendPresentLog';
import { HeroModel, EPlace } from "../../../db/Hero";
import Hero, { EPlace } from "../../../db/Hero";
import { FRIEND } from "../../../pubUtils/dicParam";
import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guild";
import { createPrivateMsg, delPrivateMsg, privateRoomId, pushMsgToRole, pushPresent } from "../../../services/chatService";
@@ -688,7 +688,7 @@ export class FriendHandler {
let result: PlayerDetail;
let dbHeroes = await HeroModel.findAndSortByCe(oppoRoleId);
let dbHeroes = await Hero.findAndSortByCe(oppoRoleId);
let role = await Role.findByRoleId(oppoRoleId, null, true);
if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
@@ -737,7 +737,7 @@ export class FriendHandler {
let roleCe = await RoleCeModel.findByRoleId(hisRoleId);
if (!roleCe) return resResult(STATUS.ROLE_NOT_FOUND);
let heroList = await HeroModel.findByHidRange(hids, hisRoleId, HERO_SELECT.HERO_DETAIL, true);
let heroList = await Hero.findByHidRange(hids, hisRoleId, HERO_SELECT.HERO_DETAIL, true);
if (heroList.length <= 0) return resResult(STATUS.HERO_NOT_FIND);
let jewels = await JewelModel.findMapbyRoleAndHids(hisRoleId, hids);

View File

@@ -2,7 +2,7 @@ import { Application, BackendSession, ChannelService, HandlerService, } from 'pi
import { handleCost, addItems, unlockFigure, getCoinObject, getGoldObject } from '../../../services/role/rewardService';
import { resResult, deepCopy, parseGoodStr } from '../../../pubUtils/util';
import { STATUS } from '../../../consts/statusCode';
import { HeroModel, Connect, HeroSkin, HeroUpdate, EPlace, Talent } from '../../../db/Hero';
import Hero, { Connect, HeroSkin, HeroUpdate, EPlace, Talent } from '../../../db/Hero';
import { CURRENCY_BY_TYPE, CURRENCY_TYPE, CONSUME_TYPE, HERO_GROW_MAX, HERO_SYSTEM_TYPE, ABI_STAGE, DEBUG_MAGIC_WORD, HERO_INITIAL_QUALITY, REDIS_KEY, TASK_TYPE, ITEM_CHANGE_REASON, CHECK_HERO_CONSUME } from '../../../consts';
import Role from '../../../db/Role';
import { ItemModel } from '../../../db/Item';
@@ -55,7 +55,7 @@ export class HeroHandler {
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
// 检查是否存在武将
let hasHero = await HeroModel.findByHidAndRole(hid, roleId);
let hasHero = await Hero.findByHidAndRole(hid, roleId);
if (hasHero) return resResult(STATUS.ROLE_HERO_EXISTS);
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
let { pieceId, pieceCount } = dicHero;
@@ -87,7 +87,7 @@ export class HeroHandler {
return resResult(STATUS.ROLE_HERO_LV_TYPE_ERROR);
}
// 计算武将可以升的级数
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let { lv: playerLv } = await Role.findByRoleId(roleId);
let { lv: oldLv, exp: oldExp } = hero;
@@ -160,7 +160,7 @@ export class HeroHandler {
let dicJob = gameData.job.get(jobid);
if (!dicJob) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let { star: oldStar, starStage: oldStarStage, quality } = hero;
@@ -223,7 +223,7 @@ export class HeroHandler {
// 根据dic_hero 获得 碎片id
let { pieceId } = dicHero;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let { quality: oldQuality, star } = hero;
// if (quality != oldQuality) {
@@ -277,7 +277,7 @@ export class HeroHandler {
let dicJob = gameData.job.get(jobid);
if (!dicJob) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let { colorStar: oldColorStar, colorStarStage: oldColorStarStage, star, quality } = hero;
@@ -347,7 +347,7 @@ export class HeroHandler {
let { hid, isOneClick, canReplace = false } = msg;
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let dicJob = gameData.job.get(hero.job);
@@ -400,7 +400,7 @@ export class HeroHandler {
let { hid } = msg;
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero)
return resResult(STATUS.HERO_NOT_FIND);
let curJob = hero.job;
@@ -442,7 +442,7 @@ export class HeroHandler {
let dicFriendShip = getFriendShipByIdAndLv(hid, shipId, 1);
if(!dicFriendShip) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let heroes = await HeroModel.findByHidRange(dicFriendShip.hids, roleId);
let heroes = await Hero.findByHidRange(dicFriendShip.hids, roleId);
if (heroes.length < dicFriendShip.hids.length) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let hero = heroes.find(cur => cur.hid == hid);
if(!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
@@ -526,7 +526,7 @@ export class HeroHandler {
if (!dicSkin) return resResult(STATUS.HERO_SKIN_NOT_FIND);
if(isHeroHidden(dicSkin.actorId)) return resResult(STATUS.HERO_IS_HIDDEN);
let hero = await HeroModel.findByHidAndRole(dicSkin.actorId, roleId);
let hero = await Hero.findByHidAndRole(dicSkin.actorId, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let newHeroSkins: HeroSkin[] = [];
@@ -578,7 +578,7 @@ export class HeroHandler {
let roleId: string = session.get('roleId');
let { hid } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId, 'hid consumes star starStage quality');
let hero = await Hero.findByHidAndRole(hid, roleId, 'hid consumes star starStage quality');
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let { consumes} = calStarUpConsume(hero);
@@ -595,7 +595,7 @@ export class HeroHandler {
if(!isNumber(hid) && !hid) return resResult(STATUS.WRONG_PARMS);
// 武将初始,但是皮肤这里不初始
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
// 消耗
@@ -615,7 +615,7 @@ export class HeroHandler {
let newSkins = initSkinTalent(skins);
let newQuality = quality >= 3? ( dicHero.quality >= 3? dicHero.quality: 3 ): quality;
let dicHeroScroll = getScollByStar(dicHero.quality, star, newQuality, dicHero.initialColorStar);
let initInfo = HeroModel.getInitInfo(hid, {
let initInfo = Hero.getInitInfo(hid, {
artifact: hero.artifact,
job: dicJob.jobid, skins: newSkins, skinId, ce,
star, starStage, colorStar: dicHero.initialColorStar, colorStarStage: 0, quality: newQuality,
@@ -661,7 +661,7 @@ export class HeroHandler {
let dicHeroTalent = gameData.heroTalent.get(id);
if(!dicHeroTalent) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let skins = hero.skins||[];
@@ -702,7 +702,7 @@ export class HeroHandler {
let dicHeroTalent = gameData.heroTalent.get(id);
if(!dicHeroTalent) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let skins = hero.skins||[];
@@ -737,7 +737,7 @@ export class HeroHandler {
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let skins = hero.skins||[];
@@ -765,7 +765,7 @@ export class HeroHandler {
let dicHero = gameData.hero.get(hid);
if(!dicHero || dicHero.urType != 1) return resResult(STATUS.HERO_CAN_NOT_SET_SUB);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let subHid = 0;
@@ -775,7 +775,7 @@ export class HeroHandler {
if(!dicHero || dicHero.urType == 1) return resResult(STATUS.HERO_CAN_NOT_BE_SET_SUB);
subHid = dicHero.actorId;
let subHero = await HeroModel.findByHidAndRole(subHid, roleId);
let subHero = await Hero.findByHidAndRole(subHid, roleId);
if(!subHero) return resResult(STATUS.HERO_NOT_FIND);
await LadderMatchModel.removeBySub(roleId, subHid);
@@ -789,7 +789,7 @@ export class HeroHandler {
}
// 设置副将
const { preHid, curHero } = await HeroModel.setSubHero(roleId, hid, subSkinId, subHid);
const { preHid, curHero } = await Hero.setSubHero(roleId, hid, subSkinId, subHid);
return resResult(STATUS.SUCCESS, { preHid, curHero: pick(curHero, ['hid', 'subHid', 'subActorId']) });
}
@@ -807,7 +807,7 @@ export class HeroHandler {
return resResult(STATUS.TOKEN_ERR);
}
await HeroModel.deleteAccount(roleId);
await Hero.deleteAccount(roleId);
await JewelModel.deleteAccount(roleId);
await SkinModel.deleteMany({ roleId });
await SchoolModel.deleteAccount(roleId);
@@ -846,10 +846,10 @@ export class HeroHandler {
id: dicHero.pieceId, count: dicHero.pieceCount * HERO_GROW_MAX.STAR * ABI_STAGE.END
}], ITEM_CHANGE_REASON.DEBUG);
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
await HeroModel.deleteHero(roleId, hid);
await Hero.deleteHero(roleId, hid);
let role = await Role.findByRoleId(roleId);
await PvpDefenseModel.deleteHero(roleId, hid);
await Role.updateRoleInfo(roleId, { topLineup: role.topLineup, topLineupCe: role.topLineupCe, ce: role.ce - hero.ce });
@@ -893,12 +893,12 @@ export class HeroHandler {
if (magicWord !== DEBUG_MAGIC_WORD) {
return resResult(STATUS.TOKEN_ERR);
}
let hero = await HeroModel.findByHidAndRole(hid, roleId);
let hero = await Hero.findByHidAndRole(hid, roleId);
if(!hero) {
let { resultHeroes } = await createHero(roleId, roleName, sid, serverId, { hid, count: 1, ...params });
return resResult(STATUS.SUCCESS, { hero: resultHeroes[0] });
} else {
hero = await HeroModel.updateHeroInfo(roleId, hid, params);
hero = await Hero.updateHeroInfo(roleId, hid, params);
return resResult(STATUS.SUCCESS, { hero: new HeroParam(hero) });
}

View File

@@ -1,6 +1,6 @@
import { STATUS } from '../../../consts/statusCode';
import Role, { RoleUpdate } from './../../../db/Role';
import { HeroModel, HeroType, HeroUpdate } from '../../../db/Hero';
import Hero, { HeroType, HeroUpdate } from '../../../db/Hero';
import { resResult, decodeIdCntArrayStr, parseGoodStr, genCode } from '../../../pubUtils/util';
import { Application, BackendSession, pinus, HandlerService, } from 'pinus';
import { handleCost, addItems, getGoldObject, getCoinObject } from '../../../services/role/rewardService';
@@ -219,7 +219,7 @@ export class RoleHandler {
return resResult(STATUS.ROLE_SCHOOL_HERO_USED);
}
curHero = await HeroModel.findByHidAndRole(hid, roleId);
curHero = await Hero.findByHidAndRole(hid, roleId);
if (!curHero) return resResult(STATUS.HERO_NOT_FIND);
}
@@ -298,7 +298,7 @@ export class RoleHandler {
let dicHero = gameData.hero.get(hid);
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await HeroModel.findByHidAndRole(hid, roleId, 'hid lv star colorStar quality scrollId scrollActive scrollStar scrollColorStar scrollQuality connections attr ce');
let hero = await Hero.findByHidAndRole(hid, roleId, 'hid lv star colorStar quality scrollId scrollActive scrollStar scrollColorStar scrollQuality connections attr ce');
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let { star, colorStar, quality, scrollId, scrollActive, scrollStar, scrollColorStar, scrollQuality } = hero;

View File

@@ -5,7 +5,7 @@ import { STATUS, GUILD_STRUCTURE, ITID, CONSUME_TYPE, HERO_QUALITY_TYPE, HERO_GR
import { UserShopModel } from "../../../db/UserShop";
import { handleCost, addItems } from "../../../services/role/rewardService";
import { SHOP } from "../../../pubUtils/dicParam";
import { HeroModel } from "../../../db/Hero";
import Hero from "../../../db/Hero";
import { checkShopInPurchase, getShopDicById, getShopListByType, getShopPrice } from "../../../services/shopService";
import { RewardInter } from "../../../pubUtils/interface";
import { UserShopTypeModel } from "../../../db/UserShopType";
@@ -124,7 +124,7 @@ export class ShopHandler {
return resResult(STATUS.ITEM_NOT_SOUL);
}
let hero = await HeroModel.findByHidAndRole(dicGoods.hid, roleId);
let hero = await Hero.findByHidAndRole(dicGoods.hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_MAX);
if(hero.colorStar != HERO_GROW_MAX.COLORSTAR) return resResult(STATUS.HERO_NOT_MAX);