提取 redis sid key 的字面量为函数

This commit is contained in:
liangtongchuan
2021-03-04 11:42:59 +08:00
parent fd5df13be1
commit 578b890630
7 changed files with 22 additions and 18 deletions
@@ -15,7 +15,7 @@ import { UserGuildApplyModel } from '../../../db/UserGuildApply';
import { hasStructureConsume, getStructureConsume, gameData } from '../../../pubUtils/data'; import { hasStructureConsume, getStructureConsume, gameData } from '../../../pubUtils/data';
import { GuildRecModel } from '../../../db/GuildRec'; import { GuildRecModel } from '../../../db/GuildRec';
import { sendMail } from '../../../services/mailService'; import { sendMail } from '../../../services/mailService';
import { existsRank, initSingleRankWithServer, getRank, setRank, redisUserInfoUpdate, redisUserInfoAdd, removeFromRank, getMyRank, isRoleOnline, getRedis } from '../../../services/redisService'; import { existsRank, initSingleRankWithServer, getRank, setRank, redisUserInfoUpdate, redisUserInfoAdd, removeFromRank, getMyRank, isRoleOnline, getRedis, redisSidKey } from '../../../services/redisService';
import { lockData } from '../../../services/redLockService'; import { lockData } from '../../../services/redLockService';
import { DATA_NAME } from '../../../consts/dataName'; import { DATA_NAME } from '../../../consts/dataName';
import { openGuildRefine } from '../../../services/guildRefineService'; import { openGuildRefine } from '../../../services/guildRefineService';
@@ -450,7 +450,7 @@ export class GuildHandler {
if(!role.hasGuild) { if(!role.hasGuild) {
await UserGuildApplyModel.createUserGuildApply(role, guild, GUILD_APPLY_TYPE.INVITE); await UserGuildApplyModel.createUserGuildApply(role, guild, GUILD_APPLY_TYPE.INVITE);
result.push(role.roleId); result.push(role.roleId);
let hisSid = await getRedis(`login_roleId_${role.roleId}`); let hisSid = await getRedis(redisSidKey(role.roleId));
uids.push({ uid: role.roleId, sid: hisSid }) uids.push({ uid: role.roleId, sid: hisSid })
} }
} }
@@ -11,7 +11,7 @@ import { GUILD_STRUCTURE } from '../../../consts/constModules/guildConst';
import { getUserGuildWithRefActive } from '../../../services/guildService'; import { getUserGuildWithRefActive } from '../../../services/guildService';
import { findIndex, findWhere } from 'underscore'; import { findIndex, findWhere } from 'underscore';
import { RoleModel } from '../../../db/Role'; import { RoleModel } from '../../../db/Role';
import { getRedis } from '../../../services/redisService'; import { getRedis, redisSidKey } from '../../../services/redisService';
import { ARMY } from '../../../pubUtils/dicParam'; import { ARMY } from '../../../pubUtils/dicParam';
export default function(app: Application) { export default function(app: Application) {
return new WishPoolHandler(app); return new WishPoolHandler(app);
@@ -119,7 +119,7 @@ export class WishPoolHandler {
return resResult(STATUS.HAS_RECEIVE_WISH_GOOD);//已经收到 return resResult(STATUS.HAS_RECEIVE_WISH_GOOD);//已经收到
let { wishDntCnt } = await UserGuildModel.donateGoods(dntRoleId, 1, 'wishDntCnt'); let { wishDntCnt } = await UserGuildModel.donateGoods(dntRoleId, 1, 'wishDntCnt');
let { wishGoods: resWishGoods } = await UserGuildModel.donateUpdate(wishRoleId, dntRoleName, id, 'wishGoods'); let { wishGoods: resWishGoods } = await UserGuildModel.donateUpdate(wishRoleId, dntRoleName, id, 'wishGoods');
let key = 'login_roleId_' + wishRoleId; let key = redisSidKey(wishRoleId);
let sid = await getRedis(key); let sid = await getRedis(key);
await addItems(wishRoleId, role.roleName , sid , [{ id : wishGood.goodId, count: 1 }]); await addItems(wishRoleId, role.roleName , sid , [{ id : wishGood.goodId, count: 1 }]);
if (!!sid) { if (!!sid) {
@@ -13,7 +13,7 @@ import { ItemModel } from '../../../db/Item';
import { chackFunOpenWhenLogin } from '../../../services/funcSwitchService'; import { chackFunOpenWhenLogin } from '../../../services/funcSwitchService';
import { loginRefresh } from '../../../services/playerEventService'; import { loginRefresh } from '../../../services/playerEventService';
import { nowSeconds } from '../../../pubUtils/timeUtil'; import { nowSeconds } from '../../../pubUtils/timeUtil';
import { getRedis, setRedis, delRedis, rmRoleFromQueue } from '../../../services/redisService'; import { getRedis, setRedis, delRedis, rmRoleFromQueue, redisSidKey } from '../../../services/redisService';
import { UserGuildModel } from '../../../db/UserGuild'; import { UserGuildModel } from '../../../db/UserGuild';
import { GuildModel } from '../../../db/Guild'; import { GuildModel } from '../../../db/Guild';
import { gameData } from '../../../pubUtils/data'; import { gameData } from '../../../pubUtils/data';
@@ -47,7 +47,7 @@ export class EntryHandler {
if (!role) { if (!role) {
return resResult(STATUS.ROLE_NOT_FOUND); return resResult(STATUS.ROLE_NOT_FOUND);
} }
let key = 'login_roleId_' + role.roleId; let key = redisSidKey(role.roleId);
let connect = await getRedis(key); let connect = await getRedis(key);
if (!!connect) { if (!!connect) {
await self.app.rpc.connector.connectorRemote.remoteLogin.toServer(connect, role.roleId); await self.app.rpc.connector.connectorRemote.remoteLogin.toServer(connect, role.roleId);
@@ -139,7 +139,7 @@ export class EntryHandler {
let roleId = session.get('roleId'); let roleId = session.get('roleId');
let sid = session.get('sid'); let sid = session.get('sid');
let serverId = session.get('serverId'); let serverId = session.get('serverId');
let key = 'login_roleId_' + roleId; let key = redisSidKey(roleId);
delRedis(key); delRedis(key);
rmRoleFromQueue(roleId, sid, COM_BTL_QUALITY, null); // 删除redis中寻宝的匹配记录 rmRoleFromQueue(roleId, sid, COM_BTL_QUALITY, null); // 删除redis中寻宝的匹配记录
let channelService = this.app.get('channelService'); let channelService = this.app.get('channelService');
@@ -7,7 +7,7 @@ import { FriendApplyModel } from "../../../db/FriendApply";
import { FriendApplyParams, FriendListParam, FriendRecommendParams, BlackListParam, FriendValueListParam } from "../../../domain/roleField/friend"; import { FriendApplyParams, FriendListParam, FriendRecommendParams, BlackListParam, FriendValueListParam } from "../../../domain/roleField/friend";
import { FriendShipModel, FriendShipType } from "../../../db/FriendShip"; import { FriendShipModel, FriendShipType } from "../../../db/FriendShip";
import { FriendRelationModel, Relation } from "../../../db/FriendRelation"; import { FriendRelationModel, Relation } from "../../../db/FriendRelation";
import { isRoleOnline, getServerName, getMyRank, getRedis } from "../../../services/redisService"; import { isRoleOnline, getServerName, getMyRank, getRedis, redisSidKey } from "../../../services/redisService";
import { increaseFrdCnt, getRecommendType, sortByBeSentHeart } from "../../../services/friendService"; import { increaseFrdCnt, getRecommendType, sortByBeSentHeart } from "../../../services/friendService";
import { FriendPointModel } from "../../../db/FriendPoint"; import { FriendPointModel } from "../../../db/FriendPoint";
import { gameData } from "../../../pubUtils/data"; import { gameData } from "../../../pubUtils/data";
@@ -146,7 +146,7 @@ export class FriendHandler {
await FriendApplyModel.createApply(hisRoleId, role); await FriendApplyModel.createApply(hisRoleId, role);
resultRoleIds.push(hisRoleId); resultRoleIds.push(hisRoleId);
let hisSid = await getRedis(`login_roleId_${hisRoleId}`); let hisSid = await getRedis(redisSidKey(hisRoleId));
uids.push({ uid: hisRoleId, sid: hisSid }); uids.push({ uid: hisRoleId, sid: hisSid });
} }
@@ -517,7 +517,7 @@ export class FriendHandler {
todaySendCnt += FRIEND.FRIEND_FRIENDPOINT_ADD; todaySendCnt += FRIEND.FRIEND_FRIENDPOINT_ADD;
todaySendInc += FRIEND.FRIEND_FRIENDPOINT_ADD; todaySendInc += FRIEND.FRIEND_FRIENDPOINT_ADD;
let hisSid = await getRedis(`login_roleId_${relation.roleId}`); let hisSid = await getRedis(redisSidKey(relation.roleId));
uids.push({ uid: relation.roleId, sid: hisSid }) uids.push({ uid: relation.roleId, sid: hisSid })
} }
this.channelService.pushMessageByUids('onFriendSendHeart', resResult(STATUS.SUCCESS, {roleId}), uids); this.channelService.pushMessageByUids('onFriendSendHeart', resResult(STATUS.SUCCESS, {roleId}), uids);
+3 -3
View File
@@ -3,7 +3,7 @@ import { getTodayZeroPoint, nowSeconds } from '../pubUtils/timeUtil';
import { lockData } from '../services/redLockService'; import { lockData } from '../services/redLockService';
import { findIndex, indexBy, values } from 'underscore'; import { findIndex, indexBy, values } from 'underscore';
import { MailModel, MailType } from '../db/Mail'; import { MailModel, MailType } from '../db/Mail';
import { getRedis, sismemberAsync, smembersAsync, saddAsync, delAsync, sremAsync } from '../services/redisService'; import { getRedis, sismemberAsync, smembersAsync, saddAsync, delAsync, sremAsync, redisSidKey } from '../services/redisService';
import { pinus } from 'pinus'; import { pinus } from 'pinus';
import { STATUS } from '../consts/statusCode'; import { STATUS } from '../consts/statusCode';
import { deepCopy, resResult } from '../pubUtils/util'; import { deepCopy, resResult } from '../pubUtils/util';
@@ -159,7 +159,7 @@ export function getArmyBossRankReward(rankLv: number) {
* @param roleId * @param roleId
*/ */
export async function addBossInstance(code: string, serverId:number, roleId: string) { export async function addBossInstance(code: string, serverId:number, roleId: string) {
let loginKey = 'login_roleId_' + roleId; let loginKey = redisSidKey(roleId);
let sid = await getRedis(loginKey); let sid = await getRedis(loginKey);
let key = 'serverId_' + serverId + 'guildCode_' + code; let key = 'serverId_' + serverId + 'guildCode_' + code;
let value = roleId+ '|' + sid; let value = roleId+ '|' + sid;
@@ -194,7 +194,7 @@ export async function pushBossHpMessage(code: string, serverId:number, bossHp:nu
* @param battleCode * @param battleCode
*/ */
export async function checkBossBattleMemberExists(code: string, serverId:number, roleId: string, battleCode:string ) { export async function checkBossBattleMemberExists(code: string, serverId:number, roleId: string, battleCode:string ) {
let loginKey = 'login_roleId_' + roleId; let loginKey = redisSidKey(roleId);
let sid = await getRedis(loginKey); let sid = await getRedis(loginKey);
let key = 'serverId_' + serverId + 'guildCode_' + code ; let key = 'serverId_' + serverId + 'guildCode_' + code ;
let value = roleId+ '|' + sid; let value = roleId+ '|' + sid;
+4 -4
View File
@@ -1,6 +1,6 @@
import { RewardInter, pushMail, mailData } from "../pubUtils/interface"; import { RewardInter, pushMail, mailData } from "../pubUtils/interface";
import { MailModel, MailType } from "../db/Mail"; import { MailModel, MailType } from "../db/Mail";
import { getRedis } from "./redisService"; import { getRedis, redisSidKey } from "./redisService";
import { pinus } from "pinus"; import { pinus } from "pinus";
import { gameData } from "../pubUtils/data"; import { gameData } from "../pubUtils/data";
import { nowSeconds } from '../pubUtils/timeUtil'; import { nowSeconds } from '../pubUtils/timeUtil';
@@ -26,7 +26,7 @@ export async function sendMail(operate: number, toRoleId: string, sendName: stri
if (!content) if (!content)
return; return;
let mail = await MailModel.addMail({roleId: toRoleId, sendTime, goods, sendName, mailId: JSON.stringify(operate), endTime: time + nowSeconds(), mailTemType: MAIL_TEM_TYPE.GAMEMAIL, params}); let mail = await MailModel.addMail({roleId: toRoleId, sendTime, goods, sendName, mailId: JSON.stringify(operate), endTime: time + nowSeconds(), mailTemType: MAIL_TEM_TYPE.GAMEMAIL, params});
let key = 'login_roleId_' + toRoleId; let key = redisSidKey(toRoleId);
let sid = await getRedis(key); let sid = await getRedis(key);
if (!!sid) {//下发邮件,对应前端红点提示 if (!!sid) {//下发邮件,对应前端红点提示
pinus.app.channelService.pushMessageByUids('onMailsAdd', resResult(STATUS.SUCCESS, { mails:[{ pinus.app.channelService.pushMessageByUids('onMailsAdd', resResult(STATUS.SUCCESS, { mails:[{
@@ -68,7 +68,7 @@ export async function getMailContent(roleId: string, operate: number, params: st
return; return;
const mail = Object.assign(doc.toJSON(), { roleId, goods, sendName, mailId: operate, sendTime: sendTime||nowSeconds(), mailTemType: MAIL_TEM_TYPE.GAMEMAIL, endTime: time + nowSeconds(), params }); const mail = Object.assign(doc.toJSON(), { roleId, goods, sendName, mailId: operate, sendTime: sendTime||nowSeconds(), mailTemType: MAIL_TEM_TYPE.GAMEMAIL, endTime: time + nowSeconds(), params });
mails.push(mail); mails.push(mail);
let key = 'login_roleId_' + roleId; let key = redisSidKey(roleId);
let sid = await getRedis(key); let sid = await getRedis(key);
if (!!sid) { if (!!sid) {
pushMessage.push({route: 'onMailsAdd', data:[{ pushMessage.push({route: 'onMailsAdd', data:[{
@@ -167,7 +167,7 @@ export async function sendRolesMails(mails) {
return; return;
} }
for (let { roleId } of sendRoles) { for (let { roleId } of sendRoles) {
let key = 'login_roleId_' + roleId; let key = redisSidKey(roleId);
let sid = await getRedis(key); let sid = await getRedis(key);
if (!!sid) { if (!!sid) {
uids.push({sid, uid: roleId}) uids.push({sid, uid: roleId})
+5 -1
View File
@@ -358,8 +358,12 @@ export async function delRedis(key: string) {
await client.delAsync(key); await client.delAsync(key);
} }
export function redisSidKey(roleId: string) {
return `login_roleId_${roleId}`;
}
export async function isRoleOnline(roleId: string) { export async function isRoleOnline(roleId: string) {
let key = `login_roleId_${roleId}`; let key = redisSidKey(roleId);
let result = await getRedis(key); let result = await getRedis(key);
return !!result; return !!result;
} }