✨ feat(兼容): 配表使用后台隐藏物品
This commit is contained in:
@@ -15,6 +15,7 @@ import { checkTaskInGacha } from "../../../services/task/taskService";
|
||||
import { createHeroes } from "../../../services/role/createHero";
|
||||
import { getGuideGachaData } from "../../../services/activity/gachaService";
|
||||
import { getPlayerNewHeroGachaData } from "../../../services/activity/newHeroService";
|
||||
import { isHeroHidden } from "../../../services/dataService";
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -225,6 +226,9 @@ export class GachaHandler {
|
||||
const { gachaId, activityId = 0, pickHero } = msg;
|
||||
const roleId: string = session.get('roleId');
|
||||
const serverId: number = session.get('serverId');
|
||||
|
||||
if(isHeroHidden(pickHero)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let dicHero = gameData.hero.get(pickHero);
|
||||
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
@@ -271,6 +275,7 @@ export class GachaHandler {
|
||||
const sid: string = session.get('sid');
|
||||
const { hid } = msg;
|
||||
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
let dicRecruit = gameData.recruit.get(hid);
|
||||
|
||||
@@ -10,6 +10,7 @@ import { ActivityGroupModel } from '../../../db/ActivityGroup';
|
||||
import { deleteActivities, loadActivities, saveActivitiesToGroup, updateActivities, _getActivityById, _getActivitiesByType, _getActivities, _getActivitiesByServerId, saveGroupToServer } from '../../../services/activity/activityRemoteService';
|
||||
import { saveActivityMemory } from '../../../services/log/memoryLogService';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -148,4 +149,12 @@ export class ActivityRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async setHiddenData(heroes: number[], goods: number[], refTime: number) {
|
||||
try {
|
||||
setHiddenData(heroes, goods, refTime);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,7 @@ import { HeroModel } from '../../../db/Hero';
|
||||
import { addUserToTeamChannel, delTeamChannel, removeFromTeamChannel, sendMessageToTeam, sendMessageToUsersWithSuc, sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
import { getFriendRelationType, getRecommendType } from '../../../services/friendService';
|
||||
import { FriendRelationModel } from '../../../db/FriendRelation';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new ComBattleHandler(app);
|
||||
@@ -301,6 +302,7 @@ export class ComBattleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let { teamCode, heroes: hids, battleCode = 'default' } = msg;
|
||||
if (!hids || hids.length === 0) return resResult(STATUS.COM_BATTLE_HEROES_ERR);
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
let teamStatus = this.teamMap.get(teamCode);
|
||||
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import { getSeconds, nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { reportTAEvent } from '../../../services/sdkService';
|
||||
import { getSumCe } from '../../../services/playerCeService';
|
||||
import { vipCanSkipExpedition } from '../../../services/activity/monthlyTicketService';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -149,7 +150,8 @@ export class ExpeditionBattleHandler {
|
||||
|
||||
let { isOK, hids } = await checkBattleHeroes(roleId, seqIds);
|
||||
if (!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let expeditionWarRecord = await ExpeditionWarRecordModel.getRecordByCodeAndId(expeditionCode, expeditionId);
|
||||
if (!expeditionWarRecord) {
|
||||
return resResult(STATUS.EXPEDITION_MISS_WAR_RECORD);
|
||||
|
||||
@@ -18,6 +18,7 @@ import { saveLadderDefCeByData } from '../../../services/redisService';
|
||||
import { pushLadderTopChangeMsg } from '../../../services/sysChatService';
|
||||
import { checkTaskInLadderEnd, checkTaskInLadderStart, checkTaskInLadderSweep } from '../../../services/task/taskService';
|
||||
import { BattleRecordModel } from '../../../db/BattleRecord';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -148,6 +149,9 @@ export class LadderHandler {
|
||||
if(!rec || rec.roleId1 != roleId) return resResult(STATUS.LADDER_REC_NOT_FOUND);
|
||||
if(rec.status != LADDER_STATUS.CHECK) return resResult(STATUS.LADDER_REC_STATUS_ERR);
|
||||
|
||||
for(let { actorId } of heroes) {
|
||||
if(isHeroHidden(actorId)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
}
|
||||
let { isOK, heroes: dbHeroes } = await checkBattleHeroesByHid(roleId, heroes.map(cur => cur.actorId));
|
||||
if(!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
|
||||
@@ -273,6 +277,7 @@ export class LadderHandler {
|
||||
if(!ladderData) return resResult(STATUS.LADDER_NOT_OPEN);
|
||||
|
||||
let hids: number[] = heroes.map(cur => cur.actorId);
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
let dbHeroes = await HeroModel.findByHidRange(hids, roleId, '_id hid ce', true);
|
||||
|
||||
let defenseHeroes = heroes.map(cur => {
|
||||
|
||||
@@ -31,6 +31,7 @@ import { RewardInter } from '../../../pubUtils/interface';
|
||||
import { addItems } from '../../../services/role/rewardService';
|
||||
import { treasureHuntChallengeConsume } from '../../../services/activity/treasureHuntService';
|
||||
import { combineItems } from '../../../services/role/util';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -73,6 +74,7 @@ export class NormalBattleHandler {
|
||||
|
||||
let { isOK, hids, heroes, lineup } = await checkBattleHeroes(roleId, seqIds);
|
||||
if (!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
const battleCode = genCode(8); // 关卡唯一值
|
||||
let dailyNum = {};
|
||||
|
||||
@@ -26,6 +26,7 @@ import { PvpSaveDataModel } from '../../../db/PvpSaveData';
|
||||
import { PVPConfigModel } from '../../../db/PvpConfig';
|
||||
import { getAllServerName, getServerName } from '../../../services/redisService';
|
||||
import { RoleRankInfo } from '../../../domain/rank';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -363,6 +364,7 @@ export class PvpHandler {
|
||||
// 更新挑战阵容
|
||||
let scores: number[] = [];
|
||||
for(let { actorId } of heroes) {
|
||||
if(isHeroHidden(actorId)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
let heroScore = pvpDefense.heroScores.find(cur => cur.hid == actorId);
|
||||
if(heroScore) {
|
||||
scores.push(heroScore.score);
|
||||
@@ -431,6 +433,8 @@ export class PvpHandler {
|
||||
// 更新防守阵容
|
||||
let scores: number[] = [], heroIdMap = new Map<number, string>(), hids: number[] = [];
|
||||
for(let { actorId } of heroes) {
|
||||
if(isHeroHidden(actorId)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let heroScore = pvpDefense.heroScores.find(cur => cur.hid == actorId);
|
||||
if(heroScore) {
|
||||
scores.push(heroScore.score);
|
||||
|
||||
@@ -21,6 +21,7 @@ import { combineItems } from '../../../services/role/util';
|
||||
import { checkTaskInSkipTower } from '../../../services/task/taskService';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
import { checkPopUpCondition } from '../../../services/activity/popUpShopService';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new TowerBattleHandler(app);
|
||||
@@ -227,8 +228,9 @@ export class TowerBattleHandler {
|
||||
if (seqIds.length !== dicTask.actorNeeded) { // 武将数,从策划表中读取
|
||||
return resResult(STATUS.TOWER_TASK_MAX_HERO);
|
||||
}
|
||||
let { isOK, heroes } = await checkBattleHeroes(roleId, seqIds);
|
||||
let { isOK, heroes, hids } = await checkBattleHeroes(roleId, seqIds);
|
||||
if(!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
if (tasksCode.indexOf(taskCode) === -1) {
|
||||
return resResult(STATUS.TOWER_TASK_CODE_NOT_FOUND);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ import { Application, ChannelService, HandlerService, } from 'pinus';
|
||||
import { PVPConfigModel, PVPConfigType } from '../../../db/PvpConfig';
|
||||
import { reloadResources } from '../../../pubUtils/data';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
|
||||
import { savePvpSeasonMemory } from '../../../services/log/memoryLogService';
|
||||
import { taflush } from '../../../services/sdkService';
|
||||
@@ -155,4 +156,12 @@ export class BattleRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async setHiddenData(heroes: number[], goods: number[], refTime: number) {
|
||||
try {
|
||||
setHiddenData(heroes, goods, refTime);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import { getServerMainten, setServerMainten, stopServerMainten } from '../../../
|
||||
import { errlogger } from '../../../util/logger';
|
||||
import { addUserToChannel, sendMessageToChannel, sendMessgeToChannelByBatch } from '../../../services/pushService';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -156,4 +157,12 @@ export class ChatRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async setHiddenData(heroes: number[], goods: number[], refTime: number) {
|
||||
try {
|
||||
setHiddenData(heroes, goods, refTime);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ import { sendMessageToAllWithSuc, sendMessageToUserWithSuc } from '../../../serv
|
||||
import { checkServerIsOpen, getIpLocation } from '../../../services/roleService';
|
||||
import { dispatch } from '../../../pubUtils/dispatcher';
|
||||
import { leaveRaceActivityToRemote } from '../../../services/guildActivity/guildActivityService';
|
||||
import { getHiddenData } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -176,6 +177,11 @@ export class EntryHandler {
|
||||
return resResult(STATUS.SUCCESS, { todayZeroPoint });
|
||||
}
|
||||
|
||||
async getHiddenData(msg: { }, session: FrontendSession) {
|
||||
let data = getHiddenData();
|
||||
return resResult(STATUS.SUCCESS, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* User log out handler
|
||||
*
|
||||
|
||||
@@ -11,6 +11,8 @@ import { setWeek } from '../../../pubUtils/timeUtil';
|
||||
import { savePvpSeasonMemory } from '../../../services/log/memoryLogService';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setPvpSeasonNum, setPvpSettleSeasonNum } from '../../../services/timeTaskService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
return new ConnectorRemote(app);
|
||||
@@ -183,4 +185,12 @@ export class ConnectorRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async setHiddenData(heroes: number[], goods: number[], refTime: number) {
|
||||
try {
|
||||
setHiddenData(heroes, goods, refTime);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
import { Application, BackendSession, pinus } from 'pinus';
|
||||
import { genCode, getRandSingleEelm, resResult } from '../../../pubUtils/util';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import moment = require('moment');
|
||||
import { CreatePvpConfigParam, CreateServerParam, UpdateRegionParams } from '../../../domain/backEndField/params';
|
||||
import { UpdateHiddenDataParam, CreatePvpConfigParam, CreateServerParam, UpdateRegionParams } from '../../../domain/backEndField/params';
|
||||
import { RegionModel, RegionType } from '../../../db/Region';
|
||||
import { gameData } from '../../../pubUtils/data';
|
||||
import { Maintenance, ServerlistModel, ServerlistUpdate } from '../../../db/Serverlist';
|
||||
import { nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { createNewServer, sendOpenServerMail } from '../../../services/gmService';
|
||||
import { calHiddenData, createNewServer, getFutureTime, getPastTime } from '../../../services/gmService';
|
||||
import { isNumber } from 'util';
|
||||
import { MarqueeModel } from '../../../db/Marquee';
|
||||
import { setApiIsCloseToRemote } from '../../../services/chatService';
|
||||
import { PVPConfigModel } from '../../../db/PvpConfig';
|
||||
import { initHiddenDataSchedule } from '../../../services/timeTaskService';
|
||||
import { HiddenDataByIdModel, HiddenDataByIdModelTypeParam } from '../../../db/HiddenDataById';
|
||||
import { isDevelopEnv } from '../../../services/utilService';
|
||||
|
||||
export default function (app: Application) {
|
||||
return new GmHandler(app);
|
||||
@@ -198,4 +200,49 @@ export class GmHandler {
|
||||
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
async initHiddenData(msg: {pubArr: number[], hideArr: number[], type: number}, session: BackendSession) {
|
||||
let { pubArr = [], hideArr = [], type } = msg;
|
||||
let uid = session.get('uid');
|
||||
let datas = await HiddenDataByIdModel.findExistData(type);
|
||||
let existIds = datas.map(cur => cur.id);
|
||||
let insertParam: HiddenDataByIdModelTypeParam[] = [];
|
||||
for(let id of pubArr) {
|
||||
if(existIds.indexOf(id) == -1) {
|
||||
insertParam.push({ type, id, publishTime: getPastTime(), createdBy: uid, updatedBy: uid });
|
||||
}
|
||||
}
|
||||
for(let id of hideArr) {
|
||||
if(existIds.indexOf(id) == -1) {
|
||||
insertParam.push({ type, id, publishTime: getFutureTime(), createdBy: uid, updatedBy: uid });
|
||||
}
|
||||
}
|
||||
await HiddenDataByIdModel.createDatas(insertParam);
|
||||
await calHiddenData(uid);
|
||||
await initHiddenDataSchedule(false);
|
||||
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
async saveHiddenData(msg: UpdateHiddenDataParam, session: BackendSession) {
|
||||
let params = new UpdateHiddenDataParam(msg);
|
||||
if(!params.checkParams()) return resResult(STATUS.WRONG_PARMS);
|
||||
let uid = session.get('uid');
|
||||
let heroes: number[] = [], goods: number[] = [];
|
||||
for(let {type, id} of params.arr) {
|
||||
if(type == 1) heroes.push(id);
|
||||
if(type == 2) goods.push(id);
|
||||
}
|
||||
if(!isDevelopEnv()) {
|
||||
if(!await HiddenDataByIdModel.checkById(1, heroes, params.publishTime) || !await HiddenDataByIdModel.checkById(2, goods, params.publishTime)) {
|
||||
return resResult(STATUS.GM_OLD_REF_TIME_ERR);
|
||||
}
|
||||
}
|
||||
for(let {type, id} of params.arr) {
|
||||
await HiddenDataByIdModel.updateData(type, id, params.publishTime, uid);
|
||||
}
|
||||
await calHiddenData(uid);
|
||||
await initHiddenDataSchedule(false);
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
import { Application, ChannelService, HandlerService, } from 'pinus';
|
||||
import { resResult } from '../../../pubUtils/util';
|
||||
import { STATUS } from '../../../consts';
|
||||
import { mongoose } from '@typegoose/typegoose';
|
||||
const { ObjectId } = mongoose.Types;
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
import { errlogger } from '../../../util/logger';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
return new GMRemote(app);
|
||||
@@ -28,5 +27,13 @@ export class GMRemote {
|
||||
|
||||
private channelService: ChannelService;
|
||||
|
||||
|
||||
public async setHiddenData(heroes: number[], goods: number[], refTime: number) {
|
||||
try {
|
||||
setHiddenData(heroes, goods, refTime);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,7 +4,7 @@ import { AUCTION_STAGE, DEBUG_MAGIC_WORD, STATUS, CURRENCY_BY_TYPE, CURRENCY_TYP
|
||||
import { LotModel } from "../../../db/Lot";
|
||||
import { ItemReward } from "../../../domain/dbGeneral";
|
||||
import { genCode, resResult } from "../../../pubUtils/util";
|
||||
import { auctionStage, calculateDividend, genAuction, sendUngotDividend, startGuildAuction, startWorldAuction, stopAuction, todayGuildBegin, getBasePrice, debugAuctionLots, officialAuctionLots, auctionBidStatus, getMaxPrice, guildBidStatus, getAuction, pushAuctionOver, pushAuctionUpdate, checkAuctionStage, processDividendFormat, processSingleDividendFormat, tomorrowGuildBegin, processLotsFormat, processSingleLotFormat } from "../../../services/auctionService";
|
||||
import { auctionStage, calculateDividend, genAuction, sendUngotDividend, startGuildAuction, startWorldAuction, stopAuction, todayGuildBegin, getBasePrice, debugAuctionLots, officialAuctionLots, auctionBidStatus, getMaxPrice, guildBidStatus, getAuction, pushAuctionOver, pushAuctionUpdate, checkAuctionStage, processDividendFormat, processSingleDividendFormat, tomorrowGuildBegin, processLotsFormat, processSingleLotFormat, getAuctionRewardByPoolId } from "../../../services/auctionService";
|
||||
import { addItems, getGoldObject, handleCost } from '../../../services/role/rewardService';
|
||||
import { getSimpleRoleInfo } from '../../../services/roleService';
|
||||
import { getRoleOnlineInfo } from '../../../services/redisService';
|
||||
@@ -16,7 +16,7 @@ import { unlockTrain } from '../../../services/guildTrainService';
|
||||
import { UserGuildModel } from '../../../db/UserGuild';
|
||||
import { UserGuildApplyModel } from '../../../db/UserGuildApply';
|
||||
import * as dicParam from '../../../pubUtils/dicParam';
|
||||
import { gameData, getAuctionRewardByPoolId } from '../../../pubUtils/data';
|
||||
import { gameData } from '../../../pubUtils/data';
|
||||
import { sendMailByContent } from '../../../services/mailService';
|
||||
import { reportTAEvent } from '../../../services/sdkService';
|
||||
import { sendMessageToGuildWithSuc, sendMessageToServerWithSuc } from '../../../services/pushService';
|
||||
|
||||
@@ -11,7 +11,7 @@ import { DATA_NAME } from '../../../consts/dataName';
|
||||
import { UserGuildModel } from '../../../db/UserGuild';
|
||||
import { addActive } from '../../../services/guildService';
|
||||
import { GuildModel } from '../../../db/Guild';
|
||||
import { gameData, getAuctionRewardByPoolId, getBossByLv } from '../../../pubUtils/data';
|
||||
import { gameData, getBossByLv } from '../../../pubUtils/data';
|
||||
import { lockData } from '../../../services/redLockService';
|
||||
import { pushGuildBossSucMsg, getGuildChannelSid } from '../../../services/chatService';
|
||||
import { checkTask } from '../../../services/task/taskService';
|
||||
@@ -20,7 +20,7 @@ import { addItems, getGoldObject, handleCost } from '../../../services/role/rewa
|
||||
import * as dicParam from '../../../pubUtils/dicParam';
|
||||
import { RoleModel } from '../../../db/Role';
|
||||
import { sendMailToGuildByContent } from '../../../services/mailService';
|
||||
import { genAuction } from '../../../services/auctionService';
|
||||
import { genAuction, getAuctionRewardByPoolId } from '../../../services/auctionService';
|
||||
import { sendMessageToGuildWithSuc } from '../../../services/pushService';
|
||||
|
||||
export default function (app: Application) {
|
||||
|
||||
@@ -16,6 +16,7 @@ import { ARMY } from '../../../pubUtils/dicParam';
|
||||
import { guildInter } from '../../../pubUtils/interface';
|
||||
import { getSeconds, getZeroPoint, nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
import { isGoodsHidden } from '../../../services/dataService';
|
||||
export default function(app: Application) {
|
||||
return new WishPoolHandler(app);
|
||||
}
|
||||
@@ -39,6 +40,8 @@ export class WishPoolHandler {
|
||||
const { goodId, type, myUserGuild } = msg;
|
||||
const roleId: string = session.get('roleId');
|
||||
const serverId: number = parseInt(session.get('serverId'));
|
||||
|
||||
if(isGoodsHidden(goodId)) return resResult(STATUS.ITEM_IS_HIDDEN);
|
||||
let dicGoods = getGoodById(goodId)
|
||||
if (!dicGoods) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
let dicItid = ITID.get(dicGoods.itid);
|
||||
@@ -101,6 +104,8 @@ export class WishPoolHandler {
|
||||
if (wishGood.receiveCnt >= wishGood.count)
|
||||
return resResult(STATUS.HAS_RECEIVE_WISH_GOOD);//已经收到
|
||||
|
||||
if(isGoodsHidden(wishGood.goodId)) return resResult(STATUS.ITEM_IS_HIDDEN);
|
||||
|
||||
let dicWishReward = getWishPoolReward(wishGood.goodId);
|
||||
if(!dicWishReward) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import { taflush, treatGuildName } from '../../../services/sdkService';
|
||||
import { getServerMainten, setServerMainten, stopServerMainten } from '../../../services/gmService';
|
||||
import { errlogger } from '../../../util/logger';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -74,4 +75,12 @@ export class GuildRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async setHiddenData(heroes: number[], goods: number[], refTime: number) {
|
||||
try {
|
||||
setHiddenData(heroes, goods, refTime);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import { getServerMainten, setServerMainten, stopServerMainten } from '../../../
|
||||
import { taflush } from '../../../services/sdkService';
|
||||
import { errlogger } from '../../../util/logger';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -86,4 +87,12 @@ export class OrderRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async setHiddenData(heroes: number[], goods: number[], refTime: number) {
|
||||
try {
|
||||
setHiddenData(heroes, goods, refTime);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,7 @@ import { SchoolModel } from '../../../db/School';
|
||||
import { SkinModel } from '../../../db/Skin';
|
||||
import { RoleCeModel } from '../../../db/RoleCe';
|
||||
import { saveRebirthLog } from '../../../pubUtils/logUtil';
|
||||
import { isGoodsHidden, isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -43,15 +44,15 @@ export class HeroHandler {
|
||||
let sid: string = session.get('sid');
|
||||
let serverId: number = session.get('serverId');
|
||||
|
||||
|
||||
let { hid } = msg;
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
// 检查是否存在武将
|
||||
let hasHero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (hasHero) return resResult(STATUS.ROLE_HERO_EXISTS);
|
||||
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
let { pieceId, pieceCount } = dicHero;
|
||||
// 碎片数量是否足够
|
||||
let costResult = await handleCost(roleId, sid, [{ id: pieceId, count: pieceCount }], ITEM_CHANGE_REASON.COMPOSE_HERO);
|
||||
@@ -71,6 +72,7 @@ export class HeroHandler {
|
||||
const serverId = session.get('serverId');
|
||||
|
||||
let { hid, type } = msg;
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let addLv = 0;
|
||||
if (type == 1) {
|
||||
@@ -144,8 +146,9 @@ export class HeroHandler {
|
||||
const serverId = session.get('serverId');
|
||||
let sid: string = session.get('sid');
|
||||
|
||||
|
||||
let { hid, star, starStage, isOneClick } = msg;
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
@@ -208,8 +211,9 @@ export class HeroHandler {
|
||||
let sid: string = session.get('sid');
|
||||
let serverId: number = session.get('serverId');
|
||||
|
||||
|
||||
let { hid, quality } = msg;
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
// 根据dic_hero 获得 碎片id
|
||||
@@ -259,8 +263,9 @@ export class HeroHandler {
|
||||
let roleName: string = session.get('roleName');
|
||||
const serverId = session.get('serverId');
|
||||
|
||||
|
||||
let { hid, colorStar, colorStarStage, isOneClick } = msg;
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
// 根据dic_hero 获得 1. 碎片id 2. 碎片数量 3. 初始武将星级 4. 初始品质
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
@@ -336,6 +341,8 @@ export class HeroHandler {
|
||||
|
||||
const serverId = session.get('serverId');
|
||||
let { hid, isOneClick, canReplace = false } = msg;
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
|
||||
@@ -387,6 +394,8 @@ export class HeroHandler {
|
||||
let sid: string = session.get('sid');
|
||||
|
||||
let { hid } = msg;
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if (!hero)
|
||||
return resResult(STATUS.HERO_NOT_FIND);
|
||||
@@ -424,6 +433,7 @@ export class HeroHandler {
|
||||
let serverId: number = session.get('serverId');
|
||||
|
||||
let { hid, shipId, type } = msg;
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let dicFriendShip = getFriendShipByIdAndLv(hid, shipId, 1);
|
||||
if(!dicFriendShip) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
@@ -506,9 +516,12 @@ export class HeroHandler {
|
||||
let serverId: number = session.get('serverId');
|
||||
|
||||
let { id } = msg;
|
||||
if(isGoodsHidden(id)) return resResult(STATUS.FASHION_IS_HIDDEN);
|
||||
let dicSkin = gameData.fashion.get(id);
|
||||
// console.log('*****', id, dicSkin)
|
||||
if (!dicSkin) return resResult(STATUS.HERO_SKIN_NOT_FIND);
|
||||
if(isHeroHidden(dicSkin.actorId)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(dicSkin.actorId, roleId);
|
||||
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
|
||||
@@ -637,11 +650,13 @@ export class HeroHandler {
|
||||
let serverId = session.get('serverId');
|
||||
let { hid, id } = msg;
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let dicHeroTalent = gameData.heroTalent.get(id);
|
||||
if(!dicHeroTalent) return resResult(STATUS.WRONG_PARMS);
|
||||
if(!dicHeroTalent) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
|
||||
let skins = hero.skins||[];
|
||||
let curSkin = skins.find(cur => cur.enable);
|
||||
@@ -676,6 +691,11 @@ export class HeroHandler {
|
||||
let serverId = session.get('serverId');
|
||||
let { hid, id } = msg;
|
||||
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let dicHeroTalent = gameData.heroTalent.get(id);
|
||||
if(!dicHeroTalent) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
|
||||
@@ -686,9 +706,6 @@ export class HeroHandler {
|
||||
let talent = curSkin.talent.find(cur => cur.id == id);
|
||||
if(!talent) return resResult(STATUS.TALENT_NOT_UNLOCKED);
|
||||
|
||||
let dicHeroTalent = gameData.heroTalent.get(id);
|
||||
if(!dicHeroTalent) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let usedTalentPoint = curSkin.usedTalentPoint;
|
||||
let totalTalentPoint = gameData.talentPointOfJob.get(hero.job);
|
||||
let nextLv = dicHeroTalent.level.find(cur => cur.lv == talent.level + 1);
|
||||
@@ -712,6 +729,8 @@ export class HeroHandler {
|
||||
let serverId = session.get('serverId');
|
||||
let { hid } = msg;
|
||||
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId);
|
||||
if(!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ import { calculateCeWithHero, calculateCeWithRole } from '../../../services/play
|
||||
import { sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
import { GuildLeader } from '../../../domain/rank';
|
||||
import { checkPopUpCondition } from '../../../services/activity/popUpShopService';
|
||||
import { isGoodsHidden, isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -200,6 +201,9 @@ export class RoleHandler {
|
||||
const serverId = session.get('serverId');
|
||||
|
||||
let { schoolId, positionId, hid } = msg;
|
||||
|
||||
if(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
if (!gameData.school.has(schoolId)) {
|
||||
return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
}
|
||||
@@ -289,12 +293,14 @@ export class RoleHandler {
|
||||
|
||||
let { hid } = msg;
|
||||
|
||||
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(isHeroHidden(hid)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let dicHero = gameData.hero.get(hid);
|
||||
if (!dicHero) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
let hero = await HeroModel.findByHidAndRole(hid, roleId, 'hid lv star colorStar quality scrollId scrollActive scrollStar scrollColorStar scrollQuality connections attr ce');
|
||||
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
|
||||
|
||||
let { star, colorStar, quality, scrollId, scrollActive, scrollStar, scrollColorStar, scrollQuality } = hero;
|
||||
|
||||
let update = {
|
||||
@@ -338,6 +344,8 @@ export class RoleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let serverId = session.get('serverId');
|
||||
|
||||
if(isHeroHidden(...showLineup)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let checkHeroes = await checkBattleHeroesByHid(roleId, showLineup);
|
||||
if (showLineup.length > 0 && !checkHeroes) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
|
||||
@@ -357,6 +365,9 @@ export class RoleHandler {
|
||||
let { id } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let guildCode = session.get('guildCode');
|
||||
|
||||
if(isGoodsHidden(id)) return resResult(STATUS.ITEM_IS_HIDDEN);
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_HEADS);
|
||||
if (!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
|
||||
@@ -386,6 +397,9 @@ export class RoleHandler {
|
||||
let { id } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let guildCode = session.get('guildCode');
|
||||
|
||||
if(isGoodsHidden(id)) return resResult(STATUS.ITEM_IS_HIDDEN);
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_HEADS);
|
||||
if (!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
|
||||
@@ -415,6 +429,9 @@ export class RoleHandler {
|
||||
let { id } = msg;
|
||||
let roleId = session.get('roleId');
|
||||
let guildCode = session.get('guildCode');
|
||||
|
||||
if(isGoodsHidden(id)) return resResult(STATUS.ITEM_IS_HIDDEN);
|
||||
|
||||
let role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.GET_HEADS);
|
||||
if (!role) return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import { checkShopInPurchase, getShopDicById, getShopListByType, getShopPrice }
|
||||
import { RewardInter } from "../../../pubUtils/interface";
|
||||
import { UserShopTypeModel } from "../../../db/UserShopType";
|
||||
import { nowSeconds } from "../../../pubUtils/timeUtil";
|
||||
import { isGoodsHidden } from "../../../services/dataService";
|
||||
|
||||
export default function(app: Application) {
|
||||
return new ShopHandler(app);
|
||||
@@ -99,6 +100,7 @@ export class ShopHandler {
|
||||
let sid = session.get('sid');
|
||||
let { goodsId, count } = msg;
|
||||
|
||||
if(isGoodsHidden(goodsId)) return resResult(STATUS.ITEM_IS_HIDDEN);
|
||||
let dicGoods = gameData.goods.get(goodsId);
|
||||
if(!dicGoods) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
let dicItid = ITID.get(dicGoods.itid);
|
||||
|
||||
@@ -8,6 +8,7 @@ import { getServerMainten, setServerMainten, stopServerMainten } from '../../../
|
||||
import { errlogger } from '../../../util/logger';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setPvpSeasonNum, setPvpSettleSeasonNum } from '../../../services/timeTaskService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -141,4 +142,12 @@ export class RoleRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async setHiddenData(heroes: number[], goods: number[], refTime: number) {
|
||||
try {
|
||||
setHiddenData(heroes, goods, refTime);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import { ServerMailType } from '../../../db/ServerMail';
|
||||
import { ActivityModelType } from '../../../db/Activity';
|
||||
import { GUILD_ACTIVITY_TYPE, LADDER_STATUS } from '../../../consts';
|
||||
import { setApiIsClose } from '../../../services/chatService';
|
||||
import { setHiddenData } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
return new SystimerRemote(app);
|
||||
@@ -232,4 +233,13 @@ export class SystimerRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async setHiddenData(heroes: number[], goods: number[], refTime: number) {
|
||||
try {
|
||||
setHiddenData(heroes, goods, refTime);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user