✨ 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
@@ -6,7 +6,7 @@ import { ItemModel, } from '../../db/Item';
import { ItemInter, } from '../../pubUtils/interface';
import { gameData, getDefArtifactByGid } from '../../pubUtils/data';
import { uniq } from 'underscore';
import { EPlace, HeroModel, HeroType, } from '../../db/Hero';
import Hero, { EPlace, HeroType, } from '../../db/Hero';
import { Figure } from '../../domain/dbGeneral';
import { ArtifactParam, JewelParam } from '../../domain/roleField/hero';
import { HeroSkin } from '../../db/Hero';
@@ -78,7 +78,7 @@ export async function handleCost(roleId: string, sid: string, goods: Array<ItemI
for(let jewel of resJewels) {
if(jewel.hid > 0) {
if(!heroMap.has(jewel.hid)) {
let hero = await HeroModel.findByHidAndRole(jewel.hid, roleId);
let hero = await Hero.findByHidAndRole(jewel.hid, roleId);
heroMap.set(jewel.hid, { hero, jewels: [] });
}
heroMap.get(jewel.hid).jewels.push(jewel);
@@ -349,7 +349,7 @@ export async function checkGoods(roleId: string, goodIds: Array<number>) {
export async function checkHeroes(roleId: string, hids: number[]) {
if (!!hids.length) {
let heros = await HeroModel.findByHidRange(hids, roleId);
let heros = await Hero.findByHidRange(hids, roleId);
if (heros.length < hids.length)
return false;
}
@@ -357,7 +357,7 @@ export async function checkHeroes(roleId: string, hids: number[]) {
}
export async function checkHeroEquips(roleId: string, quality: number) {
return await HeroModel.checkEquipByQuality(roleId, quality);
return await Hero.checkEquipByQuality(roleId, quality);
}
/**
@@ -429,7 +429,7 @@ export async function addSkin(roleId: string, roleName: string, serverId: number
let skin = await increaseSkin(roleId, roleName, skinId);
if(!skin) return false;
if(skin.hid && !hero) hero = await HeroModel.findByHidAndRole(skin.hid, roleId);
if(skin.hid && !hero) hero = await Hero.findByHidAndRole(skin.hid, roleId);
let condition = { type: FIGURE_UNLOCK_CONDITION.GET_SKIN, paramSkinId: skinId };
await unlockFigure(sid, roleId, [condition]); // 解锁头像
await calculateCeWithRole(HERO_SYSTEM_TYPE.ADD_SKIN, roleId, serverId, sid, {}, { skinId }); // 全局加成
@@ -438,7 +438,7 @@ export async function addSkin(roleId: string, roleName: string, serverId: number
let curSkin = hero.skins.find(cur => cur.id == skinId);
if (!curSkin) {
hero.skins.push(new HeroSkin(skin, enable));
await HeroModel.updateHeroInfo(roleId, hero.hid, hero);
await Hero.updateHeroInfo(roleId, hero.hid, hero);
}
return hero;
} else {