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

This reverts commit 9051e72e99cf9c09ebdee57e0401c63480b3c128.
This commit is contained in:
luying
2023-05-08 09:59:25 +08:00
parent 3e78dc3e2b
commit 3e490fde9e
27 changed files with 149 additions and 131 deletions

View File

@@ -5,7 +5,7 @@ import { gameData } from "../../../pubUtils/data";
import { UserGachaModel } from "../../../db/UserGacha"; import { UserGachaModel } from "../../../db/UserGacha";
import { refreshGacha, getGachaList, getVisitedHeroList, GachaPull, GachaResults, getDicGachaByGachaCnt, getNormalGachaId, getDicGachas } from "../../../services/activity/gachaService"; import { refreshGacha, getGachaList, getVisitedHeroList, GachaPull, GachaResults, getDicGachaByGachaCnt, getNormalGachaId, getDicGachas } from "../../../services/activity/gachaService";
import Role from "../../../db/Role"; import Role from "../../../db/Role";
import Hero from "../../../db/Hero"; import { HeroModel } from "../../../db/Hero";
import { handleCost, addItems } from "../../../services/role/rewardService"; import { handleCost, addItems } from "../../../services/role/rewardService";
import { getZeroPointD, getTimeFun } from "../../../pubUtils/timeUtil"; import { getZeroPointD, getTimeFun } from "../../../pubUtils/timeUtil";
import { UserGachaRecModel } from "../../../db/UserGachaRec"; import { UserGachaRecModel } from "../../../db/UserGachaRec";
@@ -70,7 +70,7 @@ export class GachaHandler {
// console.log('##########', dic, min, max) // console.log('##########', dic, min, max)
let _count = max + 1 - min; let _count = max + 1 - min;
let gachaPull = new GachaPull(dic, { hope, floor, pickHero }); let gachaPull = new GachaPull(dic, { hope, floor, pickHero });
let userHeroes = await Hero.findByRole(roleId); let userHeroes = await HeroModel.findByRole(roleId);
let { resultList: _resultList, heroInfo: _heroInfo, items: _items } = gachaPull.pull(_count, userHeroes); let { resultList: _resultList, heroInfo: _heroInfo, items: _items } = gachaPull.pull(_count, userHeroes);
let { hope: _hope, floor: _floor } = gachaPull.getUserGachaParam(); let { hope: _hope, floor: _floor } = gachaPull.getUserGachaParam();
resultList.push(..._resultList); heroInfo.push(..._heroInfo); items.push(..._items); resultList.push(..._resultList); heroInfo.push(..._heroInfo); items.push(..._items);
@@ -197,7 +197,7 @@ export class GachaHandler {
let randTurntable = getRandSingleEelm(turntablePool); let randTurntable = getRandSingleEelm(turntablePool);
let { quality, count, planId } = randTurntable; let { quality, count, planId } = randTurntable;
let userHeroes = await Hero.findByRole(roleId); let userHeroes = await HeroModel.findByRole(roleId);
let gachaResults = new GachaResults(); let gachaResults = new GachaResults();
gachaResults.addPlan(planId); gachaResults.addPlan(planId);
gachaResults.processDetail(null, count); gachaResults.processDetail(null, count);
@@ -367,7 +367,7 @@ export class GachaHandler {
if (!costResult) return resResult(STATUS.GACHA_COST_NOT_ENOUGH); if (!costResult) return resResult(STATUS.GACHA_COST_NOT_ENOUGH);
} }
let userHeroes = await Hero.findByRole(roleId); let userHeroes = await HeroModel.findByRole(roleId);
let gachaPull = new GachaPull(dicGacha); let gachaPull = new GachaPull(dicGacha);
let { resultList } = gachaPull.pull(count, userHeroes); let { resultList } = gachaPull.pull(count, userHeroes);
@@ -438,7 +438,7 @@ export class GachaHandler {
let candidate = playerData.chooseCandidate(id); let candidate = playerData.chooseCandidate(id);
if(!candidate) return resResult(STATUS.GACHA_GUIDE_NO_CANDIDATE); if(!candidate) return resResult(STATUS.GACHA_GUIDE_NO_CANDIDATE);
let userHeroes = await Hero.findByRole(roleId); let userHeroes = await HeroModel.findByRole(roleId);
let results = new GachaResults(); let results = new GachaResults();
results.addBySimpleResult(candidate.list); results.addBySimpleResult(candidate.list);
let { items, heroInfo, resultList } = results.transferToFinalResult(userHeroes); let { items, heroInfo, resultList } = results.transferToFinalResult(userHeroes);

View File

@@ -9,7 +9,7 @@ import { LadderMatchModel, LadderUpdateInter } from '../../../db/LadderMatch';
import { battleEndWhenChange, checkRank, generateInitRecInfo, generateOppPlayers, getBuyCntCost, getLadderData, getLadderEnemies, getLadderOppDetailData, getLadderOppStatus, getNumberArr, ladderBattleEndReward, refreshLadderDaily, refreshLadderEnemies, sendLadderDailyReward, uniqueArr } from '../../../services/ladderService'; import { battleEndWhenChange, checkRank, generateInitRecInfo, generateOppPlayers, getBuyCntCost, getLadderData, getLadderEnemies, getLadderOppDetailData, getLadderOppStatus, getNumberArr, ladderBattleEndReward, refreshLadderDaily, refreshLadderEnemies, sendLadderDailyReward, uniqueArr } from '../../../services/ladderService';
import { LadderDataReturn, LadderDefense, LadderDefenseHero, LadderOppDetailReturn, LadderOppLineupReturn, LadderOppPlayerHeroInfo, LadderOppPlayerReturn } from '../../../domain/battleField/ladder'; import { LadderDataReturn, LadderDefense, LadderDefenseHero, LadderOppDetailReturn, LadderOppLineupReturn, LadderOppPlayerHeroInfo, LadderOppPlayerReturn } from '../../../domain/battleField/ladder';
import { LadderMatchRecModel } from '../../../db/LadderMatchRec'; import { LadderMatchRecModel } from '../../../db/LadderMatchRec';
import Hero from '../../../db/Hero'; import { HeroModel } from '../../../db/Hero';
import { LADDER } from '../../../pubUtils/dicParam'; import { LADDER } from '../../../pubUtils/dicParam';
import { handleCost } from '../../../services/role/rewardService'; import { handleCost } from '../../../services/role/rewardService';
import { DEBUG_MAGIC_WORD, ITEM_CHANGE_REASON, LADDER_OPP_STATUS, LADDER_STATUS, REDIS_KEY, WAR_TYPE } from '../../../consts'; import { DEBUG_MAGIC_WORD, ITEM_CHANGE_REASON, LADDER_OPP_STATUS, LADDER_STATUS, REDIS_KEY, WAR_TYPE } from '../../../consts';
@@ -283,7 +283,7 @@ export class LadderHandler {
let hids: number[] = heroes.map(cur => cur.actorId); let hids: number[] = heroes.map(cur => cur.actorId);
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN); if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
let dbHeroes = await Hero.findByHidRange(hids, roleId, '_id hid ce', true); let dbHeroes = await HeroModel.findByHidRange(hids, roleId, '_id hid ce', true);
let defenseHeroes = heroes.map(cur => { let defenseHeroes = heroes.map(cur => {
let dbHero = dbHeroes.find(ccur => ccur.hid == cur.actorId); let dbHero = dbHeroes.find(ccur => ccur.hid == cur.actorId);

View File

@@ -16,7 +16,7 @@ import { DEBUG_MAGIC_WORD, FIGURE_UNLOCK_CONDITION, ITEM_CHANGE_REASON, LINEUP_N
import { PVP } from '../../../pubUtils/dicParam'; import { PVP } from '../../../pubUtils/dicParam';
import { addItems, getGoldObject, handleCost, unlockFigure } from '../../../services/role/rewardService'; import { addItems, getGoldObject, handleCost, unlockFigure } from '../../../services/role/rewardService';
import { pick } from "underscore"; import { pick } from "underscore";
import Hero from '../../../db/Hero'; import { HeroModel } from '../../../db/Hero';
import PvpHistoryOpp, { PvpHistoryOppModel } from '../../../db/PvpHistoryOpp'; import PvpHistoryOpp, { PvpHistoryOppModel } from '../../../db/PvpHistoryOpp';
import { BattleRecordModel } from '../../../db/BattleRecord'; import { BattleRecordModel } from '../../../db/BattleRecord';
import { PvpRecordModel, PvpRecordParam, PvpRecordType } from '../../../db/PvpRecord'; import { PvpRecordModel, PvpRecordParam, PvpRecordType } from '../../../db/PvpRecord';
@@ -462,7 +462,7 @@ export class PvpHandler {
hids.push(actorId); hids.push(actorId);
} }
} }
let dbHeroes = await Hero.findByHidRange(hids, roleId, '_id hid ce', true); let dbHeroes = await HeroModel.findByHidRange(hids, roleId, '_id hid ce', true);
for(let hero of dbHeroes) { for(let hero of dbHeroes) {
heroIdMap.set(hero.hid, hero._id); heroIdMap.set(hero.hid, hero._id);
} }
@@ -551,7 +551,7 @@ export class PvpHandler {
} }
} else { // 查询对方pvpDefense } else { // 查询对方pvpDefense
let pvpDefense = await PvpDefenseModel.findByRoleId(oppoRoleId); let pvpDefense = await PvpDefenseModel.findByRoleId(oppoRoleId);
let dbHeroes = await Hero.findByRole(oppoRoleId); let dbHeroes = await HeroModel.findByRole(oppoRoleId);
let role = await Role.findByRoleId(oppoRoleId); let role = await Role.findByRoleId(oppoRoleId);
let heroes = new Array<PlayerDetailHero>(); let heroes = new Array<PlayerDetailHero>();

View File

@@ -12,7 +12,7 @@ import { addItems, getGoldObject, handleCost } from '../../../services/role/rewa
import { checkBattleHeroes } from '../../../services/normalBattleService'; import { checkBattleHeroes } from '../../../services/normalBattleService';
import { gameData } from '../../../pubUtils/data'; import { gameData } from '../../../pubUtils/data';
import * as dicParam from '../../../pubUtils/dicParam'; import * as dicParam from '../../../pubUtils/dicParam';
import Hero from '../../../db/Hero'; import { HeroModel } from '../../../db/Hero';
import { vipCanSkipTower } from '../../../services/activity/monthlyTicketService'; import { vipCanSkipTower } from '../../../services/activity/monthlyTicketService';
import { pushTowerMsg } from '../../../services/sysChatService'; import { pushTowerMsg } from '../../../services/sysChatService';
import { WarStar } from '../../../domain/dbGeneral'; import { WarStar } from '../../../domain/dbGeneral';
@@ -311,7 +311,7 @@ export class TowerBattleHandler {
// 检查战力是否足够 // 检查战力是否足够
let towerRec = await TowerRecordModel.getRecordByLv(roleId, oldTowerLv); let towerRec = await TowerRecordModel.getRecordByLv(roleId, oldTowerLv);
let heroes = await Hero.findByRole(roleId, [{ field: 'ce', sortBy: -1 }], 'hid ce job', true); let heroes = await HeroModel.findByRole(roleId, [{ field: 'ce', sortBy: -1 }], 'hid ce job', true);
let newWarStar: WarStar[] = [], resultGoods: { towerLv: number, goods: { id: number, count: number }[] }[] = [], rewards: ItemInter[] = []; let newWarStar: WarStar[] = [], resultGoods: { towerLv: number, goods: { id: number, count: number }[] }[] = [], rewards: ItemInter[] = [];
for(let lv = oldTowerLv; lv < toLv; lv++) { for(let lv = oldTowerLv; lv < toLv; lv++) {

View File

@@ -25,7 +25,7 @@ import { getZeroPointD, getTimeFunD, getSeconds, nowSeconds } from '../../../pub
import { FriendParams } from '../../../domain/roleField/friend'; import { FriendParams } from '../../../domain/roleField/friend';
import { checkTask, checkTaskInComBattleStart } from '../../../services/task/taskService'; import { checkTask, checkTaskInComBattleStart } from '../../../services/task/taskService';
import { gameData, getWarByBlueprtId } from '../../../pubUtils/data'; import { gameData, getWarByBlueprtId } from '../../../pubUtils/data';
import Hero from '../../../db/Hero'; import { HeroModel } from '../../../db/Hero';
import { addUserToTeamChannel, delTeamChannel, removeFromTeamChannel, sendMessageToTeam, sendMessageToUsersWithSuc, sendMessageToUserWithSuc } from '../../../services/pushService'; import { addUserToTeamChannel, delTeamChannel, removeFromTeamChannel, sendMessageToTeam, sendMessageToUsersWithSuc, sendMessageToUserWithSuc } from '../../../services/pushService';
import { getFriendRelationType, getRecommendType } from '../../../services/friendService'; import { getFriendRelationType, getRecommendType } from '../../../services/friendService';
import { FriendRelationModel } from '../../../db/FriendRelation'; import { FriendRelationModel } from '../../../db/FriendRelation';
@@ -274,7 +274,7 @@ export class ComBattleHandler {
// let teamStatus = this.teamMap.get(teamCode); // let teamStatus = this.teamMap.get(teamCode);
// if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID); // if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
// const heroDBs = await Hero.findByHidRange(hids, roleId); // const heroDBs = await HeroModel.findByHidRange(hids, roleId);
// const heroes = heroDBs.map(hero => { // const heroes = heroDBs.map(hero => {
// return new ComRoleStatusHero(hero); // return new ComRoleStatusHero(hero);
// }); // });
@@ -307,7 +307,7 @@ export class ComBattleHandler {
let teamStatus = getComTeamByCode(teamCode); let teamStatus = getComTeamByCode(teamCode);
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID); if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
const heroDBs = await Hero.findByHidRange(hids, roleId); const heroDBs = await HeroModel.findByHidRange(hids, roleId);
const heroes = heroDBs.map(hero => { const heroes = heroDBs.map(hero => {
return new ComRoleStatusHero(hero); return new ComRoleStatusHero(hero);
}); });

View File

@@ -4,6 +4,7 @@ import { UserModel, UserType } from '../../../db/User';
import { GMUserModel } from '../../../db/GMUser'; import { GMUserModel } from '../../../db/GMUser';
import { Application, HandlerService, pinus, } from 'pinus'; import { Application, HandlerService, pinus, } from 'pinus';
import { FrontendSession } from 'pinus'; import { FrontendSession } from 'pinus';
import { HeroModel } from './../../../db/Hero';
import { genCode, generateStr, resResult } from '../../../pubUtils/util'; import { genCode, generateStr, resResult } from '../../../pubUtils/util';
import { COM_BTL_QUALITY, HERO_SELECT, DEBUG_MAGIC_WORD, REDIS_KEY, TASK_TYPE, ENTERY_ROLE_PICK, COUNTER, DEFAULT_LV, TA_USERSET_TYPE, LOG_TYPE, JEWEL_SELECT, ITEM_SELECT, SKIN_SELECT, PUSH_ROUTE } from '../../../consts'; import { COM_BTL_QUALITY, HERO_SELECT, DEBUG_MAGIC_WORD, REDIS_KEY, TASK_TYPE, ENTERY_ROLE_PICK, COUNTER, DEFAULT_LV, TA_USERSET_TYPE, LOG_TYPE, JEWEL_SELECT, ITEM_SELECT, SKIN_SELECT, PUSH_ROUTE } from '../../../consts';
// import { loginRefresh } from '../../../services/playerEventService'; // import { loginRefresh } from '../../../services/playerEventService';

View File

@@ -15,7 +15,7 @@ import { UserGuildApplyModel } from '../../../db/UserGuildApply';
import { reportTAEvent } from '../../../services/sdkService'; import { reportTAEvent } from '../../../services/sdkService';
import { sendMailByContent } from '../../../services/mailService'; import { sendMailByContent } from '../../../services/mailService';
import { GuildLeader } from '../../../domain/rank'; import { GuildLeader } from '../../../domain/rank';
import Hero from '../../../db/Hero'; import { HeroModel } from '../../../db/Hero';
import { SkinModel } from '../../../db/Skin'; import { SkinModel } from '../../../db/Skin';
import { PvpDefenseModel } from '../../../db/PvpDefense'; import { PvpDefenseModel } from '../../../db/PvpDefense';
import { createHeroes } from '../../../services/role/createHero'; import { createHeroes } from '../../../services/role/createHero';
@@ -91,7 +91,7 @@ export class GmRoleHandler {
let { roleId, hid } = msg; let { roleId, hid } = msg;
let param = new SetHeroParam(msg.param); let param = new SetHeroParam(msg.param);
if(!param.checkParams()) return resResult(STATUS.WRONG_PARMS); if(!param.checkParams()) return resResult(STATUS.WRONG_PARMS);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND); if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let { sid } = await getRoleOnlineInfo(roleId); let { sid } = await getRoleOnlineInfo(roleId);
@@ -125,7 +125,7 @@ export class GmRoleHandler {
*/ */
async upgradeHeroEPlace(msg: { roleId: string, hid: number }, session: BackendSession) { async upgradeHeroEPlace(msg: { roleId: string, hid: number }, session: BackendSession) {
let { roleId, hid } = msg; let { roleId, hid } = msg;
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
/* /*
* 通过 * 通过
@@ -197,18 +197,18 @@ export class GmRoleHandler {
}) })
// 更新装备信息 // 更新装备信息
await Hero.updateHeroInfo(roleId, hid, { ePlace: hero.ePlace }); await HeroModel.updateHeroInfo(roleId, hid, { ePlace: hero.ePlace });
// 获取战力重算需要的数据 // 获取战力重算需要的数据
let role = await Role.findByRoleId(roleId); let role = await Role.findByRoleId(roleId);
let schools = await SchoolModel.findByRoleId(roleId); let schools = await SchoolModel.findByRoleId(roleId);
let jewels = await JewelModel.findbyRole(roleId); let jewels = await JewelModel.findbyRole(roleId);
let heroes = await Hero.findByRole(roleId); let heroes = await HeroModel.findByRole(roleId);
let skins = await SkinModel.findbyRole(roleId); let skins = await SkinModel.findbyRole(roleId);
let artifacts = await ArtifactModel.findbyRole(roleId); let artifacts = await ArtifactModel.findbyRole(roleId);
// 所有战力重算 // 所有战力重算
await calculateCeWithRole(HERO_SYSTEM_TYPE.RE_CAL, roleId, role.serverId, null, {}, { role, schools, jewels, heroes, skins, artifacts }); await calculateCeWithRole(HERO_SYSTEM_TYPE.RE_CAL, roleId, role.serverId, null, {}, { role, schools, jewels, heroes, skins, artifacts });
// 获取更新装备的英雄 // 获取更新装备的英雄
hero = await Hero.findByHidAndRole(hid, roleId); hero = await HeroModel.findByHidAndRole(hid, roleId);
// 返回强化升星升品后的hero数据 // 返回强化升星升品后的hero数据
return resResult(STATUS.SUCCESS, { curHero: hero }); return resResult(STATUS.SUCCESS, { curHero: hero });
@@ -217,10 +217,10 @@ export class GmRoleHandler {
async deleteHero(msg: { roleId: string, hid: number }, session: BackendSession) { async deleteHero(msg: { roleId: string, hid: number }, session: BackendSession) {
let { roleId, hid } = msg; let { roleId, hid } = msg;
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
await Hero.deleteHero(roleId, hid); await HeroModel.deleteHero(roleId, hid);
await SkinModel.deleteByHero(roleId, hid); await SkinModel.deleteByHero(roleId, hid);
let role = await Role.findByRoleId(roleId); let role = await Role.findByRoleId(roleId);
await PvpDefenseModel.deleteHero(roleId, hid); await PvpDefenseModel.deleteHero(roleId, hid);
@@ -400,7 +400,7 @@ export class GmRoleHandler {
let role = await Role.findByRoleId(roleId); let role = await Role.findByRoleId(roleId);
let schools = await SchoolModel.findByRoleId(roleId); let schools = await SchoolModel.findByRoleId(roleId);
let jewels = await JewelModel.findbyRole(roleId); let jewels = await JewelModel.findbyRole(roleId);
let heroes = await Hero.findByRole(roleId); let heroes = await HeroModel.findByRole(roleId);
let skins = await SkinModel.findbyRole(roleId); let skins = await SkinModel.findbyRole(roleId);
let artifacts = await ArtifactModel.findbyRole(roleId); let artifacts = await ArtifactModel.findbyRole(roleId);

View File

@@ -20,7 +20,7 @@ import { isDebugTime } from "../../../pubUtils/sdkUtil";
import { GuildActivityCityDeclareModel } from "../../../db/GuildActivityCityDeclare"; import { GuildActivityCityDeclareModel } from "../../../db/GuildActivityCityDeclare";
import { GuildModel } from "../../../db/Guild"; import { GuildModel } from "../../../db/Guild";
import { getHistoryCity, redisClient, setHistoryCity } from "../../../services/redisService"; import { getHistoryCity, redisClient, setHistoryCity } from "../../../services/redisService";
import Hero from "../../../db/Hero"; import { HeroModel } from "../../../db/Hero";
import { getCityActivityObj } from "../../../services/memoryCache/guildActivityData"; import { getCityActivityObj } from "../../../services/memoryCache/guildActivityData";
export default function (app: Application) { export default function (app: Application) {
@@ -259,7 +259,7 @@ export class CityActivityHandler {
let { gateHp, maxHp } = await obj.getGateHpAndInc(serverId, cityId); let { gateHp, maxHp } = await obj.getGateHpAndInc(serverId, cityId);
if (gateHp <= 0) return resResult(STATUS.GATE_HP_IS_ZERO); if (gateHp <= 0) return resResult(STATUS.GATE_HP_IS_ZERO);
let hero = await Hero.findBySeqIdAndRole(hid, roleId); let hero = await HeroModel.findBySeqIdAndRole(hid, roleId);
if(!hero && (damage/maxHp > 0.01)) damage = 0; if(!hero && (damage/maxHp > 0.01)) damage = 0;
let statusResult = getGuildActivityStatus(this.aid); let statusResult = getGuildActivityStatus(this.aid);

View File

@@ -9,7 +9,7 @@ import { GVGVestigeLockModel } from "../../../db/GVGVestigeLock";
import { GVGVestigeRankModel } from "../../../db/GVGVestigeRank"; import { GVGVestigeRankModel } from "../../../db/GVGVestigeRank";
import { GVGVestigeRecModel, GVGVestigeRecUpdate } from "../../../db/GVGVestigeRec"; import { GVGVestigeRecModel, GVGVestigeRecUpdate } from "../../../db/GVGVestigeRec";
import { GVGVestigeSumRankModel } from "../../../db/GVGVestigeSumRank"; import { GVGVestigeSumRankModel } from "../../../db/GVGVestigeSumRank";
import Hero from "../../../db/Hero"; import { HeroModel } from "../../../db/Hero";
import Role from "../../../db/Role"; import Role from "../../../db/Role";
import { GVGVestigeOppLineup, VestigeRank } from "../../../domain/gvgField/returnData"; import { GVGVestigeOppLineup, VestigeRank } from "../../../domain/gvgField/returnData";
import { RoleRankInfo } from "../../../domain/rank"; import { RoleRankInfo } from "../../../domain/rank";
@@ -160,7 +160,7 @@ export class GVGProduceHandler {
if(!hisVestigeRank) return resResult(STATUS.GVG_VESTIGE_TARGET_NOT_FOUND); if(!hisVestigeRank) return resResult(STATUS.GVG_VESTIGE_TARGET_NOT_FOUND);
let hids = hisVestigeRank.lineup?.map(cur => cur.actorId)||[]; let hids = hisVestigeRank.lineup?.map(cur => cur.actorId)||[];
let heroes = await Hero.findByHidRange(hids, targetRoleId, 'hid skinId quality star colorStar lv ce'); let heroes = await HeroModel.findByHidRange(hids, targetRoleId, 'hid skinId quality star colorStar lv ce');
const { leagueCode, name } = myLeague; const { leagueCode, name } = myLeague;
result.setPlayer(dicGVGVestige, role, heroes, serverNames, name, leagueCode); result.setPlayer(dicGVGVestige, role, heroes, serverNames, name, leagueCode);
} }

View File

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

View File

@@ -4,7 +4,7 @@ import { ItemInter, RewardInter } from "../../../pubUtils/interface";
import { resResult, parseGoodStr } from "../../../pubUtils/util"; import { resResult, parseGoodStr } from "../../../pubUtils/util";
import { addItems, getJewelRandSe, handleCost } from "../../../services/role/rewardService"; import { addItems, getJewelRandSe, handleCost } from "../../../services/role/rewardService";
import Hero, { EPlace } from "../../../db/Hero"; import { HeroModel, EPlace } from "../../../db/Hero";
import { gameData, getEquipByJobClassAndEPlace, getNextEquipQuality, getEquipStarIdByEquipId, getNextEquipStar } from "../../../pubUtils/data"; import { gameData, getEquipByJobClassAndEPlace, getNextEquipQuality, getEquipStarIdByEquipId, getNextEquipStar } from "../../../pubUtils/data";
import { BAG, EQUIP } from "../../../pubUtils/dicParam"; import { BAG, EQUIP } from "../../../pubUtils/dicParam";
import { getRandSeResult, updateEplace, updateEplaces, checkJewelCanPutOnEquip, updateStone, checkStoneCanPutOnEquip, isLocked } from "../../../services/equipService"; import { getRandSeResult, updateEplace, updateEplaces, checkJewelCanPutOnEquip, updateStone, checkStoneCanPutOnEquip, isLocked } from "../../../services/equipService";
@@ -36,7 +36,7 @@ export class EquipHandler {
let { hid, ePlaceId } = msg; let { hid, ePlaceId } = msg;
if(!isNumber(ePlaceId) || ePlaceId > 4 || ePlaceId < 1) return resResult(STATUS.WRONG_PARMS); if(!isNumber(ePlaceId) || ePlaceId > 4 || ePlaceId < 1) return resResult(STATUS.WRONG_PARMS);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND); if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[]; let oldEplace = hero.ePlace||[];
@@ -77,7 +77,7 @@ export class EquipHandler {
let { hid, ePlaceId, isOneClick } = msg; let { hid, ePlaceId, isOneClick } = msg;
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[]; let oldEplace = hero.ePlace||[];
let curEquip = oldEplace.find(cur => cur.id == ePlaceId); let curEquip = oldEplace.find(cur => cur.id == ePlaceId);
@@ -123,7 +123,7 @@ export class EquipHandler {
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let { hid, lv } = msg; // lv: 升到哪一级 let { hid, lv } = msg; // lv: 升到哪一级
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let { ePlace, lv: playerLv } = hero; // 装备栏 let { ePlace, lv: playerLv } = hero; // 装备栏
@@ -176,7 +176,7 @@ export class EquipHandler {
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let { hid, ePlaceId, isOneClick } = msg; let { hid, ePlaceId, isOneClick } = msg;
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[]; let oldEplace = hero.ePlace||[];
@@ -247,7 +247,7 @@ export class EquipHandler {
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let { hid, ePlaceId, isOneClick } = msg; let { hid, ePlaceId, isOneClick } = msg;
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[]; let oldEplace = hero.ePlace||[];
@@ -329,7 +329,7 @@ export class EquipHandler {
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let serverId: number = session.get('serverId'); let serverId: number = session.get('serverId');
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[]; let oldEplace = hero.ePlace||[];
@@ -346,7 +346,7 @@ export class EquipHandler {
let originJewel = curEquip.jewel? await JewelModel.findbySeqId(curEquip.jewel): null; // 原本自己的天晶石 let originJewel = curEquip.jewel? await JewelModel.findbySeqId(curEquip.jewel): null; // 原本自己的天晶石
let canSentMineToOrigin = false; // 自己的能不能塞到对方身上 let canSentMineToOrigin = false; // 自己的能不能塞到对方身上
if(jewel.hid != 0) { // 如果天晶石原本镶嵌在其他武将身上,把自己的给他 if(jewel.hid != 0) { // 如果天晶石原本镶嵌在其他武将身上,把自己的给他
let originHero = await Hero.findByHidAndRole(jewel.hid, roleId); let originHero = await HeroModel.findByHidAndRole(jewel.hid, roleId);
let originEplace = originHero?.ePlace||[]; let originEplace = originHero?.ePlace||[];
let originEquip = originEplace.find(cur => cur.jewel == seqId); let originEquip = originEplace.find(cur => cur.jewel == seqId);
if(originEquip) { if(originEquip) {
@@ -384,7 +384,7 @@ export class EquipHandler {
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let serverId: number = session.get('serverId'); let serverId: number = session.get('serverId');
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[]; let oldEplace = hero.ePlace||[];
@@ -413,7 +413,7 @@ export class EquipHandler {
let sid: string = session.get('sid'); let sid: string = session.get('sid');
let serverId: number = session.get('serverId'); let serverId: number = session.get('serverId');
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let oldEplace = hero.ePlace||[]; let oldEplace = hero.ePlace||[];
@@ -566,7 +566,7 @@ export class EquipHandler {
let newJewel = await JewelModel.updateInfo(seqId, { previewRandSe: [], randSe: previewRandSe }); let newJewel = await JewelModel.updateInfo(seqId, { previewRandSe: [], randSe: previewRandSe });
// 更新战力 // 更新战力
if(hid > 0) { if(hid > 0) {
const hero = await Hero.findByHidAndRole(hid, roleId); const hero = await HeroModel.findByHidAndRole(hid, roleId);
await calculateCeWithHero(HERO_SYSTEM_TYPE.JEWEL_RESET_RANDSE, roleId, serverId, sid, hid, { ePlace: hero.ePlace }, { ePlaceId, jewel: newJewel, skinId: hero.skinId }); 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); let newJewel = await JewelModel.quench(seqId, isSuccess, newRandSe.rand);
// 更新战力 // 更新战力
if(isSuccess && hid > 0) { if(isSuccess && hid > 0) {
const hero = await Hero.findByHidAndRole(hid, roleId); const hero = await HeroModel.findByHidAndRole(hid, roleId);
await calculateCeWithHero(HERO_SYSTEM_TYPE.JEWEL_QUENCH, roleId, serverId, sid, hid, { ePlace: hero.ePlace }, { ePlaceId, jewel: newJewel, skinId: hero.skinId }); 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 }); let newJewel = await JewelModel.updateInfo(targetJewel.seqId, { previewRandSe: [], randSe: newRandSe });
// 更新战力 // 更新战力
if(targetJewel.hid > 0) { if(targetJewel.hid > 0) {
const hero = await Hero.findByHidAndRole(targetJewel.hid, roleId); const hero = await HeroModel.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 }); 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 { addItems, getFriendPointObject, handleCost } from "../../../services/role/rewardService";
import { RewardInter } from "../../../pubUtils/interface"; import { RewardInter } from "../../../pubUtils/interface";
import { FriendPresentLogModel } from '../../../db/FriendPresentLog'; import { FriendPresentLogModel } from '../../../db/FriendPresentLog';
import Hero, { EPlace } from "../../../db/Hero"; import { HeroModel, EPlace } from "../../../db/Hero";
import { FRIEND } from "../../../pubUtils/dicParam"; import { FRIEND } from "../../../pubUtils/dicParam";
import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guild"; import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guild";
import { createPrivateMsg, delPrivateMsg, privateRoomId, pushMsgToRole, pushPresent } from "../../../services/chatService"; import { createPrivateMsg, delPrivateMsg, privateRoomId, pushMsgToRole, pushPresent } from "../../../services/chatService";
@@ -689,7 +689,7 @@ export class FriendHandler {
let result: PlayerDetail; let result: PlayerDetail;
let dbHeroes = await Hero.findAndSortByCe(oppoRoleId); let dbHeroes = await HeroModel.findAndSortByCe(oppoRoleId);
let role = await Role.findByRoleId(oppoRoleId, null, true); let role = await Role.findByRoleId(oppoRoleId, null, true);
if(!role) return resResult(STATUS.ROLE_NOT_FOUND); if(!role) return resResult(STATUS.ROLE_NOT_FOUND);
@@ -738,7 +738,7 @@ export class FriendHandler {
let roleCe = await RoleCeModel.findByRoleId(hisRoleId); let roleCe = await RoleCeModel.findByRoleId(hisRoleId);
if (!roleCe) return resResult(STATUS.ROLE_NOT_FOUND); if (!roleCe) return resResult(STATUS.ROLE_NOT_FOUND);
let heroList = await Hero.findByHidRange(hids, hisRoleId, HERO_SELECT.HERO_DETAIL, true); let heroList = await HeroModel.findByHidRange(hids, hisRoleId, HERO_SELECT.HERO_DETAIL, true);
if (heroList.length <= 0) return resResult(STATUS.HERO_NOT_FIND); if (heroList.length <= 0) return resResult(STATUS.HERO_NOT_FIND);
let jewels = await JewelModel.findMapbyRoleAndHids(hisRoleId, hids); 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 { handleCost, addItems, unlockFigure, getCoinObject, getGoldObject } from '../../../services/role/rewardService';
import { resResult, deepCopy, parseGoodStr } from '../../../pubUtils/util'; import { resResult, deepCopy, parseGoodStr } from '../../../pubUtils/util';
import { STATUS } from '../../../consts/statusCode'; import { STATUS } from '../../../consts/statusCode';
import Hero, { Connect, HeroSkin, HeroUpdate, EPlace, Talent } from '../../../db/Hero'; import { HeroModel, 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 { 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 Role from '../../../db/Role';
import { ItemModel } from '../../../db/Item'; import { ItemModel } from '../../../db/Item';
@@ -55,7 +55,7 @@ export class HeroHandler {
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND); if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
// 检查是否存在武将 // 检查是否存在武将
let hasHero = await Hero.findByHidAndRole(hid, roleId); let hasHero = await HeroModel.findByHidAndRole(hid, roleId);
if (hasHero) return resResult(STATUS.ROLE_HERO_EXISTS); if (hasHero) return resResult(STATUS.ROLE_HERO_EXISTS);
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质 // 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
let { pieceId, pieceCount } = dicHero; let { pieceId, pieceCount } = dicHero;
@@ -87,7 +87,7 @@ export class HeroHandler {
return resResult(STATUS.ROLE_HERO_LV_TYPE_ERROR); return resResult(STATUS.ROLE_HERO_LV_TYPE_ERROR);
} }
// 计算武将可以升的级数 // 计算武将可以升的级数
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS); if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let { lv: playerLv } = await Role.findByRoleId(roleId); let { lv: playerLv } = await Role.findByRoleId(roleId);
let { lv: oldLv, exp: oldExp } = hero; let { lv: oldLv, exp: oldExp } = hero;
@@ -160,7 +160,7 @@ export class HeroHandler {
let dicJob = gameData.job.get(jobid); let dicJob = gameData.job.get(jobid);
if (!dicJob) return resResult(STATUS.DIC_DATA_NOT_FOUND); if (!dicJob) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS); if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let { star: oldStar, starStage: oldStarStage, quality } = hero; let { star: oldStar, starStage: oldStarStage, quality } = hero;
@@ -223,7 +223,7 @@ export class HeroHandler {
// 根据dic_hero 获得 碎片id // 根据dic_hero 获得 碎片id
let { pieceId } = dicHero; let { pieceId } = dicHero;
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS); if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let { quality: oldQuality, star } = hero; let { quality: oldQuality, star } = hero;
// if (quality != oldQuality) { // if (quality != oldQuality) {
@@ -277,7 +277,7 @@ export class HeroHandler {
let dicJob = gameData.job.get(jobid); let dicJob = gameData.job.get(jobid);
if (!dicJob) return resResult(STATUS.DIC_DATA_NOT_FOUND); if (!dicJob) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS); if (!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let { colorStar: oldColorStar, colorStarStage: oldColorStarStage, star, quality } = hero; let { colorStar: oldColorStar, colorStarStage: oldColorStarStage, star, quality } = hero;
@@ -347,7 +347,7 @@ export class HeroHandler {
let { hid, isOneClick, canReplace = false } = msg; let { hid, isOneClick, canReplace = false } = msg;
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN); if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let dicJob = gameData.job.get(hero.job); let dicJob = gameData.job.get(hero.job);
@@ -400,7 +400,7 @@ export class HeroHandler {
let { hid } = msg; let { hid } = msg;
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN); if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) if (!hero)
return resResult(STATUS.HERO_NOT_FIND); return resResult(STATUS.HERO_NOT_FIND);
let curJob = hero.job; let curJob = hero.job;
@@ -442,7 +442,7 @@ export class HeroHandler {
let dicFriendShip = getFriendShipByIdAndLv(hid, shipId, 1); let dicFriendShip = getFriendShipByIdAndLv(hid, shipId, 1);
if(!dicFriendShip) return resResult(STATUS.DIC_DATA_NOT_FOUND); if(!dicFriendShip) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let heroes = await Hero.findByHidRange(dicFriendShip.hids, roleId); let heroes = await HeroModel.findByHidRange(dicFriendShip.hids, roleId);
if (heroes.length < dicFriendShip.hids.length) return resResult(STATUS.ROLE_HERO_NOT_EXISTS); if (heroes.length < dicFriendShip.hids.length) return resResult(STATUS.ROLE_HERO_NOT_EXISTS);
let hero = heroes.find(cur => cur.hid == hid); let hero = heroes.find(cur => cur.hid == hid);
if(!hero) return resResult(STATUS.ROLE_HERO_NOT_EXISTS); 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 (!dicSkin) return resResult(STATUS.HERO_SKIN_NOT_FIND);
if(isHeroHidden(dicSkin.actorId)) return resResult(STATUS.HERO_IS_HIDDEN); if(isHeroHidden(dicSkin.actorId)) return resResult(STATUS.HERO_IS_HIDDEN);
let hero = await Hero.findByHidAndRole(dicSkin.actorId, roleId); let hero = await HeroModel.findByHidAndRole(dicSkin.actorId, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let newHeroSkins: HeroSkin[] = []; let newHeroSkins: HeroSkin[] = [];
@@ -578,7 +578,7 @@ export class HeroHandler {
let roleId: string = session.get('roleId'); let roleId: string = session.get('roleId');
let { hid } = msg; let { hid } = msg;
let hero = await Hero.findByHidAndRole(hid, roleId, 'hid consumes star starStage quality'); let hero = await HeroModel.findByHidAndRole(hid, roleId, 'hid consumes star starStage quality');
if(!hero) return resResult(STATUS.HERO_NOT_FIND); if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let { consumes} = calStarUpConsume(hero); let { consumes} = calStarUpConsume(hero);
@@ -595,7 +595,7 @@ export class HeroHandler {
if(!isNumber(hid) && !hid) return resResult(STATUS.WRONG_PARMS); if(!isNumber(hid) && !hid) return resResult(STATUS.WRONG_PARMS);
// 武将初始,但是皮肤这里不初始 // 武将初始,但是皮肤这里不初始
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND); if(!hero) return resResult(STATUS.HERO_NOT_FIND);
// 消耗 // 消耗
@@ -615,7 +615,7 @@ export class HeroHandler {
let newSkins = initSkinTalent(skins); let newSkins = initSkinTalent(skins);
let newQuality = quality >= 3? ( dicHero.quality >= 3? dicHero.quality: 3 ): quality; let newQuality = quality >= 3? ( dicHero.quality >= 3? dicHero.quality: 3 ): quality;
let dicHeroScroll = getScollByStar(dicHero.quality, star, newQuality, dicHero.initialColorStar); let dicHeroScroll = getScollByStar(dicHero.quality, star, newQuality, dicHero.initialColorStar);
let initInfo = Hero.getInitInfo(hid, { let initInfo = HeroModel.getInitInfo(hid, {
artifact: hero.artifact, artifact: hero.artifact,
job: dicJob.jobid, skins: newSkins, skinId, ce, job: dicJob.jobid, skins: newSkins, skinId, ce,
star, starStage, colorStar: dicHero.initialColorStar, colorStarStage: 0, quality: newQuality, star, starStage, colorStar: dicHero.initialColorStar, colorStarStage: 0, quality: newQuality,
@@ -661,7 +661,7 @@ export class HeroHandler {
let dicHeroTalent = gameData.heroTalent.get(id); let dicHeroTalent = gameData.heroTalent.get(id);
if(!dicHeroTalent) return resResult(STATUS.DIC_DATA_NOT_FOUND); if(!dicHeroTalent) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND); if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let skins = hero.skins||[]; let skins = hero.skins||[];
@@ -702,7 +702,7 @@ export class HeroHandler {
let dicHeroTalent = gameData.heroTalent.get(id); let dicHeroTalent = gameData.heroTalent.get(id);
if(!dicHeroTalent) return resResult(STATUS.DIC_DATA_NOT_FOUND); if(!dicHeroTalent) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND); if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let skins = hero.skins||[]; let skins = hero.skins||[];
@@ -737,7 +737,7 @@ export class HeroHandler {
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN); if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND); if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let skins = hero.skins||[]; let skins = hero.skins||[];
@@ -765,7 +765,7 @@ export class HeroHandler {
let dicHero = gameData.hero.get(hid); let dicHero = gameData.hero.get(hid);
if(!dicHero || dicHero.urType != 1) return resResult(STATUS.HERO_CAN_NOT_SET_SUB); if(!dicHero || dicHero.urType != 1) return resResult(STATUS.HERO_CAN_NOT_SET_SUB);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_FIND); if(!hero) return resResult(STATUS.HERO_NOT_FIND);
let subHid = 0; let subHid = 0;
@@ -775,7 +775,7 @@ export class HeroHandler {
if(!dicHero || dicHero.urType == 1) return resResult(STATUS.HERO_CAN_NOT_BE_SET_SUB); if(!dicHero || dicHero.urType == 1) return resResult(STATUS.HERO_CAN_NOT_BE_SET_SUB);
subHid = dicHero.actorId; subHid = dicHero.actorId;
let subHero = await Hero.findByHidAndRole(subHid, roleId); let subHero = await HeroModel.findByHidAndRole(subHid, roleId);
if(!subHero) return resResult(STATUS.HERO_NOT_FIND); if(!subHero) return resResult(STATUS.HERO_NOT_FIND);
await LadderMatchModel.removeBySub(roleId, subHid); await LadderMatchModel.removeBySub(roleId, subHid);
@@ -789,7 +789,7 @@ export class HeroHandler {
} }
// 设置副将 // 设置副将
const { preHid, curHero } = await Hero.setSubHero(roleId, hid, subSkinId, subHid); const { preHid, curHero } = await HeroModel.setSubHero(roleId, hid, subSkinId, subHid);
return resResult(STATUS.SUCCESS, { preHid, curHero: pick(curHero, ['hid', 'subHid', 'subActorId']) }); return resResult(STATUS.SUCCESS, { preHid, curHero: pick(curHero, ['hid', 'subHid', 'subActorId']) });
} }
@@ -807,7 +807,7 @@ export class HeroHandler {
return resResult(STATUS.TOKEN_ERR); return resResult(STATUS.TOKEN_ERR);
} }
await Hero.deleteAccount(roleId); await HeroModel.deleteAccount(roleId);
await JewelModel.deleteAccount(roleId); await JewelModel.deleteAccount(roleId);
await SkinModel.deleteMany({ roleId }); await SkinModel.deleteMany({ roleId });
await SchoolModel.deleteAccount(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 id: dicHero.pieceId, count: dicHero.pieceCount * HERO_GROW_MAX.STAR * ABI_STAGE.END
}], ITEM_CHANGE_REASON.DEBUG); }], ITEM_CHANGE_REASON.DEBUG);
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
await Hero.deleteHero(roleId, hid); await HeroModel.deleteHero(roleId, hid);
let role = await Role.findByRoleId(roleId); let role = await Role.findByRoleId(roleId);
await PvpDefenseModel.deleteHero(roleId, hid); await PvpDefenseModel.deleteHero(roleId, hid);
await Role.updateRoleInfo(roleId, { topLineup: role.topLineup, topLineupCe: role.topLineupCe, ce: role.ce - hero.ce }); 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) { if (magicWord !== DEBUG_MAGIC_WORD) {
return resResult(STATUS.TOKEN_ERR); return resResult(STATUS.TOKEN_ERR);
} }
let hero = await Hero.findByHidAndRole(hid, roleId); let hero = await HeroModel.findByHidAndRole(hid, roleId);
if(!hero) { if(!hero) {
let { resultHeroes } = await createHero(roleId, roleName, sid, serverId, { hid, count: 1, ...params }); let { resultHeroes } = await createHero(roleId, roleName, sid, serverId, { hid, count: 1, ...params });
return resResult(STATUS.SUCCESS, { hero: resultHeroes[0] }); return resResult(STATUS.SUCCESS, { hero: resultHeroes[0] });
} else { } else {
hero = await Hero.updateHeroInfo(roleId, hid, params); hero = await HeroModel.updateHeroInfo(roleId, hid, params);
return resResult(STATUS.SUCCESS, { hero: new HeroParam(hero) }); return resResult(STATUS.SUCCESS, { hero: new HeroParam(hero) });
} }

View File

@@ -1,6 +1,6 @@
import { STATUS } from '../../../consts/statusCode'; import { STATUS } from '../../../consts/statusCode';
import Role, { RoleUpdate } from './../../../db/Role'; import Role, { RoleUpdate } from './../../../db/Role';
import Hero, { HeroType, HeroUpdate } from '../../../db/Hero'; import { HeroModel, HeroType, HeroUpdate } from '../../../db/Hero';
import { resResult, decodeIdCntArrayStr, parseGoodStr, genCode } from '../../../pubUtils/util'; import { resResult, decodeIdCntArrayStr, parseGoodStr, genCode } from '../../../pubUtils/util';
import { Application, BackendSession, pinus, HandlerService, } from 'pinus'; import { Application, BackendSession, pinus, HandlerService, } from 'pinus';
import { handleCost, addItems, getGoldObject, getCoinObject } from '../../../services/role/rewardService'; import { handleCost, addItems, getGoldObject, getCoinObject } from '../../../services/role/rewardService';
@@ -219,7 +219,7 @@ export class RoleHandler {
return resResult(STATUS.ROLE_SCHOOL_HERO_USED); return resResult(STATUS.ROLE_SCHOOL_HERO_USED);
} }
curHero = await Hero.findByHidAndRole(hid, roleId); curHero = await HeroModel.findByHidAndRole(hid, roleId);
if (!curHero) return resResult(STATUS.HERO_NOT_FIND); if (!curHero) return resResult(STATUS.HERO_NOT_FIND);
} }
@@ -298,7 +298,7 @@ export class RoleHandler {
let dicHero = gameData.hero.get(hid); let dicHero = gameData.hero.get(hid);
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND); if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
let hero = await Hero.findByHidAndRole(hid, roleId, 'hid lv star colorStar quality scrollId scrollActive scrollStar scrollColorStar scrollQuality connections attr ce'); let hero = await HeroModel.findByHidAndRole(hid, roleId, 'hid lv star colorStar quality scrollId scrollActive scrollStar scrollColorStar scrollQuality connections attr ce');
if (!hero) return resResult(STATUS.HERO_NOT_FIND); if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let { star, colorStar, quality, scrollId, scrollActive, scrollStar, scrollColorStar, scrollQuality } = hero; 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 { UserShopModel } from "../../../db/UserShop";
import { handleCost, addItems } from "../../../services/role/rewardService"; import { handleCost, addItems } from "../../../services/role/rewardService";
import { SHOP } from "../../../pubUtils/dicParam"; import { SHOP } from "../../../pubUtils/dicParam";
import Hero from "../../../db/Hero"; import { HeroModel } from "../../../db/Hero";
import { checkShopInPurchase, getShopDicById, getShopListByType, getShopPrice } from "../../../services/shopService"; import { checkShopInPurchase, getShopDicById, getShopListByType, getShopPrice } from "../../../services/shopService";
import { RewardInter } from "../../../pubUtils/interface"; import { RewardInter } from "../../../pubUtils/interface";
import { UserShopTypeModel } from "../../../db/UserShopType"; import { UserShopTypeModel } from "../../../db/UserShopType";
@@ -124,7 +124,7 @@ export class ShopHandler {
return resResult(STATUS.ITEM_NOT_SOUL); return resResult(STATUS.ITEM_NOT_SOUL);
} }
let hero = await Hero.findByHidAndRole(dicGoods.hid, roleId); let hero = await HeroModel.findByHidAndRole(dicGoods.hid, roleId);
if(!hero) return resResult(STATUS.HERO_NOT_MAX); if(!hero) return resResult(STATUS.HERO_NOT_MAX);
if(hero.colorStar != HERO_GROW_MAX.COLORSTAR) return resResult(STATUS.HERO_NOT_MAX); if(hero.colorStar != HERO_GROW_MAX.COLORSTAR) return resResult(STATUS.HERO_NOT_MAX);

View File

@@ -2,7 +2,7 @@ import { ACTIVITY_TYPE } from '../../consts';
import { ActivityModel, ActivityModelType } from '../../db/Activity'; import { ActivityModel, ActivityModelType } from '../../db/Activity';
import { ActivityGrowthModel, ActivityGrowthModelType } from '../../db/ActivityGrowth'; import { ActivityGrowthModel, ActivityGrowthModelType } from '../../db/ActivityGrowth';
import { ActivityGrowthPointModel, ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint'; import { ActivityGrowthPointModel, ActivityGrowthPointModelType } from '../../db/ActivityGrowthPoint';
import Hero from '../../db/Hero'; import { HeroModel } from '../../db/Hero';
import { GrowthData } from '../../domain/activityField/growthField'; import { GrowthData } from '../../domain/activityField/growthField';
import { getRoleCreateTime, getServerCreateTime } from '../redisService'; import { getRoleCreateTime, getServerCreateTime } from '../redisService';
import { getActivitiesByType, getActivityById } from './activityService'; 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 playerRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityData.activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityData.activityId, roleId);
let userHeroes = await Hero.findByRole(roleId); let userHeroes = await HeroModel.findByRole(roleId);
let createTime = await getRoleCreateTime(roleId); let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId); let serverTime = await getServerCreateTime(serverId);
let playerData = new GrowthData(activityData, createTime, serverTime); 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 playerRecords: ActivityGrowthModelType[] = await ActivityGrowthModel.findData(serverId, activityId, roleId);
let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId); let playerPointRecord: ActivityGrowthPointModelType = await ActivityGrowthPointModel.findData(serverId, activityId, roleId);
let userHeroes = await Hero.findByRole(roleId); let userHeroes = await HeroModel.findByRole(roleId);
let createTime = await getRoleCreateTime(roleId); let createTime = await getRoleCreateTime(roleId);
let serverTime = await getServerCreateTime(serverId); let serverTime = await getServerCreateTime(serverId);

View File

@@ -35,7 +35,7 @@ import Item, { ItemModel } from '../db/Item';
import { PvpDefenseModel } from '../db/PvpDefense'; import { PvpDefenseModel } from '../db/PvpDefense';
import { getDonation } from './donateService'; import { getDonation } from './donateService';
import { refChallengeCnt, sendLastSeasonRewardIfNotSent } from './pvpService'; import { refChallengeCnt, sendLastSeasonRewardIfNotSent } from './pvpService';
import Hero from '../db/Hero'; import { HeroModel } from '../db/Hero';
import { JewelModel } from '../db/Jewel'; import { JewelModel } from '../db/Jewel';
import { SkinModel } from '../db/Skin'; import { SkinModel } from '../db/Skin';
import { getAp } from './actionPointService'; import { getAp } from './actionPointService';
@@ -121,7 +121,7 @@ export async function getModuleData(type: string, data: { role: RoleType, sessio
let { hasGuild, guild, userGuild, guildResult } = guildData; let { hasGuild, guild, userGuild, guildResult } = guildData;
switch (type) { switch (type) {
case 'role': case 'role':
let heros = await Hero.findByRole(role.roleId, [], HERO_SELECT.ENTRY, true); let heros = await HeroModel.findByRole(role.roleId, [], HERO_SELECT.ENTRY, true);
let jewels = await JewelModel.findbyRole(role.roleId, JEWEL_SELECT.ENTRY); let jewels = await JewelModel.findbyRole(role.roleId, JEWEL_SELECT.ENTRY);
let items = await ItemModel.findbyRole(role.roleId, ITEM_SELECT.ENTRY); let items = await ItemModel.findbyRole(role.roleId, ITEM_SELECT.ENTRY);
let skins = await SkinModel.findbyRole(role.roleId, SKIN_SELECT.ENTRY); let skins = await SkinModel.findbyRole(role.roleId, SKIN_SELECT.ENTRY);

View File

@@ -25,7 +25,7 @@ import { GVGUserDataModel } from "../../db/GVGUserData";
import Role from "../../db/Role"; import Role from "../../db/Role";
import { getFightTimeByPeriod } from "./gvgFightService"; import { getFightTimeByPeriod } from "./gvgFightService";
import { getRandSingleEelm } from "../../pubUtils/util"; import { getRandSingleEelm } from "../../pubUtils/util";
import Hero, { HeroType } from "../../db/Hero"; import { HeroModel, HeroType } from "../../db/Hero";
import { ArtifactModel } from "../../db/Artifact"; import { ArtifactModel } from "../../db/Artifact";
import { getHeroesAttributes } from "../playerCeService"; import { getHeroesAttributes } from "../playerCeService";
import { CounterModel } from "../../db/Counter"; 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)) { if(team.configId != configId || (hasConfirm && team.confirmConfigId != configId)) {
let { teamCode, maxDurability, lineup } = team; let { teamCode, maxDurability, lineup } = team;
let { lv, title, roleName, guildCode } = await Role.findByRoleId(roleId, 'lv title roleName guildCode'); let { lv, title, roleName, guildCode } = await Role.findByRoleId(roleId, 'lv title roleName guildCode');
let heroes = await Hero.findByHidRange(lineup.map(hero => hero.actorId), roleId); let heroes = await HeroModel.findByHidRange(lineup.map(hero => hero.actorId), roleId);
let { newLineup, newLineupCe } = await generNewLineup(roleId, heroes, lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex }))); let { newLineup, newLineupCe } = await generNewLineup(roleId, heroes, lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex })));
let addUpdate = hasConfirm? { confirmConfigId: configId }: {}; 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 }); 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 });

View File

@@ -12,7 +12,7 @@ import { GVGVestigeLockModel } from "../../db/GVGVestigeLock";
import { GVGVestigeRankModel, GVGVestigeRankType, GVGVestigeRankUpdate } from "../../db/GVGVestigeRank"; import { GVGVestigeRankModel, GVGVestigeRankType, GVGVestigeRankUpdate } from "../../db/GVGVestigeRank";
import { GVGVestigeRecType } from "../../db/GVGVestigeRec"; import { GVGVestigeRecType } from "../../db/GVGVestigeRec";
import { GVGVestigeSumRankModel, GVGVestigeSumRankType } from "../../db/GVGVestigeSumRank"; import { GVGVestigeSumRankModel, GVGVestigeSumRankType } from "../../db/GVGVestigeSumRank";
import Hero, { HeroType } from "../../db/Hero"; import { HeroModel, HeroType } from "../../db/Hero";
import Role from "../../db/Role"; import Role from "../../db/Role";
import { OppDetailData, OppPlayerHeroInfo, OppPlayerInfo } from "../../domain/gvgField/gvgDb"; import { OppDetailData, OppPlayerHeroInfo, OppPlayerInfo } from "../../domain/gvgField/gvgDb";
import { GVGVestigeOppPlayer } from "../../domain/gvgField/returnData"; import { GVGVestigeOppPlayer } from "../../domain/gvgField/returnData";
@@ -234,7 +234,7 @@ export async function generateDefenseInfo(roleId: string, vestigeId: number, ran
let lineup = playerVestigeData.lineup||[]; let lineup = playerVestigeData.lineup||[];
let hids = lineup.map(cur => cur.actorId); 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 role = await Role.findByRoleId(playerVestigeData.roleId, 'roleId roleName heads head frames frame spines spine title lv');
let heroes = await Hero.findByHidRange(hids, playerVestigeData.roleId, 'hid skinId lv star colorStar quality ce'); let heroes = await HeroModel.findByHidRange(hids, playerVestigeData.roleId, 'hid skinId lv star colorStar quality ce');
let league = await GVGLeagueModel.findByCode(playerVestigeData.leagueCode); let league = await GVGLeagueModel.findByCode(playerVestigeData.leagueCode);
let info = new OppPlayerInfo(); let info = new OppPlayerInfo();
@@ -266,7 +266,7 @@ export async function getOppDetailData(rec: GVGVestigeRecType) {
const dicWarJson = gameData.warJson.get(dicWar.dispatchJsonId); const dicWarJson = gameData.warJson.get(dicWar.dispatchJsonId);
const defenseInfo = rec.defenseInfo.heroes||[]; const defenseInfo = rec.defenseInfo.heroes||[];
const hids = defenseInfo.map(cur => cur.hid); const hids = defenseInfo.map(cur => cur.hid);
const heroes = await Hero.findByHidRange(hids, rec.defenseRoleId, 'hid lv quality star colorStar skins ce skinId'); const heroes = await HeroModel.findByHidRange(hids, rec.defenseRoleId, 'hid lv quality star colorStar skins ce skinId');
const artifactSeids = heroes.map(hero => hero.artifact); const artifactSeids = heroes.map(hero => hero.artifact);
const artifacts = await ArtifactModel.findbySeqIds(rec.defenseRoleId, artifactSeids); const artifacts = await ArtifactModel.findbySeqIds(rec.defenseRoleId, artifactSeids);
result.setByPlayer(dicWarJson, defenseInfo, heroes, artifacts); result.setByPlayer(dicWarJson, defenseInfo, heroes, artifacts);

View File

@@ -1,5 +1,5 @@
import Hero, { HeroType } from '../db/Hero'; import { HeroModel, HeroType } from '../db/Hero';
import Role, { RoleType, WarCount } from '../db/Role' import Role, { RoleType, WarCount } from '../db/Role'
import { getLvByExp, getExpByLv, gameData, getDicApByLv } from '../pubUtils/data'; import { getLvByExp, getExpByLv, gameData, getDicApByLv } from '../pubUtils/data';
import { updateRoleOnlineInfo, updateUserInfo } from './redisService'; import { updateRoleOnlineInfo, updateUserInfo } from './redisService';
@@ -92,7 +92,7 @@ export async function checkBattleHeroes(roleId: string, seqIds: Array<number> =
let flag = true; let flag = true;
// if (seqIds.length <= 0) flag = false; // if (seqIds.length <= 0) flag = false;
const findHeroes = await Hero.findBySeqIdRange(seqIds, roleId); const findHeroes = await HeroModel.findBySeqIdRange(seqIds, roleId);
if (findHeroes.length != seqIds.length) flag = false; if (findHeroes.length != seqIds.length) flag = false;
for (let seqId of seqIds) { for (let seqId of seqIds) {
let hero = findHeroes.find(cur => cur.seqId == seqId); let hero = findHeroes.find(cur => cur.seqId == seqId);
@@ -110,7 +110,7 @@ export async function checkBattleHeroesByHid(roleId: string, heroes: Array<numbe
let flag = true; let flag = true;
// if (heroes.length <= 0) flag = false; // if (heroes.length <= 0) flag = false;
const findHeroes = await Hero.findByHidRange(heroes, roleId); const findHeroes = await HeroModel.findByHidRange(heroes, roleId);
if (findHeroes.length != heroes.length) flag = false; if (findHeroes.length != heroes.length) flag = false;
for (let hid of heroes) { for (let hid of heroes) {
let hero = findHeroes.find(cur => cur.hid == hid); let hero = findHeroes.find(cur => cur.hid == hid);

View File

@@ -2,7 +2,7 @@
* 体力系统 * 体力系统
*/ */
import Hero, { HeroType, HeroUpdate } from '../db/Hero'; import { EPlace, HeroModel, HeroType, HeroUpdate } from '../db/Hero';
import Role, { RoleUpdate, RoleType } from '../db/Role'; import Role, { RoleUpdate, RoleType } from '../db/Role';
import { Rank } from './rankService'; import { Rank } from './rankService';
@@ -437,7 +437,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve
if(heroCe.has(hid)) { if(heroCe.has(hid)) {
let { ce, inc } = heroCe.get(hid); let { ce, inc } = heroCe.get(hid);
let heroUpdate = heroUpdates.get(hid)||{}; let heroUpdate = heroUpdates.get(hid)||{};
let hero = await Hero.updateHeroInfo(roleId, hid, { ...heroUpdate, ce }); let hero = await HeroModel.updateHeroInfo(roleId, hid, { ...heroUpdate, ce });
calCe.setResultHero(hero); calCe.setResultHero(hero);
heroes.push(hero); heroes.push(hero);
await PvpDefenseModel.updateCe(roleId, hid, ce); // 更新pvp防守阵战力 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); await GVGVestigeRankModel.updateCe(roleId, hid, ce);
pushHeros.push({ hid, ce, incHeroCe: inc }); pushHeros.push({ hid, ce, incHeroCe: inc });
} else { } else {
let hero = await Hero.updateHeroInfo(roleId, hid, heroUpdate); let hero = await HeroModel.updateHeroInfo(roleId, hid, heroUpdate);
heroes.push(hero); heroes.push(hero);
} }
} }
for(let [hid, { ce, inc }] of heroCe) { for(let [hid, { ce, inc }] of heroCe) {
if(changeHids.indexOf(hid) == -1) { if(changeHids.indexOf(hid) == -1) {
let hero = await Hero.updateHeroInfo(roleId, hid, { ce }); let hero = await HeroModel.updateHeroInfo(roleId, hid, { ce });
await PvpDefenseModel.updateCe(roleId, hid, ce); // 更新pvp防守阵战力 await PvpDefenseModel.updateCe(roleId, hid, ce); // 更新pvp防守阵战力
await LadderMatchModel.updateCe(roleId, hid, ce); await LadderMatchModel.updateCe(roleId, hid, ce);
await GVGVestigeRankModel.updateCe(roleId, hid, ce); await GVGVestigeRankModel.updateCe(roleId, hid, ce);

View File

@@ -11,7 +11,7 @@ import { EXTERIOR, PVP } from '../pubUtils/dicParam';
import { PVPConfigModel } from '../db/PvpConfig' import { PVPConfigModel } from '../db/PvpConfig'
import { nowSeconds, getTimeFun } from '../pubUtils/timeUtil'; import { nowSeconds, getTimeFun } from '../pubUtils/timeUtil';
import { HeroesRecord, PvpRecordPlayerInfo } from '../db/PvpRecord'; import { HeroesRecord, PvpRecordPlayerInfo } from '../db/PvpRecord';
import Hero, { HeroType } from '../db/Hero'; import { HeroModel, HeroType } from '../db/Hero';
import { AttributeCal } from '../domain/roleField/attribute'; import { AttributeCal } from '../domain/roleField/attribute';
import { PvpEnemies, PvpHeroInfo, PvpOtherHeroes } from '../domain/dbGeneral'; import { PvpEnemies, PvpHeroInfo, PvpOtherHeroes } from '../domain/dbGeneral';
import { pinus } from 'pinus'; import { pinus } from 'pinus';
@@ -224,7 +224,7 @@ async function generPlayerOppHis(pvpdefense: PvpDefenseType, roleId: string, pos
let seasonNum: number = pinus.app.get('pvpSeasonNum'); let seasonNum: number = pinus.app.get('pvpSeasonNum');
let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum, groupId }); let r = new Rank(REDIS_KEY.PVP_RANK, { seasonNum, groupId });
let rankLv = await r.getMyRank({ roleId: role.roleId }); let rankLv = await r.getMyRank({ roleId: role.roleId });
let dbHeroes = await Hero.findByRole(role.roleId, [{ field: 'ce', sortBy: -1 }]); let dbHeroes = await HeroModel.findByRole(role.roleId, [{ field: 'ce', sortBy: -1 }]);
let heroes = new Array<PvpEnemies>(); let heroes = new Array<PvpEnemies>();
let otherHeroes = new Array<PvpOtherHeroes>(); // 阵容外的所有武将信息 let otherHeroes = new Array<PvpOtherHeroes>(); // 阵容外的所有武将信息
let defCe = 0; let defCe = 0;
@@ -479,7 +479,7 @@ export async function generMyRecInfo(pvpDefense: PvpDefenseType, role: RoleType,
hid, addScore: 0, plusScore: 0, score: curHeroScore ? curHeroScore.score : 0 hid, addScore: 0, plusScore: 0, score: curHeroScore ? curHeroScore.score : 0
}); });
} }
const myHero = await Hero.findByHidAndRole(hid, roleId, 'quality star colorStar lv skinId'); const myHero = await HeroModel.findByHidAndRole(hid, roleId, 'quality star colorStar lv skinId');
let record = new HeroesRecord(); let record = new HeroesRecord();
record.setByHero(myHero, params); record.setByHero(myHero, params);
@@ -726,7 +726,7 @@ export async function generPvpLineupCe(roleId: string, lineupCe: LineupCe[], att
} }
} }
} }
let heroes = await Hero.findByHidRange(newHids, roleId, 'hid ce', true); let heroes = await HeroModel.findByHidRange(newHids, roleId, 'hid ce', true);
for(let { hid, ce } of heroes) { for(let { hid, ce } of heroes) {
newLineupCe.push({ hid, ce }); newLineupCe.push({ hid, ce });
} }

View File

@@ -3,7 +3,7 @@ import { getInfoKeyByRedisKey, ROLE_SELECT, GUILD_SELECT, REDIS_KEY, HERO_SELECT
import { redisClient, delKeys, saveLadderDefCeByData } from "./redisService"; import { redisClient, delKeys, saveLadderDefCeByData } from "./redisService";
import Role, { RoleType } from "../db/Role"; import Role, { RoleType } from "../db/Role";
import { GuildType, GuildModel } from "../db/Guild"; import { GuildType, GuildModel } from "../db/Guild";
import Hero, { HeroType, HeroUpdate } from "../db/Hero"; import { HeroModel, HeroType, HeroUpdate } from "../db/Hero";
import { PvpDefenseModel } from "../db/PvpDefense"; import { PvpDefenseModel } from "../db/PvpDefense";
import { gameData } from "../pubUtils/data"; import { gameData } from "../pubUtils/data";
import { getSeconds, nowSeconds } from "../pubUtils/timeUtil"; import { getSeconds, nowSeconds } from "../pubUtils/timeUtil";
@@ -310,7 +310,7 @@ export class Rank {
if(!role) return; if(!role) return;
} }
let { topLineup = [] } = role; let { topLineup = [] } = role;
let heroes = await Hero.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP); let heroes = await HeroModel.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP);
let arr = new Array<LineupParam>(); let arr = new Array<LineupParam>();
for (let { hid } of topLineup) { for (let { hid } of topLineup) {
let curHero = heroes.find(cur => cur.hid == hid); let curHero = heroes.find(cur => cur.hid == hid);
@@ -322,7 +322,7 @@ export class Rank {
await this.setUserInfo(infoKey, { roleId }, arr); await this.setUserInfo(infoKey, { roleId }, arr);
} else if (infoKey == REDIS_KEY.HERO_INFO) { } else if (infoKey == REDIS_KEY.HERO_INFO) {
if (!hero) { if (!hero) {
hero = await Hero.findByHidAndRole(hid, roleId, HERO_SELECT.RANK_LINEUP, true); hero = await HeroModel.findByHidAndRole(hid, roleId, HERO_SELECT.RANK_LINEUP, true);
if(!hero) return; if(!hero) return;
} }
let arr = new Array<LineupParam>(); let arr = new Array<LineupParam>();
@@ -340,7 +340,7 @@ export class Rank {
if (dungeonWarId > 0) { if (dungeonWarId > 0) {
let cur = dungeonHeroes.find(cur => cur.battleId == dungeonWarId); let cur = dungeonHeroes.find(cur => cur.battleId == dungeonWarId);
let lineup = cur ? cur.heroes : []; let lineup = cur ? cur.heroes : [];
let heroes = await Hero.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP); let heroes = await HeroModel.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP);
let arr = new Array<LineupParam>(); let arr = new Array<LineupParam>();
for (let seqId of lineup) { for (let seqId of lineup) {
let curHero = heroes.find(cur => cur.seqId == seqId); let curHero = heroes.find(cur => cur.seqId == seqId);
@@ -357,7 +357,7 @@ export class Rank {
if(!role) return; if(!role) return;
} }
let { showLineup, topLineup = [] } = role; let { showLineup, topLineup = [] } = role;
let heroes = await Hero.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP); let heroes = await HeroModel.findByRole(roleId, [], HERO_SELECT.RANK_LINEUP);
let arr = new Array<LineupParam>(); let arr = new Array<LineupParam>();
if (!showLineup) showLineup = topLineup.map(cur => cur.hid); if (!showLineup) showLineup = topLineup.map(cur => cur.hid);
for (let hid of showLineup) { for (let hid of showLineup) {
@@ -626,7 +626,7 @@ export class Rank {
} }
let { topLineup } = role; let { topLineup } = role;
let heroes = await Hero.findByRole(myId.roleId, [], HERO_SELECT.HERO_DETAIL); let heroes = await HeroModel.findByRole(myId.roleId, [], HERO_SELECT.HERO_DETAIL);
let arr = new Array<LineupParam>(); let arr = new Array<LineupParam>();
for (let { hid } of topLineup) { for (let { hid } of topLineup) {
let curHero = heroes.find(cur => cur.hid == hid); 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)); let hasCurUser = await redisClient().hexistsAsync(extraKey, this.composeFields(extraKey, myId));
if (!hasCurUser) { if (!hasCurUser) {
if (!hero) { if (!hero) {
hero = await Hero.findByHidAndRole(myId.hid, myId.roleId, HERO_SELECT.RANK_LINEUP); hero = await HeroModel.findByHidAndRole(myId.hid, myId.roleId, HERO_SELECT.RANK_LINEUP);
} }
let arr = new Array<LineupParam>(); let arr = new Array<LineupParam>();
let lineParam = new LineupParam(hero); let lineParam = new LineupParam(hero);
@@ -677,7 +677,7 @@ export class Rank {
let { dungeonWarId, dungeonHeroes } = role; let { dungeonWarId, dungeonHeroes } = role;
let cur = dungeonHeroes.find(cur => cur.battleId == dungeonWarId); let cur = dungeonHeroes.find(cur => cur.battleId == dungeonWarId);
let lineup = cur ? cur.heroes : []; let lineup = cur ? cur.heroes : [];
let heroes = await Hero.findByRole(myId.roleId, [], HERO_SELECT.RANK_LINEUP); let heroes = await HeroModel.findByRole(myId.roleId, [], HERO_SELECT.RANK_LINEUP);
let arr = new Array<LineupParam>(); let arr = new Array<LineupParam>();
for (let seqId of lineup) { for (let seqId of lineup) {
let curHero = heroes.find(cur => cur.seqId == seqId); let curHero = heroes.find(cur => cur.seqId == seqId);
@@ -702,7 +702,7 @@ export class Rank {
} }
let { showLineup, topLineup = [] } = role; let { showLineup, topLineup = [] } = role;
let heroes = await Hero.findByRole(myId.roleId, [], HERO_SELECT.HERO_DETAIL); let heroes = await HeroModel.findByRole(myId.roleId, [], HERO_SELECT.HERO_DETAIL);
let arr = new Array<LineupParam>(); let arr = new Array<LineupParam>();
if (!showLineup) showLineup = topLineup.map(cur => cur.hid); if (!showLineup) showLineup = topLineup.map(cur => cur.hid);
for (let hid of showLineup) { for (let hid of showLineup) {
@@ -1175,6 +1175,7 @@ export async function setRankRedisFromDb(type: string, args?: { serverId?: numbe
for (let role of ranks) { for (let role of ranks) {
await r.setRankWithRoleInfo(role.roleId, role.mainEliteWarId, role.mainEliteUpdatedAt, role); await r.setRankWithRoleInfo(role.roleId, role.mainEliteWarId, role.mainEliteUpdatedAt, role);
} }
<<<<<<< HEAD
// } else if (type == REDIS_KEY.HERO_RANK) { // } else if (type == REDIS_KEY.HERO_RANK) {
// let serverId = args.serverId; // let serverId = args.serverId;
@@ -1186,6 +1187,19 @@ export async function setRankRedisFromDb(type: string, args?: { serverId?: numbe
// await r.setRankWithHeroInfo(hero.roleId, hid, hero.ce, hero.updatedAt.getTime(), hero); // await r.setRankWithHeroInfo(hero.roleId, hid, hero.ce, hero.updatedAt.getTime(), hero);
// } // }
// } // }
=======
} else if (type == REDIS_KEY.HERO_RANK) {
let serverId = args.serverId;
for (let [hid] of gameData.recruit) {
let ranks = await HeroModel.getRank(hid, serverId, HERO_SELECT.RANK_LINEUP);
let r = new Rank(type, { serverId, hid });
r.setIsInit(true);
for (let hero of ranks) {
await r.setRankWithHeroInfo(hero.roleId, hid, hero.ce, hero.updatedAt.getTime(), hero);
}
}
>>>>>>> parent of 9051e72e9 ( feat(db): hero表数据库操作方式)
} else if (type == REDIS_KEY.LADDER) { } else if (type == REDIS_KEY.LADDER) {
let serverId = args.serverId; let serverId = args.serverId;
let ranks = await LadderMatchModel.findAll(serverId); let ranks = await LadderMatchModel.findAll(serverId);
@@ -1312,7 +1326,7 @@ export async function getRankInHandler(redisKey: REDIS_KEY, type: RANK_TYPE, key
if (type == RANK_TYPE.TOP_LINTUP) { if (type == RANK_TYPE.TOP_LINTUP) {
myRank = await r.generMyRankWithRole(roleId, role.topLineupCe, 0, role); myRank = await r.generMyRankWithRole(roleId, role.topLineupCe, 0, role);
} else if (type == RANK_TYPE.TOP_HERO) { } else if (type == RANK_TYPE.TOP_HERO) {
let hero = await Hero.getMyTopHero(roleId, HERO_SELECT.RANK_LINEUP); let hero = await HeroModel.getMyTopHero(roleId, HERO_SELECT.RANK_LINEUP);
myRank = await r.generMyRankWithHero(roleId, hero.hid, hero.ce, 0, hero, role); myRank = await r.generMyRankWithHero(roleId, hero.hid, hero.ce, 0, hero, role);
} else if (type == RANK_TYPE.HERO_NUM) { } else if (type == RANK_TYPE.HERO_NUM) {
myRank = await r.generMyRankWithRole(roleId, role.heroNum, role.heroNumUpdatedAt, role); myRank = await r.generMyRankWithRole(roleId, role.heroNum, role.heroNumUpdatedAt, role);

View File

@@ -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 { 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 { SkinModel } from "../../db/Skin";
import Hero, { HeroSkin, HeroType, HeroUpdate } from "../../db/Hero"; import { HeroModel, HeroSkin, HeroType, HeroUpdate } from "../../db/Hero";
import { SkinUpdate } from "../../db/Skin"; import { SkinUpdate } from "../../db/Skin";
import { nowSeconds } from "../../pubUtils/timeUtil"; import { nowSeconds } from "../../pubUtils/timeUtil";
import { CreateHeroParam, HeroParam, HeroShowParam } from "../../domain/roleField/hero"; 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) { export async function createHeroes(roleId: string, roleName: string, sid: string, serverId: number, heroInfo: CreateHeroParam[], initRoleInfos?: RoleUpdate) {
heroInfo = filterHeroes(heroInfo, obj => obj.hid, roleId); heroInfo = filterHeroes(heroInfo, obj => obj.hid, roleId);
let hids = heroInfo.map(cur => cur.hid); let hids = heroInfo.map(cur => cur.hid);
let userHeroesMap = await Hero.findMapByHidRange(hids, roleId); let userHeroesMap = await HeroModel.findMapByHidRange(hids, roleId);
let createHeroeInfos: CreateHeroParam[] = [], pieces: ItemInter[] = []; let createHeroeInfos: CreateHeroParam[] = [], pieces: ItemInter[] = [];
for (let h of heroInfo) { for (let h of heroInfo) {
@@ -55,7 +55,7 @@ import { pushGetHero } from "../sysChatService";
skins.push(initSkin); // 初始皮肤 skins.push(initSkin); // 初始皮肤
let seqId = await CounterModel.getNewCounter(COUNTER.HID) || -1; let seqId = await CounterModel.getNewCounter(COUNTER.HID) || -1;
let initHeroSkins = [initSkin, ...originSkins].map((skin, index) => new HeroSkin(skin, index == 0)); let initHeroSkins = [initSkin, ...originSkins].map((skin, index) => new HeroSkin(skin, index == 0));
let initHero = Hero.getInitInfo(hid, { ...info, seqId, serverId, roleId, roleName, skins: initHeroSkins }); let initHero = HeroModel.getInitInfo(hid, { ...info, seqId, serverId, roleId, roleName, skins: initHeroSkins });
heroInfos.set(hid, initHero); heroInfos.set(hid, initHero);
figureConditions.push({ type: FIGURE_UNLOCK_CONDITION.GET_HERO, paramHid: hid }); figureConditions.push({ type: FIGURE_UNLOCK_CONDITION.GET_HERO, paramHid: hid });
incHeroNum ++; incHeroNum ++;

View File

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

View File

@@ -7,14 +7,17 @@ import { SCHOOL } from '../pubUtils/dicParam';
import { gameData, getHeroInitTalent, getHeroStarByQuality } from '../pubUtils/data'; import { gameData, getHeroInitTalent, getHeroStarByQuality } from '../pubUtils/data';
import { SchoolModel } from '../db/School'; import { SchoolModel } from '../db/School';
import { SclResultInter, SclPosInter, RewardInter, ItemInter } from '../pubUtils/interface'; import { SclResultInter, SclPosInter, RewardInter, ItemInter } from '../pubUtils/interface';
import Hero, { Connect, HeroSkin, HeroType, HeroUpdate, Talent } from '../db/Hero'; import { Connect, HeroModel, HeroSkin, HeroType, HeroUpdate, Talent } from '../db/Hero';
import { SkinUpdate } from '../db/Skin'; import { SkinUpdate } from '../db/Skin';
import { Figure } from '../domain/dbGeneral'; import { Figure } from '../domain/dbGeneral';
import { pick } from 'underscore'; import { pick } from 'underscore';
import { Reward } from '../domain/battleField/pvp'; import { Reward } from '../domain/battleField/pvp';
import { CheckMeterial } from './role/checkMaterial'; import { CheckMeterial } from './role/checkMaterial';
import IP2Region from "ip2region"; 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 }); const query = new IP2Region({ disableIpv6: true });
@@ -287,7 +290,7 @@ function calSchoolPoint(quality: number, star: number, colorStar: number) {
export async function getSchoolPoint(roleId: string) { export async function getSchoolPoint(roleId: string) {
let schools = await SchoolModel.findByRoleId(roleId); let schools = await SchoolModel.findByRoleId(roleId);
let hids = schools.filter(cur => cur.isOpen && cur.hid > 0).map(school => school.hid); let hids = schools.filter(cur => cur.isOpen && cur.hid > 0).map(school => school.hid);
let heroes = await Hero.findByHidRange(hids, roleId); let heroes = await HeroModel.findByHidRange(hids, roleId);
return heroes.reduce((pre, cur) => { return heroes.reduce((pre, cur) => {
return pre + calSchoolPoint(cur.quality, cur.star, cur.colorStar); return pre + calSchoolPoint(cur.quality, cur.star, cur.colorStar);
}, 0); }, 0);

View File

@@ -1,6 +1,6 @@
import { UserModel } from '@db/User'; import { UserModel } from '@db/User';
import Role from '@db/Role'; import Role from '@db/Role';
import Hero from '@db/Hero'; import { HeroModel } from '@db/Hero';
import { Service } from 'egg'; import { Service } from 'egg';
import { STATUS, REDIS_KEY, WAR_TYPE } from '@consts'; import { STATUS, REDIS_KEY, WAR_TYPE } from '@consts';
@@ -138,7 +138,7 @@ export default class GMUsers extends Service {
let list = []; let list = [];
for (let role of roles) { for (let role of roles) {
let heroCount = await Hero.countByCondition({ roleId: role.roleId }); let heroCount = await HeroModel.count({ roleId: role.roleId }).lean();
let itemCount = await ItemModel.count({ roleId: role.roleId }).lean(); let itemCount = await ItemModel.count({ roleId: role.roleId }).lean();
let { roleId, roleName, serverId, lv, gold, coin, ce, blockType = 0, blockReason = '', fixedIpLocation, ip, ipLocation, totalPay } = role; let { roleId, roleName, serverId, lv, gold, coin, ce, blockType = 0, blockReason = '', fixedIpLocation, ip, ipLocation, totalPay } = role;
@@ -302,7 +302,7 @@ export default class GMUsers extends Service {
// public async getHeroList(roleId: string) { // public async getHeroList(roleId: string) {
// const {ctx} = this; // const {ctx} = this;
// let herolist = await Hero.findByRole(roleId); // let herolist = await HeroModel.findByRole(roleId);
// let defense = await PvpDefenseModel.findByRoleId(roleId); // let defense = await PvpDefenseModel.findByRoleId(roleId);
// let result = Array<Hero>(); // let result = Array<Hero>();
@@ -330,8 +330,8 @@ export default class GMUsers extends Service {
public async getHeroList(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchHeroParam) { public async getHeroList(page: number, pageSize: number, sortField: string, sortOrder: string, form: SearchHeroParam) {
const { ctx } = this; const { ctx } = this;
const heroes = await Hero.findByCondition(page, pageSize, sortField, sortOrder, form); const heroes = await HeroModel.findByCondition(page, pageSize, sortField, sortOrder, form);
const total = await Hero.countByCondition( form ) const total = await HeroModel.countByCondition( form )
let roleMap = new Map<string, RoleCeType>(); let roleMap = new Map<string, RoleCeType>();
for(let { roleId } of heroes) { for(let { roleId } of heroes) {
@@ -413,7 +413,7 @@ export default class GMUsers extends Service {
// let hid = parseInt(hidStr); // let hid = parseInt(hidStr);
// let hero = await Hero.findByHidAndRole(hid, roleId); // let hero = await HeroModel.findByHidAndRole(hid, roleId);
// console.log(hid, roleId, !!hero); // console.log(hid, roleId, !!hero);
// if (!hero) continue; // if (!hero) continue;
// await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, roleId, hero, { lv: hlv }); // await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, roleId, hero, { lv: hlv });
@@ -436,7 +436,7 @@ export default class GMUsers extends Service {
// let hid = parseInt(hidStr); // let hid = parseInt(hidStr);
// let hero = await Hero.findByHidAndRole(hid, roleId); // let hero = await HeroModel.findByHidAndRole(hid, roleId);
// console.log(hid, roleId, !!hero); // console.log(hid, roleId, !!hero);
// if (!hero) continue; // if (!hero) continue;
// await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, roleId, hero, { star, colorStar, quality }); // await calPlayerCeAndSave(HERO_SYSTEM_TYPE.LVUP, roleId, hero, { star, colorStar, quality });
@@ -460,7 +460,7 @@ export default class GMUsers extends Service {
// let hid = parseInt(hidStr); // let hid = parseInt(hidStr);
// let hero = await Hero.findByHidAndRole(hid, roleId); // let hero = await HeroModel.findByHidAndRole(hid, roleId);
// console.log(hid, roleId, !!hero); // console.log(hid, roleId, !!hero);
// if (!hero) continue; // if (!hero) continue;
// await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, roleId, hero, { job }); // await calPlayerCeAndSave(HERO_SYSTEM_TYPE.STAGEUP, roleId, hero, { job });