推送:对单人推送函数抽象
This commit is contained in:
@@ -76,18 +76,6 @@ export class RefreshTaskHandler {
|
||||
//获得点数
|
||||
await ActivityRefreshTaskPointModel.addPoint(serverId, activityId, roleId, dailyItemData.point);
|
||||
|
||||
// let addPointActivityId = playerData.addPointActivityId;//点数关联其他活动id
|
||||
// if (addPointActivityId) {
|
||||
// let activityData = await ActivityModel.findActivity(addPointActivityId);
|
||||
// if (activityData) {
|
||||
// if (activityData.type === ACTIVITY_TYPE.NEW_HERO_GIFTS) {
|
||||
// await newHeroGiftPoint(serverId, addPointActivityId, roleId, dailyItemData.point);
|
||||
// let uids = [{ uid: roleId, sid }];
|
||||
// this.app.get('channelService').pushMessageByUids('addPoint', resResult(STATUS.SUCCESS, { activityId: addPointActivityId, addPoint: dailyItemData.point }), uids);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
dailyItemData.receiveRewardCount += 1;
|
||||
return resResult(STATUS.SUCCESS, Object.assign(result, {
|
||||
param: { activityId, roundIndex, pageIndex, id, type },
|
||||
|
||||
@@ -3,12 +3,13 @@ import {Application, RouteRecord, FrontendOrBackendSession, HandlerCallback, pin
|
||||
import { refresh } from '../../../services/refreshService';
|
||||
import { checkPrivateChat, checkGuildChat, checkOtherChat, checkRoleName, checkGuildName } from "../../../services/sdkService";
|
||||
import { resResult, checkWhiteList, genCode } from "../../../pubUtils/util";
|
||||
import { BLOCK_TYPE, CHANNEL_PREFIX, MSG_TYPE, STATUS } from "../../../consts";
|
||||
import { BLOCK_TYPE, CHANNEL_PREFIX, MSG_TYPE, PUSH_ROUTE, STATUS } from "../../../consts";
|
||||
import { SERVER_DEBUG_MODE } from "../../../pubUtils/dicParam";
|
||||
import { nowSeconds } from "../../../pubUtils/timeUtil";
|
||||
import { getServerMainten } from "../../../services/gmService";
|
||||
import { errlogger } from "../../../util/logger";
|
||||
import { gameData } from "../../../pubUtils/data";
|
||||
import { sendMessageToUser, sendMessageToUserWithSuc } from "../../../services/pushService";
|
||||
export function globalFilter(app: Application) {
|
||||
return new Filter(app);
|
||||
}
|
||||
@@ -98,7 +99,7 @@ Filter.prototype.before = async function (routeRecord: RouteRecord, msg: any, se
|
||||
let isWhiteList = await checkWhiteList(this.app.get('env'), ip, uid, serverId);
|
||||
if(isWhiteList) return next(null);
|
||||
|
||||
pinus.app.get('channelService').pushMessageByUids('onServerMaintenance', resResult(STATUS.SERVER_MAINTENANCE), [{ uid: roleId, sid }]);
|
||||
sendMessageToUser(roleId, PUSH_ROUTE.SERVER_MAINTENANCE, resResult(STATUS.SERVER_MAINTENANCE), sid);
|
||||
return next(new Error('globalFilter'), resResult(STATUS.SERVER_MAINTENANCE));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import { addItems } from '../../../services/role/rewardService';
|
||||
import { RewardInter } from '../../../pubUtils/interface';
|
||||
import { gameData, getExpByLv, getHeroExpByLv, getHeroLvByExp, getLvByExp } from '../../../pubUtils/data';
|
||||
import { RoleModel, RoleType } from '../../../db/Role';
|
||||
import { BLOCK_TYPE, GUILD_AUTH, GUILD_DISMISS_WAY, GUILD_JOB, GUILD_MASTER_CHANGE_WAY, GUILD_STATUS, GUILD_STRUCTURE, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON, MAIL_TYPE, REDIS_KEY, TA_EVENT } from '../../../consts';
|
||||
import { BLOCK_TYPE, GUILD_AUTH, GUILD_DISMISS_WAY, GUILD_JOB, GUILD_MASTER_CHANGE_WAY, GUILD_STATUS, GUILD_STRUCTURE, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON, MAIL_TYPE, PUSH_ROUTE, REDIS_KEY, TA_EVENT } from '../../../consts';
|
||||
import { GuildFormParam, SetHeroParam } from '../../../domain/backEndField/params';
|
||||
import { GuildModel, GuildUpdateParam } from '../../../db/Guild';
|
||||
import { getGuildChannelSid } from '../../../services/chatService';
|
||||
@@ -23,6 +23,7 @@ import { PvpDefenseModel } from '../../../db/PvpDefense';
|
||||
import { createHeroes } from '../../../services/role/createHero';
|
||||
import { calculateCeWithHero } from '../../../services/playerCeService';
|
||||
import { pushChangeGuildLeader, pushGuildDismiss, pushGuildInfoUpdate } from '../../../services/guildService';
|
||||
import { sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
|
||||
let timer: NodeJS.Timer;
|
||||
export default function (app: Application) {
|
||||
@@ -56,10 +57,9 @@ export class GmRoleHandler {
|
||||
let role = await RoleModel.updateRoleInfo(roleId, { lv: newLv, exp })
|
||||
let r = new Rank(REDIS_KEY.USER_LV, { serverId: serverId });
|
||||
await r.setRankWithRoleInfo(roleId, newLv, Date.now(), role);
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerExpChange', resResult(STATUS.SUCCESS, {
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAYER_EXP_CHANGE, {
|
||||
isLvUp: false, lv: newLv, exp
|
||||
}), uids);
|
||||
}, sid);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Application, BackendSession, ChannelService, HandlerService, } from 'pinus';
|
||||
import { resResult, getRandEelm, shouldRefresh, sortArrRandom } from '../../../pubUtils/util';
|
||||
import { STATUS, GUILD_OPERATE, GUILD_AUTH, GUILD_JOB, GUILD_APPLY_TYPE, GUILD_STRUCTURE, GUILD_REC_TYPE, GUILD_STRUCTURE_NAME, MAIL_TYPE, REDIS_KEY, GUILD_SELECT, USER_GUILD_SELECT, TASK_TYPE, DEBUG_MAGIC_WORD, CHANNEL_PREFIX, MSG_TYPE, MSG_SOURCE, ITEM_CHANGE_REASON, TA_EVENT, GUILD_DISMISS_WAY, GUILD_MASTER_CHANGE_WAY, GUILD_QUIT_WAY } from '../../../consts';
|
||||
import { STATUS, GUILD_OPERATE, GUILD_AUTH, GUILD_JOB, GUILD_APPLY_TYPE, GUILD_STRUCTURE, GUILD_REC_TYPE, GUILD_STRUCTURE_NAME, MAIL_TYPE, REDIS_KEY, GUILD_SELECT, USER_GUILD_SELECT, TASK_TYPE, DEBUG_MAGIC_WORD, CHANNEL_PREFIX, MSG_TYPE, MSG_SOURCE, ITEM_CHANGE_REASON, TA_EVENT, GUILD_DISMISS_WAY, GUILD_MASTER_CHANGE_WAY, GUILD_QUIT_WAY, PUSH_ROUTE } from '../../../consts';
|
||||
import { UserGuildModel, UserGuildType } from '../../../db/UserGuild';
|
||||
import { checkAuth, joinGuild, getGuildWithRefActive, getUserGuildWithRefActive, addActive, settleGuildWeekly, getMyGuildInfo, refreshUserGuild, setUserGuildSession, getInvitationList, addGuildRecord, pushChangeGuildLeader, pushGuildMemberQuit, pushGuildDismiss, pushGuildInfoUpdate } from '../../../services/guildService';
|
||||
import { GuildModel, GuildType, GuildUpdateParam } from '../../../db/Guild';
|
||||
@@ -27,6 +27,7 @@ import { guildInter } from '../../../pubUtils/interface';
|
||||
import * as dicParam from '../../../pubUtils/dicParam';
|
||||
import { reportTAEvent } from '../../../services/sdkService';
|
||||
import { changeGuildActivity, guildDismisActivity } from '../../../services/activity/guildPayService';
|
||||
import { sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -427,11 +428,10 @@ export class GuildHandler {
|
||||
result.push(role.roleId);
|
||||
let hisInfo = await getRoleOnlineInfo(role.roleId);
|
||||
if (hisInfo.isOnline) {
|
||||
let uids = [{ uid: role.roleId, sid: hisInfo.sid }];
|
||||
let guild = <GuildType>apply.guild;
|
||||
let leader = <RoleType>guild.leader;
|
||||
let invitation = { applyCode: apply.applyCode, ...guild, leader: leader.roleName };
|
||||
this.channelService.pushMessageByUids('onGuildInvite', resResult(STATUS.SUCCESS, { invitation }), uids);
|
||||
sendMessageToUserWithSuc(role.roleId, PUSH_ROUTE.GUILD_INVITE, { invitation }, hisInfo.sid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import { UserGuildModel } from '../../../db/UserGuild';
|
||||
import { GuildModel } from '../../../db/Guild';
|
||||
import { WishPoolReportModel } from '../../../db/WishPoolReport';
|
||||
import { resResult, genCode } from '../../../pubUtils/util';
|
||||
import { ITEM_CHANGE_REASON, STATUS } from '../../../consts';
|
||||
import { ITEM_CHANGE_REASON, PUSH_ROUTE, STATUS } from '../../../consts';
|
||||
import { getArmyWishPoolBaseByLv, getGoodById, getWishPoolReward } from '../../../pubUtils/data';
|
||||
import { addItems, checkGoods, checkHeroEquips, checkHeroes, getHonourObject } from '../../../services/role/rewardService';
|
||||
import { ITID, CONSUME_TYPE } from '../../../consts/constModules/itemConst';
|
||||
@@ -15,6 +15,7 @@ import { getRoleOnlineInfo } from '../../../services/redisService';
|
||||
import { ARMY } from '../../../pubUtils/dicParam';
|
||||
import { guildInter } from '../../../pubUtils/interface';
|
||||
import { getSeconds, getZeroPoint, nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
export default function(app: Application) {
|
||||
return new WishPoolHandler(app);
|
||||
}
|
||||
@@ -124,8 +125,7 @@ export class WishPoolHandler {
|
||||
|
||||
let hisOnlineInfo = await getRoleOnlineInfo(wishRoleId);
|
||||
if(hisOnlineInfo.isOnline && hisOnlineInfo.sid) {
|
||||
// await addItems(wishRoleId, role.roleName, hisOnlineInfo.sid , [{ id : wishGood.goodId, count: 1 }], ITEM_CHANGE_REASON.WISH_POOL_DONATE);
|
||||
this.app.channelService.pushMessageByUids('onWishGoodsRecive', resResult(STATUS.SUCCESS, { wishGoods: resWishGoods }), [{uid:wishRoleId, sid: hisOnlineInfo.sid}]);
|
||||
sendMessageToUserWithSuc(wishRoleId, PUSH_ROUTE.WISH_GOODS_RECEIVE, { wishGoods: resWishGoods }, hisOnlineInfo.sid);
|
||||
}
|
||||
await WishPoolReportModel.addReport(code, wishRoleId, role.roleName , dntRoleId, dntRoleName, wishGood.goodId, 1);
|
||||
let goods = await addItems(dntRoleId, dntRoleName, sid, [getHonourObject(dicWishReward.honourReward)], ITEM_CHANGE_REASON.WISH_POOL_DONATE);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Application, BackendSession, ChannelService, HandlerService, } from "pinus";
|
||||
import { resResult, getRandEelm, getResStr, shouldRefresh, sortArrRandom, checkRoleIsRobot, getRobotSysType, makeRobotId, parseNumberList } from "../../../pubUtils/util";
|
||||
import { STATUS, ROLE_SELECT, FRIEND_DROP_TYPE, FRIEND_RELATION_TYPE, POPULATE_TYPE, BLOCK_OPEATE, CONSUME_TYPE, ITID, HERO_SELECT, REDIS_KEY, MSG_SOURCE, MSG_TYPE, TASK_TYPE, ROBOT_SYS_TYPE, ITEM_CHANGE_REASON } from "../../../consts";
|
||||
import { STATUS, ROLE_SELECT, FRIEND_DROP_TYPE, FRIEND_RELATION_TYPE, POPULATE_TYPE, BLOCK_OPEATE, CONSUME_TYPE, ITID, HERO_SELECT, REDIS_KEY, MSG_SOURCE, MSG_TYPE, TASK_TYPE, ROBOT_SYS_TYPE, ITEM_CHANGE_REASON, PUSH_ROUTE } from "../../../consts";
|
||||
import { RoleModel, RoleType } from "../../../db/Role";
|
||||
import { getTimeFun, getZeroPointD } from "../../../pubUtils/timeUtil";
|
||||
import { FriendApplyModel } from "../../../db/FriendApply";
|
||||
@@ -23,6 +23,7 @@ import { checkTaskWithRoles, checkTask } from "../../../services/task/taskServic
|
||||
import { ComBattleTeamModel } from "../../../db/ComBattleTeam";
|
||||
import { JewelModel } from "../../../db/Jewel";
|
||||
import { getHeroesAttributes } from "../../../services/playerCeService";
|
||||
import { sendMessageToUsersWithSuc, sendMessageToUserWithSuc } from "../../../services/pushService";
|
||||
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -155,11 +156,9 @@ export class FriendHandler {
|
||||
let apply = await FriendApplyModel.createApply(hisRoleId, role);
|
||||
resultRoleIds.push(hisRoleId);
|
||||
let hisOnlineInfo = await getRoleOnlineInfo(hisRoleId);
|
||||
let uids = [];
|
||||
if (hisOnlineInfo.isOnline) {
|
||||
uids.push({ uid: hisRoleId, sid: hisOnlineInfo.sid });
|
||||
let myApply = await getMyApplyParam(apply.applyCode, role);
|
||||
this.channelService.pushMessageByUids('onFriendApply', resResult(STATUS.SUCCESS, { apply: myApply }), uids);
|
||||
sendMessageToUserWithSuc(hisRoleId, PUSH_ROUTE.FRIEND_APPLY, { apply: myApply }, hisOnlineInfo.sid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,7 +239,7 @@ export class FriendHandler {
|
||||
list.push(param);
|
||||
if (hisOnlineInfo.isOnline) {
|
||||
let myParam = await getMyParamAsFriend(friendShip, role, friend.roleId);
|
||||
this.channelService.pushMessageByUids('onFriendAdd', resResult(STATUS.SUCCESS, { friend: myParam }), [{ uid: friend.roleId, sid: hisOnlineInfo.sid }]);
|
||||
sendMessageToUserWithSuc(friend.roleId, PUSH_ROUTE.FRIEND_APPLY, { friend: myParam }, hisOnlineInfo.sid);
|
||||
}
|
||||
|
||||
resultApplyCodeList.push(apply.applyCode);
|
||||
@@ -412,7 +411,7 @@ export class FriendHandler {
|
||||
let hisOnlineInfo = await getRoleOnlineInfo(hisRoleId);
|
||||
if(hisOnlineInfo) {
|
||||
let myApply = await getMyApplyParam(apply.applyCode, role);
|
||||
this.channelService.pushMessageByUids('onFriendApply', resResult(STATUS.SUCCESS, { apply: myApply }), [{uid: hisRoleId, sid: hisOnlineInfo.sid}]);
|
||||
sendMessageToUserWithSuc(friend.roleId, PUSH_ROUTE.FRIEND_APPLY, { apply: myApply }, hisOnlineInfo.sid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -490,7 +489,8 @@ export class FriendHandler {
|
||||
uids.push({ uid: relation.roleId, sid: hisOnlineInfo.sid });
|
||||
}
|
||||
}
|
||||
this.channelService.pushMessageByUids('onFriendSendHeart', resResult(STATUS.SUCCESS, { roleId }), uids);
|
||||
|
||||
sendMessageToUsersWithSuc(PUSH_ROUTE.FRIEND_SEND_HEART, { roleId }, uids);
|
||||
if (todaySendInc <= 0) return resResult(STATUS.FRIEND_HAS_SENT);
|
||||
|
||||
// 更新情谊值
|
||||
|
||||
@@ -11,7 +11,7 @@ import { findIndex, pick } from 'underscore';
|
||||
import { SclResultInter, SclPosInter } from '../../../pubUtils/interface';
|
||||
import { SchoolModel } from '../../../db/School';
|
||||
import { getTeraphStrengthenResult, getSchoolList } from '../../../services/roleService'
|
||||
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, DEBUG_MAGIC_WORD, COUNTER, DEFAULT_LV, ITEM_CHANGE_REASON } from '../../../consts';
|
||||
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, DEBUG_MAGIC_WORD, COUNTER, DEFAULT_LV, ITEM_CHANGE_REASON, PUSH_ROUTE } from '../../../consts';
|
||||
import { checkBattleHeroesByHid, roleLevelup } from '../../../services/normalBattleService';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
import { updateUserInfo } from '../../../services/redisService';
|
||||
@@ -26,6 +26,7 @@ import { UserModel } from '../../../db/User';
|
||||
import { checkFilterWords, reportTAEvent, treatRoleName } from '../../../services/sdkService';
|
||||
import { createHeroes } from '../../../services/role/createHero';
|
||||
import { calculateCeWithHero, calculateCeWithRole } from '../../../services/playerCeService';
|
||||
import { sendMessageToUser, sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -468,41 +469,41 @@ export class RoleHandler {
|
||||
let sid = session.get('sid');
|
||||
|
||||
if (type == 1) {
|
||||
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAY_TIME, {
|
||||
isGuest: true,
|
||||
guestTime: 60 * 60, // 游客已体验时间
|
||||
hasAuthenticated: false, // 是否进行过实名认证
|
||||
isAdult: false, // 是否已成年
|
||||
todayPlayTime: 60 * 60, // 今天已游戏时长
|
||||
type: 1
|
||||
}), [{ uid: roleId, sid: sid }]);
|
||||
}, sid);
|
||||
} else if (type == 2) {
|
||||
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAY_TIME, {
|
||||
isGuest: false,
|
||||
guestTime: 0, // 游客已体验时间
|
||||
hasAuthenticated: true, // 是否进行过实名认证
|
||||
isAdult: false, // 是否已成年
|
||||
todayPlayTime: 60 * 60, // 今天已游戏时长
|
||||
type: 2
|
||||
}), [{ uid: roleId, sid: sid }]);
|
||||
}, sid);
|
||||
} else if (type == 3) {
|
||||
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAY_TIME, {
|
||||
isGuest: false,
|
||||
guestTime: 0, // 游客已体验时间
|
||||
hasAuthenticated: true, // 是否进行过实名认证
|
||||
isAdult: false, // 是否已成年
|
||||
todayPlayTime: 3 * 60 * 60, // 今天已游戏时长
|
||||
type: 3
|
||||
}), [{ uid: roleId, sid: sid }]);
|
||||
}, sid);
|
||||
} else if (type == 4) {
|
||||
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAY_TIME, {
|
||||
isGuest: false,
|
||||
guestTime: 0, // 游客已体验时间
|
||||
hasAuthenticated: true, // 是否进行过实名认证
|
||||
isAdult: false, // 是否已成年
|
||||
todayPlayTime: 1.5 * 60 * 60, // 今天已游戏时长
|
||||
type: 4
|
||||
}), [{ uid: roleId, sid: sid }]);
|
||||
}, sid);
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Application, BackendSession, pinus, HandlerService, } from "pinus";
|
||||
import { resResult, parseGoodStr, getRandSingleEelm } from "../../../pubUtils/util";
|
||||
import { STATUS, TASK_FUN_TYPE, SHOP_REFRESH_TYPE, KING_EXP_RATIO_TYPE, DEBUG_MAGIC_WORD, ITEM_CHANGE_REASON, ACTIVITY_TYPE, TASK_TYPE } from "../../../consts";
|
||||
import { STATUS, TASK_FUN_TYPE, SHOP_REFRESH_TYPE, KING_EXP_RATIO_TYPE, DEBUG_MAGIC_WORD, ITEM_CHANGE_REASON, ACTIVITY_TYPE, TASK_TYPE, PUSH_ROUTE } from "../../../consts";
|
||||
import { gameData } from "../../../pubUtils/data";
|
||||
import { UserTaskRecModel } from "../../../db/UserTaskRec";
|
||||
import { addItems } from "../../../services/role/rewardService";
|
||||
@@ -17,6 +17,7 @@ import _ = require("underscore");
|
||||
import { addActvityTaskPoint } from "../../../services/activity/activityService";
|
||||
import { CheckTask } from "../../../services/task/taskObj";
|
||||
import { ServerlistModel } from "../../../db/Serverlist";
|
||||
import { sendMessageToUserWithSuc } from "../../../services/pushService";
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -241,12 +242,9 @@ export class ShopHandler {
|
||||
let { type } = msg
|
||||
let userTask;
|
||||
if (type == TASK_FUN_TYPE.DAILY) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
|
||||
// 转移每日任务
|
||||
await removeHistoryTask(roleId, type, new Date(nowSeconds() * 1000 + 86400000));
|
||||
pinus.app.get('channelService').pushMessageByUids('onDailyTaskRefresh', resResult(STATUS.SUCCESS, { taskList: [] }), uids);
|
||||
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.DAILY_TASK_REFRESH, { taskList: [] }, sid);
|
||||
await refDailyTaskBox(roleId, sid, true);
|
||||
userTask = await UserTaskModel.updateInfo(roleId, { dailyTaskPoint: 0 });
|
||||
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
*/
|
||||
|
||||
import { ActionPointModel, ActionPointType } from '../db/ActionPoint';
|
||||
import { TASK_TYPE, STATUS, TA_EVENT, ITEM_CHANGE_REASON } from '../consts';
|
||||
import { TASK_TYPE, STATUS, TA_EVENT, ITEM_CHANGE_REASON, PUSH_ROUTE } from '../consts';
|
||||
import { checkTask } from './task/taskService';
|
||||
import { getDicApByLv } from '../pubUtils/data';
|
||||
import { pinus } from 'pinus';
|
||||
import { resResult, shouldRefresh } from '../pubUtils/util';
|
||||
import { RoleModel } from '../db/Role';
|
||||
import { pick } from 'underscore';
|
||||
import { AP } from '../pubUtils/dicParam';
|
||||
import { reportTAEvent } from './sdkService';
|
||||
import { sendMessageToUserWithSuc } from './pushService';
|
||||
|
||||
/**
|
||||
* 获取当前体力
|
||||
@@ -97,8 +97,7 @@ export async function setAp(serverId: number, roleId: string, ip: string, lv: nu
|
||||
let apJson = await getApWithDataAp(roleId, ip, lv, dataAp);
|
||||
|
||||
if (changeAp != 0) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onApUpdate', resResult(STATUS.SUCCESS, { apJson: { ...apJson, apBefore } }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.AP_UPDATE, { apJson: { ...apJson, apBefore } }, sid);
|
||||
}
|
||||
|
||||
return apJson
|
||||
@@ -119,8 +118,7 @@ export async function setApBuyTimes(roleId: string, ip: string, lv: number, sid:
|
||||
|
||||
let apJson = { ap, maxAp, refTime, apMaxRemainTime, apRemainTime, buyTimes };
|
||||
if(incTimes != 0) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onApUpdate', resResult(STATUS.SUCCESS, { apJson }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.AP_UPDATE, { apJson }, sid);
|
||||
}
|
||||
return apJson;
|
||||
}
|
||||
@@ -40,7 +40,7 @@ import { addTaskPassPoint, getTaskPassDataShow } from './taskPassService';
|
||||
import { getGuildChannelSid } from '../chatService';
|
||||
import { getGuildPayDataShow } from './guildPayService';
|
||||
import { PopUpShopItemShow } from '../../domain/activityField/popUpShopField';
|
||||
import { sendMessageToGuildWithSuc } from '../pushService';
|
||||
import { sendMessageToGuildWithSuc, sendMessageToUser } from '../pushService';
|
||||
|
||||
/**
|
||||
* 获取活动数据
|
||||
@@ -423,12 +423,7 @@ export async function pushActivities(arr: pushActivityInter[], roleId: string, s
|
||||
sid = onlineUser.sid;
|
||||
}
|
||||
if(!!sid && arr.length > 0) {
|
||||
console.log(roleId, sid)
|
||||
pinus.app.get('channelService').pushMessageByUids('onActivityUpdate',
|
||||
resResult(STATUS.SUCCESS, {
|
||||
activities: arr
|
||||
}),
|
||||
[{ uid: roleId, sid }]);
|
||||
sendMessageToUser(roleId, PUSH_ROUTE.ACTIVITY_UPDATE, { activities: arr }, sid);
|
||||
}
|
||||
return arr
|
||||
}
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
import moment = require("moment");
|
||||
import { pinus } from "pinus";
|
||||
import { ADDICTION_PREVENTION_CODE, ADULT_AGE, GUEST_MAX_TIME, STATUS } from "../consts";
|
||||
import { ADDICTION_PREVENTION_CODE, ADULT_AGE, GUEST_MAX_TIME, PUSH_ROUTE, STATUS } from "../consts";
|
||||
import { UserModel, UserType } from "../db/User";
|
||||
import { getAge } from "../pubUtils/timeUtil";
|
||||
import { resResult } from "../pubUtils/util";
|
||||
import { incOnlineTime, setOnlineTime } from "./redisService";
|
||||
import { checkTeeanAgerTime } from '../pubUtils/authenticateUtil';
|
||||
import { sendMessageToUserWithSuc } from "./pushService";
|
||||
|
||||
export async function reportOneOnline(roleId: string, userCode: string, sid: string, isLogin: boolean = false, user?: UserType) {
|
||||
if (!user) user = await UserModel.findUserByUserCode(userCode);
|
||||
@@ -20,26 +21,26 @@ export async function reportOneOnline(roleId: string, userCode: string, sid: str
|
||||
|
||||
if (isGuest || !hasAuthenticated) {
|
||||
if (sumTime > GUEST_MAX_TIME) {
|
||||
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAY_TIME, {
|
||||
isGuest,
|
||||
guestTime: sumTime, // 游客已体验时间
|
||||
hasAuthenticated, // 是否进行过实名认证
|
||||
isAdult, // 是否已成年
|
||||
todayPlayTime: todaySumTime, // 今天已游戏时长
|
||||
type: ADDICTION_PREVENTION_CODE.GUEST,
|
||||
}), [{ uid: roleId, sid: sid }]);
|
||||
}, sid);
|
||||
}
|
||||
} else {
|
||||
let code = checkTeeanAgerTime(isAdult, todaySumTime);
|
||||
if(code != ADDICTION_PREVENTION_CODE.SUCCESS) {
|
||||
pinus.app.channelService.pushMessageByUids('onPlayTime', resResult(STATUS.SUCCESS, {
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAY_TIME, {
|
||||
isGuest,
|
||||
guestTime: 0, // 游客已体验时间
|
||||
hasAuthenticated, // 是否进行过实名认证
|
||||
isAdult, // 是否已成年
|
||||
todayPlayTime: todaySumTime, // 今天已游戏时长
|
||||
type: code
|
||||
}), [{ uid: roleId, sid: sid }]);
|
||||
}, sid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import { getRoleOnlineInfo } from './redisService';
|
||||
import { ChatInfoModel } from '../db/ChatInfo';
|
||||
import { AccuseRecModel, AccueseParam } from '../db/AccuseRec';
|
||||
import { getSimpleRoleInfo, getSimpleRoleInfos } from './roleService';
|
||||
import { sendMessageToCityWithSuc, sendMessageToGuildWithSuc, sendMessageToServerWithSuc, sendMessageToTeam } from './pushService';
|
||||
import { sendMessageToCityWithSuc, sendMessageToGuildWithSuc, sendMessageToServerWithSuc, sendMessageToTeam, sendMessageToUserWithSuc } from './pushService';
|
||||
|
||||
export * from './chatChannelService';
|
||||
export * from './sysChatService';
|
||||
@@ -130,7 +130,7 @@ export async function pushMsgToRole(msg: PrivateMessageType | GroupMessageType)
|
||||
const { sid } = await getRoleOnlineInfo(targetRoleId);
|
||||
if (sid) {
|
||||
const roleInfo = await getSimpleRoleInfo(msg.roleId);
|
||||
pinus.app.get('channelService').pushMessageByUids(ON_PRIVATE_MSG_ROUTE, resResult(STATUS.SUCCESS, { ...msg, roleInfo }), [{ uid: targetRoleId, sid }]);
|
||||
sendMessageToUserWithSuc(msg.roleId, PUSH_ROUTE.PRIVATE_MSG, { ...msg, roleInfo }, sid);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import { getCurTask, getPvpTask } from './task/taskService';
|
||||
import { RoleType } from '../db/Role';
|
||||
import { Application, FrontendOrBackendSession, pinus, RpcClient } from 'pinus';
|
||||
import { resResult } from '../pubUtils/util';
|
||||
import { STATUS, PUSH_BATCH, PUSH_INTERVAL, CONSUME_TYPE, HERO_SELECT, ENTERY_ROLE_PICK, JEWEL_SELECT, ITEM_SELECT, SKIN_SELECT } from '../consts';
|
||||
import { STATUS, PUSH_BATCH, PUSH_INTERVAL, CONSUME_TYPE, HERO_SELECT, ENTERY_ROLE_PICK, JEWEL_SELECT, ITEM_SELECT, SKIN_SELECT, PUSH_ROUTE } from '../consts';
|
||||
import { getAllShopList } from './shopService';
|
||||
import { getGeneralRank, getRankFirstReward } from './rankService';
|
||||
import { getFriendList, getApplyList } from './friendService';
|
||||
@@ -32,7 +32,7 @@ import { getBattleListOfMain, getMainChapter } from './normalBattleService';
|
||||
import { GuildType } from '../db/Guild';
|
||||
import UserGuild, { UserGuildType } from '../db/UserGuild';
|
||||
import { setPreDayActiveData, getAllGuildActivityStatus } from './guildActivity/guildActivityService';
|
||||
import { getAllOnlineRoles } from './redisService';
|
||||
import { getAllOnlineRoles, getAllServers } from './redisService';
|
||||
import Item, { ItemModel } from '../db/Item';
|
||||
import { PvpDefenseModel } from '../db/PvpDefense';
|
||||
import { getDonation } from './donateService';
|
||||
@@ -43,6 +43,7 @@ import { SkinModel } from '../db/Skin';
|
||||
import { getAp } from './actionPointService';
|
||||
import { HeroParam } from '../domain/roleField/hero';
|
||||
import { pick } from 'underscore';
|
||||
import { sendMessageToServerWithSuc, sendMessageToUser, sendMessageToUserWithSuc } from './pushService';
|
||||
|
||||
/**
|
||||
* init: 初始的时候是否推送 true-推 false-不推
|
||||
@@ -207,20 +208,17 @@ async function getModuleData(type: string, data: { role: RoleType, session: Fron
|
||||
}
|
||||
|
||||
function pushEntryData<T>(type: string, roleId: string, sid: string, param: T) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
let data = { type };
|
||||
data[type] = param;
|
||||
pinus.app.channelService.pushMessageByUids('onEntryData', resResult(STATUS.SUCCESS, data), uids);//通知在线玩家练兵场重置,
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.ENTRY_DATA, data, sid);
|
||||
}
|
||||
|
||||
function pushEntryStart(roleId: string, sid: string) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.channelService.pushMessageByUids('onEntryDataStart', resResult(STATUS.SUCCESS), uids);//通知在线玩家练兵场重置,
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.ENTRY_DATA_START, {}, sid);
|
||||
}
|
||||
|
||||
function pushEntryEnd(roleId: string, sid: string) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.channelService.pushMessageByUids('onEntryDataEnd', resResult(STATUS.SUCCESS), uids);//通知在线玩家练兵场重置,
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.ENTRY_DATA_END, {}, sid);
|
||||
}
|
||||
|
||||
|
||||
@@ -287,23 +285,11 @@ export async function everydayRefresh() {
|
||||
}
|
||||
|
||||
async function pushRefreshTime() {
|
||||
let allOnlineUsers = await getAllOnlineRoles();
|
||||
let servers = await getAllServers();
|
||||
let todayZeroPoint = getZeroPoint();
|
||||
let n = Math.ceil(allOnlineUsers.length / PUSH_BATCH); // 一共多少批
|
||||
// console.log(n)
|
||||
let i = -1;
|
||||
let interval = setInterval(() => {
|
||||
if (++i < n) {
|
||||
let users = allOnlineUsers.slice(i * PUSH_BATCH, (i + 1) * PUSH_BATCH - 1);
|
||||
for (let { roleId, sid } of users) {
|
||||
pinus.app.channelService.pushMessageByUids('onRefreshTime', resResult(STATUS.SUCCESS, {
|
||||
todayZeroPoint
|
||||
}), [{ uid: roleId, sid: sid }]);
|
||||
}
|
||||
} else {
|
||||
clearInterval(interval);
|
||||
}
|
||||
}, PUSH_INTERVAL);
|
||||
for(let serverId of servers) {
|
||||
await sendMessageToServerWithSuc(serverId, PUSH_ROUTE.REFRESH_TIME, { todayZeroPoint }, true);
|
||||
}
|
||||
}
|
||||
|
||||
export async function kickUser(app: Application, uid: string, message = STATUS.LOGIN_ERR) {
|
||||
@@ -314,7 +300,7 @@ export async function kickUser(app: Application, uid: string, message = STATUS.L
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
app.get('channelService').pushMessageByUids('onRemoteLogin', resResult(message), uids);
|
||||
sendMessageToUser(roleId, PUSH_ROUTE.REMOTE_LOGIN, sid);
|
||||
});
|
||||
}
|
||||
await sessionService.akick(uid);
|
||||
|
||||
@@ -2,11 +2,12 @@ import { FrontendOrBackendSession, pinus } from 'pinus';
|
||||
import EventRecord, { EventRecordModel } from '../db/EventRecord';
|
||||
import { RoleModel } from '../db/Role';
|
||||
import { genCode, getRandEelmWithWeight, resResult, getRandSingleEelm } from '../pubUtils/util';
|
||||
import { EVENT_STATUS, EVENT_RECORD_STATUS, EVENT_TYPE, EVENT_RANDOM_TYPE_ONE_OPEN, EVENT_QUIZ_NUM, EVENT_ANSWER_STATUS, FUNCS_ID } from '../consts';
|
||||
import { EVENT_STATUS, EVENT_RECORD_STATUS, EVENT_TYPE, EVENT_RANDOM_TYPE_ONE_OPEN, EVENT_QUIZ_NUM, EVENT_ANSWER_STATUS, FUNCS_ID, PUSH_ROUTE } from '../consts';
|
||||
import { EVENT_REFRESH_NUM } from '../consts';
|
||||
import { STATUS } from '../consts/statusCode';
|
||||
import { gameData } from '../pubUtils/data';
|
||||
import { DicQuestion } from '../pubUtils/dictionary/DicQuestion';
|
||||
import { sendMessageToUserWithSuc } from './pushService';
|
||||
|
||||
/**
|
||||
* 从检查接口调用,检查是否有这么个战斗,顺便保存一下battleCode
|
||||
@@ -266,12 +267,7 @@ function randomPosition(positionArr: number[], prePoint: Array<number>, curPoint
|
||||
* @param msg
|
||||
*/
|
||||
function pushEventMsg(sid: string, roleId: string, msg: any ) {
|
||||
let channelService = pinus.app.get('channelService');
|
||||
|
||||
channelService.pushMessageByUids('onSpecialEvent', resResult(STATUS.SUCCESS, msg), [{
|
||||
uid: roleId,
|
||||
sid: sid
|
||||
}]);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.SEND_EVENT, msg, sid);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -12,7 +12,7 @@ import { pinus } from "pinus";
|
||||
import { getRandEelm, sortArrRandom, resResult, getRandResultByMember } from "../../pubUtils/util";
|
||||
import { Rank } from "../rankService";
|
||||
import { getTimeFun } from "../../pubUtils/timeUtil";
|
||||
import { sendMessageToGuildWithSuc } from "../pushService";
|
||||
import { sendMessageToGuildWithSuc, sendMessageToUserWithSuc } from "../pushService";
|
||||
|
||||
// 粮草先行
|
||||
export class RaceActivityObject {
|
||||
@@ -220,9 +220,7 @@ export class RaceActivityObject {
|
||||
}
|
||||
}
|
||||
this.items.set(roleId, items);
|
||||
let uids = [{uid: roleId, sid}];
|
||||
pinus.app.get('channelService').pushMessageByUids('onRaceItemUpdate', resResult(STATUS.SUCCESS, { items: sendItems }), uids);
|
||||
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.RACE_ITEM_UPDATE, { items: sendItems }, sid);
|
||||
return items;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import { UserGuildModel, UserGuildType } from '../db/UserGuild';
|
||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||
import { GUILDACTIVITY } from '../pubUtils/dicParam';
|
||||
import { ServerRecordModel } from '../db/ServerRecords';
|
||||
import { sendMessageToGuildWithSuc } from './pushService';
|
||||
import { sendMessageToGuildWithSuc, sendMessageToUsersWithSuc } from './pushService';
|
||||
|
||||
/**
|
||||
* 获得boss界面
|
||||
@@ -142,7 +142,7 @@ export async function pushBossHpMessage(code: string, serverId:number, bossHp:nu
|
||||
let sid = arr[1];
|
||||
return {uid, sid};
|
||||
});
|
||||
pinus.app.channelService.pushMessageByUids('onBossHpUpdate', resResult(STATUS.SUCCESS, {bossHp}), uids);
|
||||
sendMessageToUsersWithSuc(PUSH_ROUTE.BOSS_HP_UPDATE, { bossHp }, uids);
|
||||
if (isDelKey) {
|
||||
delAsync(key);
|
||||
}
|
||||
|
||||
@@ -118,13 +118,10 @@ export async function joinGuild(code: string, guildName: string, lv: number, rol
|
||||
if (sid) {
|
||||
await addRoleToGuildChannel(roleId, sid, code);
|
||||
await pinus.app.rpc.connector.connectorRemote.setOtherUserGuildSession.toServer(sid,[{ roleId, userGuild }]);
|
||||
pinus.app.channelService.pushMessageByUids('onMemberJoinGuild', resResult(STATUS.SUCCESS, {
|
||||
hasGuild: true,
|
||||
code: code
|
||||
}), [{ uid: roleId, sid }]);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.MEMBER_JOIN_GUILD, { hasGuild: true, code }, sid);
|
||||
session.set('guildCode', code);
|
||||
let auctionInfo = await getAuction(code, session);
|
||||
pinus.app.channelService.pushMessageByUids('onAuctionUpdate', resResult(STATUS.SUCCESS, auctionInfo), [{ uid: roleId, sid }]);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.AUCTION_UPDATE, auctionInfo, sid);
|
||||
changeGuildActivity(code, serverId, roleId, sid);
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import { GMMailRecordModel } from "../db/GMMailRecord";
|
||||
import { BAG } from "../pubUtils/dicParam";
|
||||
import { GuildModel, GuildType } from "../db/Guild";
|
||||
import moment = require("moment");
|
||||
import { sendMessageToGuildWithSuc, sendMessageToServerWithSuc } from "./pushService";
|
||||
import { sendMessageToGuildWithSuc, sendMessageToServerWithSuc, sendMessageToUsersWithSuc } from "./pushService";
|
||||
|
||||
/**
|
||||
* 获取邮件信息
|
||||
@@ -248,7 +248,7 @@ export class SendMailFun {
|
||||
for(let [roleId, mails ] of pushByRoleId) {
|
||||
let uids = await this.getUids(roleId, myRoleId, mySid);
|
||||
if(uids.length > 0 && mails.length > 0) {
|
||||
pinus.app.channelService.pushMessageByUids('onMailsAdd', resResult(STATUS.SUCCESS, { mails }), uids);
|
||||
sendMessageToUsersWithSuc(PUSH_ROUTE.MAILS_ADD, { mails }, uids);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import Role, { RoleModel, RoleType } from '../db/Role'
|
||||
import { getLvByExp, getExpByLv, gameData, getDicApByLv } from '../pubUtils/data';
|
||||
import { updateUserInfo } from './redisService';
|
||||
// import { switchOnFunc } from './funcSwitchService';
|
||||
import { FUNC_OPT_TYPE, TASK_TYPE, WAR_TYPE, STATUS, KING_EXP_RATIO_TYPE, ITEM_CHANGE_REASON, POP_UP_SHOP_CONDITION_TYPE, HERO_SYSTEM_TYPE } from '../consts';
|
||||
import { FUNC_OPT_TYPE, TASK_TYPE, WAR_TYPE, STATUS, KING_EXP_RATIO_TYPE, ITEM_CHANGE_REASON, POP_UP_SHOP_CONDITION_TYPE, HERO_SYSTEM_TYPE, PUSH_ROUTE } from '../consts';
|
||||
import { BackendSession, pinus } from 'pinus';
|
||||
import { REDIS_KEY } from '../consts';
|
||||
import { Rank } from './rankService';
|
||||
@@ -17,6 +17,7 @@ import { WarStar } from '../domain/dbGeneral';
|
||||
import { uniq } from 'underscore';
|
||||
import { checkPopUpCondition } from './activity/popUpShopService';
|
||||
import { calculateCeWithRole } from './playerCeService';
|
||||
import { sendMessageToUser, sendMessageToUserWithSuc } from './pushService';
|
||||
|
||||
export async function roleLevelup(type: KING_EXP_RATIO_TYPE, roleId: string, kingExp: number = 0, session: BackendSession) {
|
||||
const serverId = session.get('serverId');
|
||||
@@ -75,12 +76,7 @@ export async function roleLevelup(type: KING_EXP_RATIO_TYPE, roleId: string, kin
|
||||
}
|
||||
// 推送
|
||||
if(canGetExp && kingExp >= 0) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerExpChange', resResult(STATUS.SUCCESS, {
|
||||
isLvUp: newLv > lv,
|
||||
lv: newLv,
|
||||
exp: newExp
|
||||
}), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAYER_EXP_CHANGE, { isLvUp: newLv > lv, lv: newLv, exp: newExp }, sid);
|
||||
}
|
||||
|
||||
return { actordata, lv: newLv, exp: newExp, kingExp: newExp - exp };
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { UserOrderModel, UserOrderModelType } from '../db/UserOrder';
|
||||
import { ACTIVITY_TYPE, ORDER_STATE, PAY_TYPE, REFUND_PRICE_TO_GOLD, STATUS, TASK_TYPE, TA_EVENT, TA_USERSET_TYPE } from '../consts';
|
||||
import { ACTIVITY_TYPE, ORDER_STATE, PAY_TYPE, PUSH_ROUTE, REFUND_PRICE_TO_GOLD, STATUS, TASK_TYPE, TA_EVENT, TA_USERSET_TYPE } from '../consts';
|
||||
import { dicRMB } from '../pubUtils/dictionary/DicRMB';
|
||||
import { makeYuanbaoShopReward } from './activity/yuanbaoService';
|
||||
import { RoleModel } from '../db/Role';
|
||||
@@ -31,6 +31,7 @@ import { savePayLog } from '../pubUtils/logUtil';
|
||||
import { recordFirstGift } from './activity/firstGiftService';
|
||||
import { makeTaskPass } from './activity/taskPassService';
|
||||
import { addGuildPay } from './activity/guildPayService';
|
||||
import { sendMessageToUser } from './pushService';
|
||||
|
||||
|
||||
/**
|
||||
@@ -148,9 +149,7 @@ export async function makeOrder(orderInfo: UserOrderModelType, sid: string) {
|
||||
await recordFirstGift(roleInfo, orderInfo.serverId);
|
||||
}
|
||||
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, {
|
||||
totalPay: roleInfo.totalPay
|
||||
}), [{ uid: roleId, sid }]);
|
||||
sendMessageToUser(roleId, PUSH_ROUTE.PLAYER_DATA_CHANGE, { totalPay: roleInfo.totalPay }, sid);
|
||||
|
||||
return {...rewardResult, roleInfo}
|
||||
}
|
||||
@@ -171,12 +170,11 @@ export async function settleOrder(order: UserOrderModelType, serverId: number, s
|
||||
//推送
|
||||
console.log('***** settleOrder', order.roleId, sid)
|
||||
if(!!sid) {
|
||||
pinus.app.channelService.pushMessageByUids('onOrder', resResult(STATUS.SUCCESS, {
|
||||
sendMessageToUser(order.roleId, PUSH_ROUTE.ORDER, {
|
||||
...result.data,
|
||||
price: order.price,
|
||||
state: order.state,
|
||||
localOrderID: order.localOrderID
|
||||
}), [{ uid: order.roleId, sid }]);
|
||||
localOrderID: order.localOrderID}, sid);
|
||||
}
|
||||
//活动统计
|
||||
addRechargeMoney(order.roleId, serverId, order.price);
|
||||
@@ -308,9 +306,7 @@ export async function refundOrderFromRedisPub(message: string) {
|
||||
let role = await RoleModel.incRoleInfo(order.roleId, { gold: -refundGold }, {});
|
||||
let onlineUser = await getRoleOnlineInfo(order.roleId);
|
||||
let sid = onlineUser.sid;
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, {
|
||||
gold: role.gold
|
||||
}), [{uid: order.roleId, sid}]);
|
||||
sendMessageToUser(order.roleId, PUSH_ROUTE.PLAYER_DATA_CHANGE, { gold: role.gold }, sid);
|
||||
await UserOrderModel.refund(order.roleId, order.localOrderID, message);
|
||||
|
||||
return true
|
||||
|
||||
@@ -10,7 +10,7 @@ import { HeroModel, HeroType, HeroUpdate } from '../db/Hero';
|
||||
|
||||
import { RoleUpdate, RoleType, RoleModel } from '../db/Role';
|
||||
import { Rank } from './rankService';
|
||||
import { HERO_SYSTEM_TYPE, REDIS_KEY } from '../consts';
|
||||
import { HERO_SYSTEM_TYPE, PUSH_ROUTE, REDIS_KEY } from '../consts';
|
||||
import { updateUserInfo } from './redisService';
|
||||
import { GuildModel, GuildType } from '../db/Guild';
|
||||
import { CalCe } from './role/calCe';
|
||||
@@ -20,6 +20,7 @@ import { saveCeChangeLog } from '../pubUtils/logUtil';
|
||||
import { JewelType } from '../db/Jewel';
|
||||
import { SchoolModel } from '../db/School';
|
||||
import { AttributeCal } from '../domain/roleField/attribute';
|
||||
import { sendMessageToUserWithSuc } from './pushService';
|
||||
|
||||
interface Param {
|
||||
isInitRole?: boolean,
|
||||
@@ -334,9 +335,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve
|
||||
|
||||
saveCeChangeLog(role, roleInc, role.ce, type, changeHids);
|
||||
updateRank(roleId, serverId, topLineupCe, role, pushHeros, guild);
|
||||
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerCeUpdate', resResult(STATUS.SUCCESS, { ce: role.ce, heros: pushHeros, topLineupCe }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAYER_CE_UPDATE, { ce: role.ce, heros: pushHeros, topLineupCe }, sid);
|
||||
|
||||
if(guild) {
|
||||
await updateUserInfo(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }]);
|
||||
|
||||
@@ -46,8 +46,8 @@ export async function sendMessageToUser(roleId: string, route: string, data: any
|
||||
sid = onlineUser.sid;
|
||||
}
|
||||
if (!!sid) {
|
||||
uids.push({ uid: roleId, sid });
|
||||
pinus.app.get('channelService').pushMessageByUids(route, data, uids);
|
||||
uids.push({ uid: roleId, sid });
|
||||
sendMessageToUsers(route, data, uids);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ import { refDailyTask, refDailyTaskBox } from './task/taskService'
|
||||
// import { startEvent } from "./eventSercive";
|
||||
import * as dicParam from '../pubUtils/dicParam';
|
||||
import { dispatch } from "../pubUtils/dispatcher";
|
||||
import { sendMessageToUserWithSuc } from "./pushService";
|
||||
import { PUSH_ROUTE } from "../consts";
|
||||
|
||||
/**
|
||||
* 刷新
|
||||
@@ -17,14 +19,13 @@ export async function refresh(session: FrontendOrBackendSession) {
|
||||
const roleId = session.get('roleId')||'test';
|
||||
const sid = session.get('sid');
|
||||
|
||||
let uids = [{uid: roleId, sid}];
|
||||
if(dicParam.SERVER_DEBUG_MODE.CURRENT_TIME != 1) {
|
||||
pinus.app.get('channelService').pushMessageByUids('onPushCurrentTime', resResult(STATUS.SUCCESS, {time: Date.now()}), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PUSH_CURRENT_TIME, { time: Date.now() }, sid);
|
||||
} else {
|
||||
let guilds = pinus.app.getServersByType('guild');
|
||||
let guild = dispatch(roleId, guilds, 'guild');
|
||||
let currentTime = await pinus.app.rpc.guild.guildActivityRemote.getCurrentTime.toServer(guild.id);
|
||||
pinus.app.get('channelService').pushMessageByUids('onPushCurrentTime', resResult(STATUS.SUCCESS, {time: currentTime }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PUSH_CURRENT_TIME, { time: currentTime }, sid);
|
||||
}
|
||||
await refreshDaily(session);
|
||||
// await startEvent(session);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { FIGURE_UNLOCK_CONDITION, ITEM_CHANGE_REASON, REDIS_KEY, STATUS, TASK_TYPE, HERO_SYSTEM_TYPE, LINEUP_NUM, COUNTER } 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 { HeroModel, HeroSkin, HeroType, HeroUpdate } from "../../db/Hero";
|
||||
import { SkinUpdate } from "../../db/Skin";
|
||||
@@ -12,6 +12,7 @@ import { addItems, unlockFigure, } from "./rewardService";
|
||||
import { CounterModel } from "../../db/Counter";
|
||||
import { calculateCes } from "../playerCeService";
|
||||
import { RoleUpdate } from "../../db/Role";
|
||||
import { sendMessageToUser, sendMessageToUserWithSuc } from "../pushService";
|
||||
|
||||
/**
|
||||
* 创建多个武将
|
||||
@@ -67,11 +68,9 @@ import { RoleUpdate } from "../../db/Role";
|
||||
resultHeroes.push(hero);
|
||||
}
|
||||
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
await SkinModel.insertSkins(roleId, roleName, skins);
|
||||
pinus.app.get('channelService').pushMessageByUids('onHeroSkinChange', resResult(STATUS.SUCCESS, getSkinPushMsg(resultHeroes, skins)), uids);
|
||||
pinus.app.get('channelService').pushMessageByUids('onHeroUpdate', resResult(STATUS.SUCCESS, { heroes }), uids);
|
||||
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.HERO_SKIN_CHANGE, getSkinPushMsg(resultHeroes, skins), sid);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.HERO_UPDATE, { heroes }, sid);
|
||||
}
|
||||
|
||||
if (pieces.length > 0) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ITID, CONSUME_TYPE, ITEM_TABLE, CURRENCY, CURRENCY_TYPE, MAIL_TYPE, HANDLE_REWARD_TYPE, HERO_SYSTEM_TYPE, CURRENCY_BY_TYPE, ITEM_CHANGE_REASON, TA_USERSET_TYPE, TA_EVENT, POP_UP_SHOP_CONDITION_TYPE, ROLE_SELECT, FIGURE_UNLOCK_CONDITION } from '../../consts';
|
||||
import { ITID, CONSUME_TYPE, ITEM_TABLE, CURRENCY, CURRENCY_TYPE, MAIL_TYPE, HANDLE_REWARD_TYPE, HERO_SYSTEM_TYPE, CURRENCY_BY_TYPE, ITEM_CHANGE_REASON, TA_USERSET_TYPE, TA_EVENT, POP_UP_SHOP_CONDITION_TYPE, ROLE_SELECT, FIGURE_UNLOCK_CONDITION, PUSH_ROUTE } from '../../consts';
|
||||
import { getDecimalCnt, getRandEelm, getRandEelmWithWeight, getRandSingleEelm, getRandValueByMinMax, resResult } from '../../pubUtils/util';
|
||||
import { RoleModel, RoleType } from '../../db/Role';
|
||||
import { setAp } from '../actionPointService';
|
||||
@@ -25,12 +25,12 @@ import { updateEplaces } from '../equipService';
|
||||
import { combineItems, getCoinEventProperties, getGoldEventProperties, sortItems } from './util';
|
||||
import { nowSeconds } from '../../pubUtils/timeUtil';
|
||||
import { calculateCeWithHero, calculateCeWithRole } from '../playerCeService';
|
||||
import { sendMessageToUsersWithSuc, sendMessageToUserWithSuc } from '../pushService';
|
||||
|
||||
|
||||
|
||||
export async function handleCost(roleId: string, sid: string, goods: Array<ItemInter>, reason: ITEM_CHANGE_REASON) {
|
||||
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
let { items, jewels, gold, coin } = sortItems(goods, HANDLE_REWARD_TYPE.COST);
|
||||
let jewelSeqIds = jewels.map(cur => cur.seqId);
|
||||
let resJewels: JewelType[] = [];
|
||||
@@ -53,7 +53,7 @@ export async function handleCost(roleId: string, sid: string, goods: Array<ItemI
|
||||
if (items.length > 0) {
|
||||
let { hasError, result } = await ItemModel.decreaseItems(roleId, items);
|
||||
if (hasError) return false;
|
||||
pinus.app.get('channelService').pushMessageByUids('onItemUpdate', resResult(STATUS.SUCCESS, { goods: result.map(cur => ({...cur, reason })) }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.ITEM_UPDATE, { goods: result.map(cur => ({...cur, reason })) }, sid);
|
||||
saveItemChangeLog(roleId, result, reason);
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ export async function handleCost(roleId: string, sid: string, goods: Array<ItemI
|
||||
|
||||
let jewels = await JewelModel.deleteBySeqIds(roleId, jewelSeqIds);
|
||||
saveItemChangeLog(roleId, jewels.map(jewel => ({ id: jewel.id, count: 1, inc: -1 })), reason);
|
||||
pinus.app.get('channelService').pushMessageByUids('onJewelDel', resResult(STATUS.SUCCESS, { jewels: jewels.map(jewel => ({ seqId: jewel.seqId, id: jewel.id, inc: -1, reason })) }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.JEWEL_DEL, { jewels: jewels.map(jewel => ({ seqId: jewel.seqId, id: jewel.id, inc: -1, reason })) }, sid);
|
||||
}
|
||||
|
||||
//消耗玩家货币
|
||||
@@ -94,9 +94,7 @@ export async function handleCost(roleId: string, sid: string, goods: Array<ItemI
|
||||
let costGold = gold.reduce((pre, cur) => pre + cur.count, 0);
|
||||
let costCoin = coin.reduce((pre, cur) => pre + cur, 0);
|
||||
role = await RoleModel.decreaseGoldAndCoin(roleId, gold, costCoin);
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, {
|
||||
gold: role.gold, coin: role.coin, totalCost: role.totalCost
|
||||
}), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAYER_DATA_CHANGE, { gold: role.gold, coin: role.coin, totalCost: role.totalCost }, sid);
|
||||
|
||||
if(costGold > 0) {
|
||||
reportTAEvent(roleId, TA_EVENT.ITEM_CONSUME, getGoldEventProperties(costGold, role.gold, reason));
|
||||
@@ -114,9 +112,7 @@ export async function handleCost(roleId: string, sid: string, goods: Array<ItemI
|
||||
return true;
|
||||
}
|
||||
|
||||
// TODO: sid 在方法内部获取,且不一定存在
|
||||
export async function addItems(roleId: string, roleName: string, sid: string, goods: Array<ItemInter>, reason: ITEM_CHANGE_REASON) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
let { items, jewels, gold, coin, ap, skins, figures } = sortItems(goods, HANDLE_REWARD_TYPE.RECEIVE);
|
||||
let showItems: { id: number, seqId?: number, count: number, isBag?: boolean }[] = [];
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
@@ -141,7 +137,7 @@ export async function addItems(roleId: string, roleName: string, sid: string, go
|
||||
}
|
||||
//装备推送
|
||||
if (!!jewelInfos.length)
|
||||
pinus.app.get('channelService').pushMessageByUids('onJewelAdd', resResult(STATUS.SUCCESS, { jewelInfos }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.JEWEL_ADD, { jewelInfos }, sid);
|
||||
//统计装备
|
||||
if (jewelInfos.length > 0) {
|
||||
saveItemChangeLog(roleId, jewelInfos, reason);
|
||||
@@ -160,7 +156,7 @@ export async function addItems(roleId: string, roleName: string, sid: string, go
|
||||
}
|
||||
//背包除去装备推送
|
||||
if (!!itemInfos.length) {
|
||||
pinus.app.get('channelService').pushMessageByUids('onItemUpdate', resResult(STATUS.SUCCESS, { goods: itemInfos }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.ITEM_UPDATE, { goods: itemInfos }, sid);
|
||||
saveItemChangeLog(roleId, itemInfos, reason);
|
||||
}
|
||||
|
||||
@@ -172,9 +168,8 @@ export async function addItems(roleId: string, roleName: string, sid: string, go
|
||||
let incCoin = coin.reduce((pre, cur) => pre + cur, 0);
|
||||
let incGold = gold.reduce((pre, cur) => pre + cur.count, 0);
|
||||
role = await RoleModel.increaseGoldAndCoin(roleId, gold, incCoin);
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, {
|
||||
gold: role.gold, coin: role.coin
|
||||
}), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAYER_DATA_CHANGE, { gold: role.gold, coin: role.coin }, sid);
|
||||
|
||||
if(gold.length > 0) {
|
||||
gold.forEach(({ count }) => {
|
||||
showItems.push(getGoldObject(count));
|
||||
@@ -211,7 +206,7 @@ export async function addItems(roleId: string, roleName: string, sid: string, go
|
||||
}
|
||||
}
|
||||
if (!!skinInfos.length) {
|
||||
pushHeroSkinMsg(heroskins, skinInfos, uids); // 推送onHeroSkinChange
|
||||
pushHeroSkinMsg(heroskins, skinInfos, roleId, sid); // 推送onHeroSkinChange
|
||||
saveItemChangeLog(roleId, skinInfos, reason);
|
||||
}
|
||||
}
|
||||
@@ -228,7 +223,7 @@ export async function addItems(roleId: string, roleName: string, sid: string, go
|
||||
// 获得头像或相框或形象推送
|
||||
if(!!figureInfos && figureInfos.length > 0) {
|
||||
for(let figureInfo of figureInfos) {
|
||||
pinus.app.get('channelService').pushMessageByUids('onHeadChange', resResult(STATUS.SUCCESS, { ...figureInfo }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.HEAD_CHANGE, { ...figureInfo }, sid);
|
||||
saveFigureInfoLog(roleId, figureInfo, reason)
|
||||
}
|
||||
}
|
||||
@@ -298,8 +293,7 @@ export async function unlockFigure(sid: string, roleId: string, conditions: { ty
|
||||
let { figureInfo, heads, frames, spines } = unlockFigureWithoutSave(conditions, role);
|
||||
role = await RoleModel.updateRoleInfo(roleId, { heads, frames, spines });
|
||||
if (!!figureInfo && (figureInfo.heads.length > 0 || figureInfo.frames.length > 0 || figureInfo.spines.length > 0)) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onHeadChange', resResult(STATUS.SUCCESS, { ...figureInfo }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.HEAD_CHANGE, { ...figureInfo }, sid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -307,9 +301,9 @@ export async function unlockFigure(sid: string, roleId: string, conditions: { ty
|
||||
/**
|
||||
* 皮肤数据变化去重、推送
|
||||
* @param heroskins 推送的皮肤
|
||||
* @param uids 玩家
|
||||
* @param roleId 玩家
|
||||
*/
|
||||
function pushHeroSkinMsg(heroskins: {skins: HeroSkin[], hid: number}[], skinInfos: {id: number, hid: number }[], uids: {uid: string, sid: string}[]) {
|
||||
function pushHeroSkinMsg(heroskins: {skins: HeroSkin[], hid: number}[], skinInfos: {id: number, hid: number }[], roleId: string, sid: string) {
|
||||
let pushSkinInfos: {skins: HeroSkin[], hid: number}[] = []; // 可能会有重复的
|
||||
for(let { skins, hid } of heroskins) {
|
||||
let index = pushSkinInfos.findIndex(cur => cur.hid == hid);
|
||||
@@ -322,7 +316,7 @@ function pushHeroSkinMsg(heroskins: {skins: HeroSkin[], hid: number}[], skinInf
|
||||
}
|
||||
}
|
||||
if(pushSkinInfos.length > 0 || skinInfos.length > 0) {
|
||||
pinus.app.get('channelService').pushMessageByUids('onHeroSkinChange', resResult(STATUS.SUCCESS, { heros: heroskins, skins: skinInfos }), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.HERO_SKIN_CHANGE, { heros: heroskins, skins: skinInfos }, sid);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { RoleModel, RoleType } from "../db/Role";
|
||||
import { Chat37Params, CheckGuild37Params, CheckName37Params, GetWordParam } from "../domain/sdk";
|
||||
import { sendMailByContent, sendMailToGuildByContent } from './mailService';
|
||||
import { NAMEPLATE } from '../pubUtils/dicParam';
|
||||
import { CHANNEL_PREFIX, FILENAME, getSdkChannelId, MAIL_TYPE, REDIS_KEY, SDK_37_ADDR, SDK_37_CONST, SDK_TA_CONST, STATUS, TA_USERSET_TYPE, THINKING_DATA_MODE, THINKING_DATA_MODE_LIST } from "../consts";
|
||||
import { CHANNEL_PREFIX, FILENAME, getSdkChannelId, MAIL_TYPE, PUSH_ROUTE, REDIS_KEY, SDK_37_ADDR, SDK_37_CONST, SDK_TA_CONST, STATUS, TA_USERSET_TYPE, THINKING_DATA_MODE, THINKING_DATA_MODE_LIST } from "../consts";
|
||||
import { UserModel } from "../db/User";
|
||||
import { request37CheckChat, request37GetWord, request37Post } from "../pubUtils/httpUtil";
|
||||
import { GuildModel } from "../db/Guild";
|
||||
@@ -19,6 +19,7 @@ import { getGoldObject } from "./role/rewardService";
|
||||
import { SurveyRecModel } from "../db/SurveyRec";
|
||||
import { SurveyModel } from "../db/Survery";
|
||||
import { pushGuildInfoUpdate } from "./guildService";
|
||||
import { sendMessageToUserWithSuc } from "./pushService";
|
||||
|
||||
// 检查私聊是否合法
|
||||
|
||||
@@ -115,9 +116,7 @@ export async function treatRoleName(roleId: string, isDebug?: boolean) {
|
||||
const { sid } = await getRoleOnlineInfo(roleId);
|
||||
if(!!sid) {
|
||||
await pinus.app.rpc.connector.connectorRemote.setOtherUserSession.toServer(sid,[{ roleId, roleName: newName }]); // 改session
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, {
|
||||
roleName: newName
|
||||
}), [{uid: roleId, sid}]);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PLAYER_DATA_CHANGE, { roleName: newName }, sid);
|
||||
}
|
||||
// 补偿
|
||||
let gold = getGoldObject(NAMEPLATE.NAMEPLATE_FEECOST)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { pinus } from "pinus";
|
||||
import { ABI_STAGE, ACTIVITY_TYPE, STATUS, TASK_SUM_TYPE, TASK_TYPE, WAR_TYPE } from "../../consts";
|
||||
import { ABI_STAGE, ACTIVITY_TYPE, PUSH_ROUTE, STATUS, TASK_SUM_TYPE, TASK_TYPE, WAR_TYPE } from "../../consts";
|
||||
import { ActivityModelType } from "../../db/Activity";
|
||||
import { ActivityBuyRecordsModel } from "../../db/ActivityBuyRecords";
|
||||
import { ActivityDailyChallengesModel } from "../../db/ActivityDailyChallenges";
|
||||
@@ -24,6 +24,7 @@ import { getActivities, getActivitiesByType, getActivityByServerId } from "../ac
|
||||
import { getRoleCreateTime, getRoleOnlineInfo, getServerCreateTime } from "../redisService";
|
||||
import { getEquipById, getJewelByEquip, isRandSeUnLock } from "../equipService";
|
||||
import { debug } from "console";
|
||||
import { sendMessageToUserWithSuc } from "../pushService";
|
||||
|
||||
export class CheckTask {
|
||||
serverId: number; // 区id
|
||||
@@ -105,13 +106,12 @@ export class CheckTask {
|
||||
let onlineUser = await getRoleOnlineInfo(roleId);
|
||||
sid = onlineUser.sid;
|
||||
}
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
if(!!sid) {
|
||||
if (this.taskPushMessages.length > 0) {
|
||||
pinus.app.get('channelService').pushMessageByUids('onTaskUpdate', resResult(STATUS.SUCCESS, this.taskPushMessages), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.TASK_UPDATE,this.taskPushMessages, sid);
|
||||
}
|
||||
if (this.activityTaskPushMessages.length > 0) {
|
||||
pinus.app.get('channelService').pushMessageByUids('onActivityTaskUpdate', resResult(STATUS.SUCCESS, this.activityTaskPushMessages), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.ACTIVITY_TASK_UPDATE, this.activityTaskPushMessages, sid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { RoleModel, RoleType } from '../../db/Role';
|
||||
import { pinus, FrontendOrBackendSession } from 'pinus';
|
||||
import { resResult, shouldRefresh } from '../../pubUtils/util';
|
||||
import { STATUS, TASK_TYPE, TASK_FUN_TYPE, SHOP_REFRESH_TYPE, WAR_TYPE } from '../../consts';
|
||||
import { STATUS, TASK_TYPE, TASK_FUN_TYPE, SHOP_REFRESH_TYPE, WAR_TYPE, PUSH_ROUTE } from '../../consts';
|
||||
import { TaskParamInter, TaskListReturn } from '../../domain/roleField/task';
|
||||
import { EPlace, HeroType } from '../../db/Hero';
|
||||
import { HeroScores } from '../../db/PvpHistoryOpp';
|
||||
@@ -17,6 +17,7 @@ import { CheckTask } from './taskObj';
|
||||
import { getEquipById } from '../equipService';
|
||||
import { JewelType } from '../../db/Jewel';
|
||||
import { checkPopUpConditionInCreateHero } from '../activity/popUpShopService';
|
||||
import { sendMessageToUserWithSuc } from '../pushService';
|
||||
|
||||
export async function checkTaskWithRoles(serverId: number, roleId: string, sid: string, taskType: TASK_TYPE, roles: RoleType[]) {
|
||||
for (let role of roles) {
|
||||
@@ -354,10 +355,7 @@ export async function refDailyTask(roleId: string, sid: string) {
|
||||
|
||||
// 转移每日任务
|
||||
await removeHistoryTask(roleId, TASK_FUN_TYPE.DAILY);
|
||||
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onDailyTaskRefresh', resResult(STATUS.SUCCESS, { taskList }), uids);
|
||||
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.DAILY_TASK_REFRESH, { taskList }, sid);
|
||||
}
|
||||
|
||||
export async function removeHistoryTask(roleId: string, type: number, today?: Date) {
|
||||
@@ -375,10 +373,6 @@ export async function refDailyTaskBox(roleId: string, sid: string, debug = false
|
||||
let userTask = await UserTaskModel.refreshWeekly(roleId, debug);
|
||||
if (userTask) {
|
||||
let { dailyTaskPoint: point, dailyTaskPointWeekly: weeklyPoint, dailyTaskBox: box } = userTask;
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onTaskBoxRefresh', resResult(STATUS.SUCCESS, {
|
||||
type: TASK_FUN_TYPE.DAILY,
|
||||
point, weeklyPoint, box
|
||||
}), uids);
|
||||
sendMessageToUserWithSuc(roleId, PUSH_ROUTE.TASK_BOX_REFRESH, { type: TASK_FUN_TYPE.DAILY, point, weeklyPoint, box }, sid);
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -1,6 +1,5 @@
|
||||
#/bin/bash
|
||||
npm install #安装依赖库
|
||||
cp ./channelService.js ./node_modules/pinus/dist/lib/common/service/channelService.js
|
||||
npm run build
|
||||
node pm2Config.js #使用pm2来做进程管理,生成进程配置文件
|
||||
pm2 start pomeloPm2Start.json #pm2 启动游戏服务器
|
||||
@@ -9,7 +9,6 @@ if [ $# != 2 ] ; then
|
||||
fi
|
||||
|
||||
npm install #安装依赖库
|
||||
cp ./channelService.js ./node_modules/pinus/dist/lib/common/service/channelService.js
|
||||
npm run build
|
||||
node pm2DistributeConfig.js ${1} ${2} #使用pm2来做进程管理,生成进程配置文件
|
||||
pm2 start pomeloPm2Start.json #pm2 启动游戏服务器
|
||||
|
||||
@@ -133,4 +133,33 @@ export const PUSH_ROUTE = {
|
||||
COMBATTLE_START: 'onComBtlStart',
|
||||
TEAM_COMPLETE: 'onTeamComplete',
|
||||
TEAMMATE_ACT: 'onTeammateAct',
|
||||
PLAYER_EXP_CHANGE: 'onPlayerExpChange',
|
||||
GUILD_INVITE: 'onGuildInvite',
|
||||
WISH_GOODS_RECEIVE: 'onWishGoodsRecive',
|
||||
FRIEND_APPLY: 'onFriendApply',
|
||||
FRIEND_SEND_HEART: 'onFriendSendHeart',
|
||||
PLAY_TIME: 'onPlayTime',
|
||||
DAILY_TASK_REFRESH: 'onDailyTaskRefresh',
|
||||
AP_UPDATE: 'onApUpdate',
|
||||
ENTRY_DATA: 'onEntryData',
|
||||
ENTRY_DATA_START: 'onEntryDataStart',
|
||||
ENTRY_DATA_END: 'onEntryDataEnd',
|
||||
REFRESH_TIME: 'onRefreshTime',
|
||||
REMOTE_LOGIN: 'onRemoteLogin',
|
||||
SEND_EVENT: 'onSpecialEvent',
|
||||
BOSS_HP_UPDATE: 'onBossHpUpdate',
|
||||
MEMBER_JOIN_GUILD: 'onMemberJoinGuild',
|
||||
PLAYER_DATA_CHANGE: 'onPlayerDataChange',
|
||||
ORDER: 'onOrder',
|
||||
PLAYER_CE_UPDATE: 'onPlayerCeUpdate',
|
||||
RACE_ITEM_UPDATE: 'onRaceItemUpdate',
|
||||
HERO_SKIN_CHANGE: 'onHeroSkinChange',
|
||||
HERO_UPDATE: 'onHeroUpdate',
|
||||
ITEM_UPDATE: 'onItemUpdate',
|
||||
JEWEL_DEL: 'onJewelDel',
|
||||
JEWEL_ADD: 'onJewelAdd',
|
||||
HEAD_CHANGE: 'onHeadChange',
|
||||
TASK_UPDATE: 'onTaskUpdate',
|
||||
ACTIVITY_TASK_UPDATE: 'onActivityTaskUpdate',
|
||||
TASK_BOX_REFRESH: 'onTaskBoxRefresh',
|
||||
}
|
||||
Reference in New Issue
Block a user