红点:修改推送方式
This commit is contained in:
@@ -3,12 +3,10 @@ import { MailModel } from '../../../db/Mail';
|
||||
import { GroupMailModel } from '../../../db/GroupMail';
|
||||
import { resResult } from '../../../pubUtils/util';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import { findWhere } from 'underscore';
|
||||
import { MAIL_STATUS, MAIL_TEM_TYPE, MAIL_TYPE } from '../../../consts/constModules/mailConst';
|
||||
import { handleCost, addItems } from '../../../services/rewardService';
|
||||
import { mongoose } from '@typegoose/typegoose';
|
||||
const { ObjectId } = mongoose.Types;
|
||||
import { addItems } from '../../../services/rewardService';
|
||||
import { nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { getMails } from '../../../services/mailService';
|
||||
export default function(app: Application) {
|
||||
return new MailHandler(app);
|
||||
}
|
||||
@@ -18,6 +16,14 @@ export class MailHandler {
|
||||
|
||||
}
|
||||
|
||||
public async getMails(msg:{}, session: BackendSession) {
|
||||
const roleId: string = session.get('roleId');
|
||||
const serverId: number = session.get('serverId');
|
||||
|
||||
const list = await getMails(roleId, serverId);
|
||||
return resResult(STATUS.SUCCESS, { list });
|
||||
}
|
||||
|
||||
public async refrshMails(msg:{}) {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
import { Application, BackendSession } from "pinus";
|
||||
import { resResult } from "../../../pubUtils/util";
|
||||
import { STATUS, REDIS_KEY, RANK_TYPE_TO_KEY, ROLE_SELECT, RANK_TYPE, HERO_SELECT, GUILD_SELECT } from "../../../consts";
|
||||
import { STATUS, RANK_TYPE_TO_KEY, ROLE_SELECT, RANK_TYPE, HERO_SELECT, GUILD_SELECT } from "../../../consts";
|
||||
import { RoleModel } from "../../../db/Role";
|
||||
import { UserGuildModel } from "../../../db/UserGuild";
|
||||
import { GuildModel } from "../../../db/Guild";
|
||||
import { UserModel } from "../../../db/User";
|
||||
import { Rank } from "../../../services/rankService";
|
||||
import { Rank, getGeneralRank } from "../../../services/rankService";
|
||||
import { nowSeconds } from "../../../pubUtils/timeUtil";
|
||||
import { GeneralRankParamRole, GeneralRankParamBattle, RoleRankInfo } from "../../../domain/rank";
|
||||
import { gameData } from "../../../pubUtils/data";
|
||||
import { addItems } from "../../../services/rewardService";
|
||||
import { HeroModel, HeroUpdate } from "../../../db/Hero";
|
||||
@@ -29,39 +27,7 @@ export class RoleHandler {
|
||||
let role = await RoleModel.findByRoleId(roleId, 'rankReceived');
|
||||
if(!role) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let { rankReceived = []} = role;
|
||||
|
||||
let res = {
|
||||
role: new Array<GeneralRankParamRole>(),
|
||||
battle: new Array<GeneralRankParamBattle>()
|
||||
};
|
||||
|
||||
for(let { id, general } of gameData.rank) {
|
||||
let redisKey = RANK_TYPE_TO_KEY.get(id);
|
||||
if(redisKey) {
|
||||
let received = rankReceived.filter(rewardId => {
|
||||
let dic = gameData.generalRankReward.get(rewardId);
|
||||
return dic && dic.rankId == id;
|
||||
});
|
||||
if(general == 1) {
|
||||
let r = new Rank(redisKey, { serverId }, false, 1);
|
||||
let ranks = <RoleRankInfo[]> await r.getRankByRange();
|
||||
if(ranks.length > 0) {
|
||||
let param = new GeneralRankParamRole(id, ranks[0]||new RoleRankInfo({}, false), received);
|
||||
res.role.push(param);
|
||||
}
|
||||
} else if (general = 2) {
|
||||
let r = new Rank(redisKey, { serverId }, false, 1);
|
||||
let ranks = <RoleRankInfo[]> await r.getRankByRange();
|
||||
let hero: HeroUpdate;
|
||||
if(ranks.length > 0) {
|
||||
hero = await HeroModel.getMyTopHero(ranks[0].roleId, 'hid skins');
|
||||
let param = new GeneralRankParamBattle(id, ranks[0]||new RoleRankInfo({}, false), hero, received);
|
||||
res.battle.push(param);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
let res = await getGeneralRank(role, serverId);
|
||||
|
||||
return resResult(STATUS.SUCCESS, res);
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import { getAtrrNameById } from '../../../consts/constModules/abilityConst'
|
||||
import { findIndex } from 'underscore';
|
||||
import { SclResultInter, SclPosInter } from '../../../pubUtils/interface';
|
||||
import { SchoolModel } from '../../../db/School';
|
||||
import { checkTeraphMaterialEnough } from '../../../services/roleService'
|
||||
import { checkTeraphMaterialEnough, getSchoolList } from '../../../services/roleService'
|
||||
import { calPlayerCeAndSave, calAllHeroCe } from '../../../services/playerCeService';
|
||||
import { HERO_SYSTEM_TYPE, LINEUP_NUM, ROLE_SELECT, REDIS_KEY, TASK_TYPE, DEFAULT_HEROES, DEFAULT_HERO_LV, DEFAULT_ITEMS, DEFAULT_EQUIPS, DEFAULT_GOLD, DEFAULT_COIN } from '../../../consts';
|
||||
import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
|
||||
@@ -189,38 +189,7 @@ export class RoleHandler {
|
||||
// 获得百家学宫
|
||||
async getSchoolList(msg: {}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
|
||||
const dicPosition = decodeIdCntArrayStr(SCHOOL.SCHOOL_POSITION, 1); // id=>isOpen
|
||||
|
||||
const userSchoolList = await SchoolModel.findByRoleId(roleId);
|
||||
|
||||
let school = new Array<SclResultInter>();
|
||||
gameData.school.forEach((dicSchool) => {
|
||||
let position = new Array<SclPosInter>();
|
||||
dicPosition.forEach((isOpen, dicId) => {
|
||||
let id = parseInt(dicId);
|
||||
|
||||
let userSchool = userSchoolList.find(cur => cur.schoolId == dicSchool.id && cur.positionId == id);
|
||||
if (userSchool) {
|
||||
position.push({
|
||||
id,
|
||||
hid: userSchool.hid,
|
||||
isOpen: userSchool.isOpen
|
||||
});
|
||||
} else {
|
||||
position.push({
|
||||
id,
|
||||
hid: 0,
|
||||
isOpen: !!isOpen
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
school.push({
|
||||
id: dicSchool.id,
|
||||
position
|
||||
});
|
||||
});
|
||||
let school = await getSchoolList(roleId);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { school });
|
||||
|
||||
|
||||
@@ -3,14 +3,13 @@ import { gameData } from "../../../pubUtils/data";
|
||||
import { resResult } from "../../../pubUtils/util";
|
||||
import { STATUS, GUILD_STRUCTURE, ITID, CONSUME_TYPE, HERO_QUALITY_TYPE, HERO_GROW_MAX } from "../../../consts";
|
||||
import { DicShopListModel } from "../../../db/DicShopList";
|
||||
import { ShopItem } from "../../../domain/dbGeneral";
|
||||
import { ShopItemListParam } from '../../../domain/roleField/shop';
|
||||
import { UserShopModel } from "../../../db/UserShop";
|
||||
import { handleCost, addItems } from "../../../services/rewardService";
|
||||
import { GuildModel } from "../../../db/Guild";
|
||||
import { SHOP } from "../../../pubUtils/dicParam";
|
||||
import { getHonourObject } from "../../../pubUtils/itemUtils";
|
||||
import { HeroModel } from "../../../db/Hero";
|
||||
import { getShopListById } from "../../../services/shopService";
|
||||
|
||||
export default function(app: Application) {
|
||||
return new ShopHandler(app);
|
||||
@@ -29,46 +28,7 @@ export class ShopHandler {
|
||||
return resResult(STATUS.WRONG_PARMS);
|
||||
}
|
||||
|
||||
let shopItemList = new Array<ShopItemListParam>(); // 返回
|
||||
let dbDicShop = await DicShopListModel.findByShopId(shopId);
|
||||
let userShopRecs = await UserShopModel.findMapByShopId(roleId, shopId);
|
||||
// console.log(JSON.stringify([...userShopRecs]))
|
||||
|
||||
|
||||
if(!dbDicShop || dbDicShop.useJson) { // 完全使用json中配置的商品,数据库只做排序用,数据库内没有的排到最后
|
||||
let items = dbDicShop?.items||[];
|
||||
let map = new Map<number, ShopItem>();
|
||||
for(let item of items) {
|
||||
map.set(item.id, item);
|
||||
}
|
||||
let dicShop = gameData.shop.get(shopId)||[];
|
||||
for(let { id, type } of dicShop) {
|
||||
let buyCount = userShopRecs.has(id)?userShopRecs.get(id).count: 0;
|
||||
if(map.has(id)) {
|
||||
let item = map.get(id);
|
||||
let param = new ShopItemListParam(id, item.discount, type, buyCount, item.order);
|
||||
shopItemList.push(param);
|
||||
} else {
|
||||
let param = new ShopItemListParam(id, 1, type, buyCount, 0);
|
||||
shopItemList.push(param);
|
||||
}
|
||||
}
|
||||
|
||||
} else { // 只返回数据库内的商品
|
||||
let items = dbDicShop?.items||[];
|
||||
for(let item of items) {
|
||||
let { id, order, discount } = item;
|
||||
let buyCount = userShopRecs.has(id)?userShopRecs.get(id).count: 0;
|
||||
let dicShop = gameData.shopItem.get(id);
|
||||
if(dicShop) {
|
||||
let param = new ShopItemListParam(id, discount, dicShop.type, buyCount, order);
|
||||
shopItemList.push(param);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
shopItemList = shopItemList.sort((a, b) => b.order - a.order);
|
||||
|
||||
const shopItemList = await getShopListById(shopId, roleId);
|
||||
return resResult(STATUS.SUCCESS, { shopItemList });
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,13 @@ export class ShopHandler {
|
||||
constructor(private app: Application) {
|
||||
}
|
||||
|
||||
public async getTaskList(msg:{}, session: BackendSession) {
|
||||
const roleId: string = session.get('roleId');
|
||||
|
||||
const res = await getCurTask(roleId, session);
|
||||
return resResult(STATUS.SUCCESS, res);
|
||||
}
|
||||
|
||||
// 领取主线任务、每日任务、成就单条任务
|
||||
async receiveTask(msg: { type: number, id: number }, session: BackendSession) {
|
||||
const roleId: string = session.get('roleId');
|
||||
|
||||
Reference in New Issue
Block a user