✨ feat(db): 修改hero表数据库操作方式
This commit is contained in:
@@ -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) });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user