登陆:玩家在线情况redis改为hash格式

This commit is contained in:
luying
2021-03-04 14:55:08 +08:00
parent 578b890630
commit d4561c2e3d
12 changed files with 131 additions and 67 deletions
@@ -7,7 +7,7 @@ import { FriendApplyModel } from "../../../db/FriendApply";
import { FriendApplyParams, FriendListParam, FriendRecommendParams, BlackListParam, FriendValueListParam } from "../../../domain/roleField/friend";
import { FriendShipModel, FriendShipType } from "../../../db/FriendShip";
import { FriendRelationModel, Relation } from "../../../db/FriendRelation";
import { isRoleOnline, getServerName, getMyRank, getRedis, redisSidKey } from "../../../services/redisService";
import { isRoleOnline, getServerName, getMyRank, getRoleOnlineInfo } from "../../../services/redisService";
import { increaseFrdCnt, getRecommendType, sortByBeSentHeart } from "../../../services/friendService";
import { FriendPointModel } from "../../../db/FriendPoint";
import { gameData } from "../../../pubUtils/data";
@@ -146,8 +146,10 @@ export class FriendHandler {
await FriendApplyModel.createApply(hisRoleId, role);
resultRoleIds.push(hisRoleId);
let hisSid = await getRedis(redisSidKey(hisRoleId));
uids.push({ uid: hisRoleId, sid: hisSid });
let hisOnlineInfo = await getRoleOnlineInfo(hisRoleId);
if(hisOnlineInfo.isOnline) {
uids.push({ uid: hisRoleId, sid: hisOnlineInfo.sid });
}
}
this.channelService.pushMessageByUids('onFriendApply', resResult(STATUS.SUCCESS, { roleId }), uids);
@@ -517,8 +519,10 @@ export class FriendHandler {
todaySendCnt += FRIEND.FRIEND_FRIENDPOINT_ADD;
todaySendInc += FRIEND.FRIEND_FRIENDPOINT_ADD;
let hisSid = await getRedis(redisSidKey(relation.roleId));
uids.push({ uid: relation.roleId, sid: hisSid })
let hisOnlineInfo = await getRoleOnlineInfo(relation.roleId);
if(hisOnlineInfo.isOnline) {
uids.push({ uid: relation.roleId, sid: hisOnlineInfo.sid });
}
}
this.channelService.pushMessageByUids('onFriendSendHeart', resResult(STATUS.SUCCESS, {roleId}), uids);
if(todaySendInc <= 0) return resResult(STATUS.FRIEND_HAS_SENT);
@@ -10,6 +10,7 @@ import { ItemModel } from '../../../db/Item';
import { gameData, getHeroExpByLv, getHeroStarByQuality, getHeroWakeByQuality, getHeroLvByExp, getMaxGradeByjobClass, getJobByGradeAndClass, getFriendShipById, getFavourLvByExp } from '../../../pubUtils/data';
import { RewardInter } from '../../../pubUtils/interface';
import { getDropItems } from '../../../consts/constModules/itemConst'
import { getRoleOnlineInfo, getAllOnlineRoles } from '../../../services/redisService';
export default function(app: Application) {
return new HeroHandler(app);
}
@@ -22,17 +23,10 @@ export class HeroHandler {
public async test(msg: { items:Array<{id: number, count: number, seqId:number, type:number}>}, session: BackendSession) {
let roleId: string = session.get('roleId');
let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
let {items} = msg;
let result = await handleCost(roleId, sid, items );
//let result = await addItems(roleId, roleName, sid, [{id, count}] );
if(!result) {
return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH);
}
return resResult(STATUS.SUCCESS,{result});
let role = await getRoleOnlineInfo(roleId);
let list = await getAllOnlineRoles();
return resResult(STATUS.SUCCESS, {role, list});
}