✨ feat(db): 修改hero表数据库操作方式
This commit is contained in:
@@ -2,7 +2,7 @@ import { ACTIVITY_TYPE } from '../../consts';
|
||||
import { ActivityModel, ActivityModelType } from '../../db/Activity';
|
||||
import { ActivityGrowthModel, ActivityGrowthModelType } from '../../db/ActivityGrowth';
|
||||
import { ActivityGrowthPointModel, ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint';
|
||||
import { HeroModel } from '../../db/Hero';
|
||||
import Hero from '../../db/Hero';
|
||||
import { GrowthData } from '../../domain/activityField/growthField';
|
||||
import { getRoleCreateTime, getServerCreateTime } from '../redisService';
|
||||
import { getActivitiesByType, getActivityById } from './activityService';
|
||||
@@ -24,7 +24,7 @@ export async function growthActivity(serverId: number, roleId: string) {
|
||||
let playerRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityData.activityId, roleId);
|
||||
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId);
|
||||
|
||||
let userHeroes = await HeroModel.findByRole(roleId);
|
||||
let userHeroes = await Hero.findByRole(roleId);
|
||||
let createTime = await getRoleCreateTime(roleId);
|
||||
let serverTime = await getServerCreateTime(serverId);
|
||||
let playerData = new GrowthData(activityData, createTime, serverTime);
|
||||
@@ -46,7 +46,7 @@ export async function getPlayerGrowthData(activityId: number, serverId: number,
|
||||
let playerRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId);
|
||||
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId);
|
||||
|
||||
let userHeroes = await HeroModel.findByRole(roleId);
|
||||
let userHeroes = await Hero.findByRole(roleId);
|
||||
|
||||
let createTime = await getRoleCreateTime(roleId);
|
||||
let serverTime = await getServerCreateTime(serverId);
|
||||
|
||||
@@ -35,7 +35,7 @@ import Item, { ItemModel } from '../db/Item';
|
||||
import { PvpDefenseModel } from '../db/PvpDefense';
|
||||
import { getDonation } from './donateService';
|
||||
import { refChallengeCnt, sendLastSeasonRewardIfNotSent } from './pvpService';
|
||||
import { HeroModel } from '../db/Hero';
|
||||
import Hero from '../db/Hero';
|
||||
import { JewelModel } from '../db/Jewel';
|
||||
import { SkinModel } from '../db/Skin';
|
||||
import { getAp } from './actionPointService';
|
||||
@@ -121,7 +121,7 @@ export async function getModuleData(type: string, data: { role: RoleType, sessio
|
||||
let { hasGuild, guild, userGuild, guildResult } = guildData;
|
||||
switch (type) {
|
||||
case 'role':
|
||||
let heros = await HeroModel.findByRole(role.roleId, [], HERO_SELECT.ENTRY, true);
|
||||
let heros = await Hero.findByRole(role.roleId, [], HERO_SELECT.ENTRY, true);
|
||||
let jewels = await JewelModel.findbyRole(role.roleId, JEWEL_SELECT.ENTRY);
|
||||
let items = await ItemModel.findbyRole(role.roleId, ITEM_SELECT.ENTRY);
|
||||
let skins = await SkinModel.findbyRole(role.roleId, SKIN_SELECT.ENTRY);
|
||||
|
||||
@@ -25,7 +25,7 @@ import { GVGUserDataModel } from "../../db/GVGUserData";
|
||||
import Role from "../../db/Role";
|
||||
import { getFightTimeByPeriod } from "./gvgFightService";
|
||||
import { getRandSingleEelm } from "../../pubUtils/util";
|
||||
import { HeroModel, HeroType } from "../../db/Hero";
|
||||
import Hero, { HeroType } from "../../db/Hero";
|
||||
import { ArtifactModel } from "../../db/Artifact";
|
||||
import { getHeroesAttributes } from "../playerCeService";
|
||||
import { CounterModel } from "../../db/Counter";
|
||||
@@ -187,7 +187,7 @@ export async function refreshTeams(configId: number, groupKey: string, roleId: s
|
||||
if(team.configId != configId || (hasConfirm && team.confirmConfigId != configId)) {
|
||||
let { teamCode, maxDurability, lineup } = team;
|
||||
let { lv, title, roleName, guildCode } = await Role.findByRoleId(roleId, 'lv title roleName guildCode');
|
||||
let heroes = await HeroModel.findByHidRange(lineup.map(hero => hero.actorId), roleId);
|
||||
let heroes = await Hero.findByHidRange(lineup.map(hero => hero.actorId), roleId);
|
||||
let { newLineup, newLineupCe } = await generNewLineup(roleId, heroes, lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex })));
|
||||
let addUpdate = hasConfirm? { confirmConfigId: configId }: {};
|
||||
let newTeam = await GVGTeamModel.refreshByConfig(teamCode, { configId, lv, title, durability: maxDurability, cityId: 0, areaId: 0, pointId: 0, roleName, guildCode, leagueCode: myLeague.leagueCode, leagueName: myLeague.name, groupKey, lineup: newLineup, lineupCe: newLineupCe, ...addUpdate });
|
||||
|
||||
@@ -12,7 +12,7 @@ import { GVGVestigeLockModel } from "../../db/GVGVestigeLock";
|
||||
import { GVGVestigeRankModel, GVGVestigeRankType, GVGVestigeRankUpdate } from "../../db/GVGVestigeRank";
|
||||
import { GVGVestigeRecType } from "../../db/GVGVestigeRec";
|
||||
import { GVGVestigeSumRankModel, GVGVestigeSumRankType } from "../../db/GVGVestigeSumRank";
|
||||
import { HeroModel, HeroType } from "../../db/Hero";
|
||||
import Hero, { HeroType } from "../../db/Hero";
|
||||
import Role from "../../db/Role";
|
||||
import { OppDetailData, OppPlayerHeroInfo, OppPlayerInfo } from "../../domain/gvgField/gvgDb";
|
||||
import { GVGVestigeOppPlayer } from "../../domain/gvgField/returnData";
|
||||
@@ -234,7 +234,7 @@ export async function generateDefenseInfo(roleId: string, vestigeId: number, ran
|
||||
let lineup = playerVestigeData.lineup||[];
|
||||
let hids = lineup.map(cur => cur.actorId);
|
||||
let role = await Role.findByRoleId(playerVestigeData.roleId, 'roleId roleName heads head frames frame spines spine title lv');
|
||||
let heroes = await HeroModel.findByHidRange(hids, playerVestigeData.roleId, 'hid skinId lv star colorStar quality ce');
|
||||
let heroes = await Hero.findByHidRange(hids, playerVestigeData.roleId, 'hid skinId lv star colorStar quality ce');
|
||||
let league = await GVGLeagueModel.findByCode(playerVestigeData.leagueCode);
|
||||
|
||||
let info = new OppPlayerInfo();
|
||||
@@ -266,7 +266,7 @@ export async function getOppDetailData(rec: GVGVestigeRecType) {
|
||||
const dicWarJson = gameData.warJson.get(dicWar.dispatchJsonId);
|
||||
const defenseInfo = rec.defenseInfo.heroes||[];
|
||||
const hids = defenseInfo.map(cur => cur.hid);
|
||||
const heroes = await HeroModel.findByHidRange(hids, rec.defenseRoleId, 'hid lv quality star colorStar skins ce skinId');
|
||||
const heroes = await Hero.findByHidRange(hids, rec.defenseRoleId, 'hid lv quality star colorStar skins ce skinId');
|
||||
const artifactSeids = heroes.map(hero => hero.artifact);
|
||||
const artifacts = await ArtifactModel.findbySeqIds(rec.defenseRoleId, artifactSeids);
|
||||
result.setByPlayer(dicWarJson, defenseInfo, heroes, artifacts);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
import { HeroModel, HeroType } from '../db/Hero';
|
||||
import Hero, { HeroType } from '../db/Hero';
|
||||
import Role, { RoleType, WarCount } from '../db/Role'
|
||||
import { getLvByExp, getExpByLv, gameData, getDicApByLv } from '../pubUtils/data';
|
||||
import { updateRoleOnlineInfo, updateUserInfo } from './redisService';
|
||||
@@ -92,7 +92,7 @@ export async function checkBattleHeroes(roleId: string, seqIds: Array<number> =
|
||||
let flag = true;
|
||||
// if (seqIds.length <= 0) flag = false;
|
||||
|
||||
const findHeroes = await HeroModel.findBySeqIdRange(seqIds, roleId);
|
||||
const findHeroes = await Hero.findBySeqIdRange(seqIds, roleId);
|
||||
if (findHeroes.length != seqIds.length) flag = false;
|
||||
for (let seqId of seqIds) {
|
||||
let hero = findHeroes.find(cur => cur.seqId == seqId);
|
||||
@@ -110,7 +110,7 @@ export async function checkBattleHeroesByHid(roleId: string, heroes: Array<numbe
|
||||
let flag = true;
|
||||
// if (heroes.length <= 0) flag = false;
|
||||
|
||||
const findHeroes = await HeroModel.findByHidRange(heroes, roleId);
|
||||
const findHeroes = await Hero.findByHidRange(heroes, roleId);
|
||||
if (findHeroes.length != heroes.length) flag = false;
|
||||
for (let hid of heroes) {
|
||||
let hero = findHeroes.find(cur => cur.hid == hid);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* 体力系统
|
||||
*/
|
||||
|
||||
import { EPlace, HeroModel, HeroType, HeroUpdate } from '../db/Hero';
|
||||
import Hero, { HeroType, HeroUpdate } from '../db/Hero';
|
||||
|
||||
import Role, { RoleUpdate, RoleType } from '../db/Role';
|
||||
import { Rank } from './rankService';
|
||||
@@ -437,7 +437,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve
|
||||
if(heroCe.has(hid)) {
|
||||
let { ce, inc } = heroCe.get(hid);
|
||||
let heroUpdate = heroUpdates.get(hid)||{};
|
||||
let hero = await HeroModel.updateHeroInfo(roleId, hid, { ...heroUpdate, ce });
|
||||
let hero = await Hero.updateHeroInfo(roleId, hid, { ...heroUpdate, ce });
|
||||
calCe.setResultHero(hero);
|
||||
heroes.push(hero);
|
||||
await PvpDefenseModel.updateCe(roleId, hid, ce); // 更新pvp防守阵战力
|
||||
@@ -445,13 +445,13 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve
|
||||
await GVGVestigeRankModel.updateCe(roleId, hid, ce);
|
||||
pushHeros.push({ hid, ce, incHeroCe: inc });
|
||||
} else {
|
||||
let hero = await HeroModel.updateHeroInfo(roleId, hid, heroUpdate);
|
||||
let hero = await Hero.updateHeroInfo(roleId, hid, heroUpdate);
|
||||
heroes.push(hero);
|
||||
}
|
||||
}
|
||||
for(let [hid, { ce, inc }] of heroCe) {
|
||||
if(changeHids.indexOf(hid) == -1) {
|
||||
let hero = await HeroModel.updateHeroInfo(roleId, hid, { ce });
|
||||
let hero = await Hero.updateHeroInfo(roleId, hid, { ce });
|
||||
await PvpDefenseModel.updateCe(roleId, hid, ce); // 更新pvp防守阵战力
|
||||
await LadderMatchModel.updateCe(roleId, hid, ce);
|
||||
await GVGVestigeRankModel.updateCe(roleId, hid, ce);
|
||||
|
||||
@@ -11,7 +11,7 @@ import { EXTERIOR, PVP } from '../pubUtils/dicParam';
|
||||
import { PVPConfigModel } from '../db/PvpConfig'
|
||||
import { nowSeconds, getTimeFun } from '../pubUtils/timeUtil';
|
||||
import { HeroesRecord, PvpRecordPlayerInfo } from '../db/PvpRecord';
|
||||
import { HeroModel, HeroType } from '../db/Hero';
|
||||
import Hero, { HeroType } from '../db/Hero';
|
||||
import { AttributeCal } from '../domain/roleField/attribute';
|
||||
import { PvpEnemies, PvpHeroInfo, PvpOtherHeroes } from '../domain/dbGeneral';
|
||||
import { pinus } from 'pinus';
|
||||
@@ -219,7 +219,7 @@ async function generPlayerOppHis(pvpdefense: PvpDefenseType, roleId: string, pos
|
||||
let seasonNum: number = pinus.app.get('pvpSeasonNum');
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum, groupId });
|
||||
let rankLv = await r.getMyRank({ roleId: role.roleId });
|
||||
let dbHeroes = await HeroModel.findByRole(role.roleId, [{ field: 'ce', sortBy: -1 }]);
|
||||
let dbHeroes = await Hero.findByRole(role.roleId, [{ field: 'ce', sortBy: -1 }]);
|
||||
let heroes = new Array<PvpEnemies>();
|
||||
let otherHeroes = new Array<PvpOtherHeroes>(); // 阵容外的所有武将信息
|
||||
let defCe = 0;
|
||||
@@ -473,7 +473,7 @@ export async function generMyRecInfo(pvpDefense: PvpDefenseType, role: RoleType,
|
||||
hid, addScore: 0, plusScore: 0, score: curHeroScore ? curHeroScore.score : 0
|
||||
});
|
||||
}
|
||||
const myHero = await HeroModel.findByHidAndRole(hid, roleId, 'quality star colorStar lv skinId');
|
||||
const myHero = await Hero.findByHidAndRole(hid, roleId, 'quality star colorStar lv skinId');
|
||||
|
||||
let record = new HeroesRecord();
|
||||
record.setByHero(myHero, params);
|
||||
@@ -720,7 +720,7 @@ export async function generPvpLineupCe(roleId: string, lineupCe: LineupCe[], att
|
||||
}
|
||||
}
|
||||
}
|
||||
let heroes = await HeroModel.findByHidRange(newHids, roleId, 'hid ce', true);
|
||||
let heroes = await Hero.findByHidRange(newHids, roleId, 'hid ce', true);
|
||||
for(let { hid, ce } of heroes) {
|
||||
newLineupCe.push({ hid, ce });
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { getInfoKeyByRedisKey, ROLE_SELECT, GUILD_SELECT, REDIS_KEY, HERO_SELECT
|
||||
import { redisClient, delKeys, saveLadderDefCeByData } from "./redisService";
|
||||
import Role, { RoleType } from "../db/Role";
|
||||
import { GuildType, GuildModel } from "../db/Guild";
|
||||
import { HeroModel, HeroType, HeroUpdate } from "../db/Hero";
|
||||
import Hero, { HeroType, HeroUpdate } from "../db/Hero";
|
||||
import { PvpDefenseModel } from "../db/PvpDefense";
|
||||
import { gameData } from "../pubUtils/data";
|
||||
import { getSeconds, nowSeconds } from "../pubUtils/timeUtil";
|
||||
@@ -310,7 +310,7 @@ export class Rank {
|
||||
if(!role) return;
|
||||
}
|
||||
let { topLineup = [] } = role;
|
||||
let heroes = await HeroModel.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP);
|
||||
let heroes = await Hero.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP);
|
||||
let arr = new Array<LineupParam>();
|
||||
for (let { hid } of topLineup) {
|
||||
let curHero = heroes.find(cur => cur.hid == hid);
|
||||
@@ -322,7 +322,7 @@ export class Rank {
|
||||
await this.setUserInfo(infoKey, { roleId }, arr);
|
||||
} else if (infoKey == REDIS_KEY.HERO_INFO) {
|
||||
if (!hero) {
|
||||
hero = await HeroModel.findByHidAndRole(hid, roleId, HERO_SELECT.RANK_LINEUP, true);
|
||||
hero = await Hero.findByHidAndRole(hid, roleId, HERO_SELECT.RANK_LINEUP, true);
|
||||
if(!hero) return;
|
||||
}
|
||||
let arr = new Array<LineupParam>();
|
||||
@@ -340,7 +340,7 @@ export class Rank {
|
||||
if (dungeonWarId > 0) {
|
||||
let cur = dungeonHeroes.find(cur => cur.battleId == dungeonWarId);
|
||||
let lineup = cur ? cur.heroes : [];
|
||||
let heroes = await HeroModel.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP);
|
||||
let heroes = await Hero.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP);
|
||||
let arr = new Array<LineupParam>();
|
||||
for (let seqId of lineup) {
|
||||
let curHero = heroes.find(cur => cur.seqId == seqId);
|
||||
@@ -357,7 +357,7 @@ export class Rank {
|
||||
if(!role) return;
|
||||
}
|
||||
let { showLineup, topLineup = [] } = role;
|
||||
let heroes = await HeroModel.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP);
|
||||
let heroes = await Hero.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP);
|
||||
let arr = new Array<LineupParam>();
|
||||
if (!showLineup) showLineup = topLineup.map(cur => cur.hid);
|
||||
for (let hid of showLineup) {
|
||||
@@ -626,7 +626,7 @@ export class Rank {
|
||||
}
|
||||
|
||||
let { topLineup } = role;
|
||||
let heroes = await HeroModel.findByRole(myId.roleId, [], HERO_SELECT.HERO_DETAIL);
|
||||
let heroes = await Hero.findByRole(myId.roleId, [], HERO_SELECT.HERO_DETAIL);
|
||||
let arr = new Array<LineupParam>();
|
||||
for (let { hid } of topLineup) {
|
||||
let curHero = heroes.find(cur => cur.hid == hid);
|
||||
@@ -647,7 +647,7 @@ export class Rank {
|
||||
let hasCurUser = await redisClient().hexistsAsync(extraKey, this.composeFields(extraKey, myId));
|
||||
if (!hasCurUser) {
|
||||
if (!hero) {
|
||||
hero = await HeroModel.findByHidAndRole(myId.hid, myId.roleId, HERO_SELECT.RANK_LINEUP);
|
||||
hero = await Hero.findByHidAndRole(myId.hid, myId.roleId, HERO_SELECT.RANK_LINEUP);
|
||||
}
|
||||
let arr = new Array<LineupParam>();
|
||||
let lineParam = new LineupParam(hero);
|
||||
@@ -677,7 +677,7 @@ export class Rank {
|
||||
let { dungeonWarId, dungeonHeroes } = role;
|
||||
let cur = dungeonHeroes.find(cur => cur.battleId == dungeonWarId);
|
||||
let lineup = cur ? cur.heroes : [];
|
||||
let heroes = await HeroModel.findByRole(myId.roleId, [], HERO_SELECT.RANK_LINEUP);
|
||||
let heroes = await Hero.findByRole(myId.roleId, [], HERO_SELECT.RANK_LINEUP);
|
||||
let arr = new Array<LineupParam>();
|
||||
for (let seqId of lineup) {
|
||||
let curHero = heroes.find(cur => cur.seqId == seqId);
|
||||
@@ -702,7 +702,7 @@ export class Rank {
|
||||
}
|
||||
|
||||
let { showLineup, topLineup = [] } = role;
|
||||
let heroes = await HeroModel.findByRole(myId.roleId, [], HERO_SELECT.HERO_DETAIL);
|
||||
let heroes = await Hero.findByRole(myId.roleId, [], HERO_SELECT.HERO_DETAIL);
|
||||
let arr = new Array<LineupParam>();
|
||||
if (!showLineup) showLineup = topLineup.map(cur => cur.hid);
|
||||
for (let hid of showLineup) {
|
||||
@@ -1112,7 +1112,7 @@ export async function setRankRedisFromDb(type: string, args?: { serverId?: numbe
|
||||
}
|
||||
} else if (type == REDIS_KEY.TOP_HERO_RANK) {
|
||||
let serverId = args.serverId;
|
||||
let ranks = await HeroModel.getAllRank(serverId, HERO_SELECT.RANK_LINEUP);
|
||||
let ranks = await Hero.getAllRank(serverId, HERO_SELECT.RANK_LINEUP);
|
||||
let r = new Rank(type, { serverId });
|
||||
r.setIsInit(true);
|
||||
for (let hero of ranks) {
|
||||
@@ -1170,7 +1170,7 @@ export async function setRankRedisFromDb(type: string, args?: { serverId?: numbe
|
||||
let serverId = args.serverId;
|
||||
|
||||
for (let [hid] of gameData.recruit) {
|
||||
let ranks = await HeroModel.getRank(hid, serverId, HERO_SELECT.RANK_LINEUP);
|
||||
let ranks = await Hero.getRank(hid, serverId, HERO_SELECT.RANK_LINEUP);
|
||||
let r = new Rank(type, { serverId, hid });
|
||||
r.setIsInit(true);
|
||||
for (let hero of ranks) {
|
||||
@@ -1303,7 +1303,7 @@ export async function getRankInHandler(redisKey: REDIS_KEY, type: RANK_TYPE, key
|
||||
if (type == RANK_TYPE.TOP_LINTUP) {
|
||||
myRank = await r.generMyRankWithRole(roleId, role.topLineupCe, 0, role);
|
||||
} else if (type == RANK_TYPE.TOP_HERO) {
|
||||
let hero = await HeroModel.getMyTopHero(roleId, HERO_SELECT.RANK_LINEUP);
|
||||
let hero = await Hero.getMyTopHero(roleId, HERO_SELECT.RANK_LINEUP);
|
||||
myRank = await r.generMyRankWithHero(roleId, hero.hid, hero.ce, 0, hero, role);
|
||||
} else if (type == RANK_TYPE.HERO_NUM) {
|
||||
myRank = await r.generMyRankWithRole(roleId, role.heroNum, role.heroNumUpdatedAt, role);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { FIGURE_UNLOCK_CONDITION, ITEM_CHANGE_REASON, REDIS_KEY, STATUS, TASK_TYPE, HERO_SYSTEM_TYPE, LINEUP_NUM, COUNTER, PUSH_ROUTE } from "../../consts";
|
||||
import { SkinModel } from "../../db/Skin";
|
||||
import { HeroModel, HeroSkin, HeroType, HeroUpdate } from "../../db/Hero";
|
||||
import Hero, { HeroSkin, HeroType, HeroUpdate } from "../../db/Hero";
|
||||
import { SkinUpdate } from "../../db/Skin";
|
||||
import { nowSeconds } from "../../pubUtils/timeUtil";
|
||||
import { CreateHeroParam, HeroParam, HeroShowParam } from "../../domain/roleField/hero";
|
||||
@@ -25,7 +25,7 @@ import { pushGetHero } from "../sysChatService";
|
||||
export async function createHeroes(roleId: string, roleName: string, sid: string, serverId: number, heroInfo: CreateHeroParam[], initRoleInfos?: RoleUpdate) {
|
||||
heroInfo = filterHeroes(heroInfo, obj => obj.hid, roleId);
|
||||
let hids = heroInfo.map(cur => cur.hid);
|
||||
let userHeroesMap = await HeroModel.findMapByHidRange(hids, roleId);
|
||||
let userHeroesMap = await Hero.findMapByHidRange(hids, roleId);
|
||||
|
||||
let createHeroeInfos: CreateHeroParam[] = [], pieces: ItemInter[] = [];
|
||||
for (let h of heroInfo) {
|
||||
@@ -55,7 +55,7 @@ import { pushGetHero } from "../sysChatService";
|
||||
skins.push(initSkin); // 初始皮肤
|
||||
let seqId = await CounterModel.getNewCounter(COUNTER.HID) || -1;
|
||||
let initHeroSkins = [initSkin, ...originSkins].map((skin, index) => new HeroSkin(skin, index == 0));
|
||||
let initHero = HeroModel.getInitInfo(hid, { ...info, seqId, serverId, roleId, roleName, skins: initHeroSkins });
|
||||
let initHero = Hero.getInitInfo(hid, { ...info, seqId, serverId, roleId, roleName, skins: initHeroSkins });
|
||||
heroInfos.set(hid, initHero);
|
||||
figureConditions.push({ type: FIGURE_UNLOCK_CONDITION.GET_HERO, paramHid: hid });
|
||||
incHeroNum ++;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -7,17 +7,14 @@ import { SCHOOL } from '../pubUtils/dicParam';
|
||||
import { gameData, getHeroInitTalent, getHeroStarByQuality } from '../pubUtils/data';
|
||||
import { SchoolModel } from '../db/School';
|
||||
import { SclResultInter, SclPosInter, RewardInter, ItemInter } from '../pubUtils/interface';
|
||||
import { Connect, HeroModel, HeroSkin, HeroType, HeroUpdate, Talent } from '../db/Hero';
|
||||
import Hero, { Connect, HeroSkin, HeroType, HeroUpdate, Talent } from '../db/Hero';
|
||||
import { SkinUpdate } from '../db/Skin';
|
||||
import { Figure } from '../domain/dbGeneral';
|
||||
import { pick } from 'underscore';
|
||||
import { Reward } from '../domain/battleField/pvp';
|
||||
import { CheckMeterial } from './role/checkMaterial';
|
||||
import IP2Region from "ip2region";
|
||||
import { getServerCreateTime } from './redisService';
|
||||
import { checkWhiteList } from '../pubUtils/sysUtil';
|
||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||
import { ServerlistModel } from '../db/Serverlist';
|
||||
|
||||
const query = new IP2Region({ disableIpv6: true });
|
||||
|
||||
|
||||
@@ -290,7 +287,7 @@ function calSchoolPoint(quality: number, star: number, colorStar: number) {
|
||||
export async function getSchoolPoint(roleId: string) {
|
||||
let schools = await SchoolModel.findByRoleId(roleId);
|
||||
let hids = schools.filter(cur => cur.isOpen && cur.hid > 0).map(school => school.hid);
|
||||
let heroes = await HeroModel.findByHidRange(hids, roleId);
|
||||
let heroes = await Hero.findByHidRange(hids, roleId);
|
||||
return heroes.reduce((pre, cur) => {
|
||||
return pre + calSchoolPoint(cur.quality, cur.star, cur.colorStar);
|
||||
}, 0);
|
||||
|
||||
Reference in New Issue
Block a user