feat(兼容): 配表使用后台隐藏物品

This commit is contained in:
luying
2022-11-09 18:01:02 +08:00
parent 5d0873630a
commit 53d4af4e09
54 changed files with 768 additions and 102 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);