排行榜:旧数据完成
This commit is contained in:
@@ -15,13 +15,14 @@ import { UserGuildApplyModel } from '../../../db/UserGuildApply';
|
||||
import { hasStructureConsume, getStructureConsume, gameData } from '../../../pubUtils/data';
|
||||
import { GuildRecModel } from '../../../db/GuildRec';
|
||||
import { sendMail } from '../../../services/mailService';
|
||||
import { existsRank, initSingleRankWithServer, getRank, setRank, redisUserInfoUpdate, removeFromRank, getMyRank, isRoleOnline, getRoleOnlineInfo } from '../../../services/redisService';
|
||||
import { updateUserInfo, isRoleOnline, getRoleOnlineInfo } from '../../../services/redisService';
|
||||
|
||||
import { openGuildRefine } from '../../../services/guildRefineService';
|
||||
import { unlockTrain } from '../../../services/guildTrainService';
|
||||
import { removeBossRank } from '../../../services/guildBossService';
|
||||
import { removeTrainRank } from '../../../services/guildTrainService';
|
||||
import { pushGuildNoticeUpdateMsg, pushGuildUpStructureMsg, addRoleToGuildChannel, getGuildChannelSid } from '../../../services/chatService';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
export default function (app: Application) {
|
||||
return new GuildHandler(app);
|
||||
}
|
||||
@@ -71,10 +72,9 @@ export class GuildHandler {
|
||||
await UserGuildApplyModel.deleteApply(roleId); // 删除玩家所有对其他公会的申请
|
||||
|
||||
// 加入排行
|
||||
let params = new GuildRankParam(guild.icon, guild.name, guild.lv, guild.leader, guild.memberCnt);
|
||||
await setRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId, guild.code, 0, Date.now(), params);
|
||||
|
||||
let rank = await getMyRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId, guild.code);
|
||||
let r = new Rank(REDIS_KEY.GUILD_ACTIVE_RANK, {serverId});
|
||||
await r.setRankWithGuildInfo(guild.code, 0, Date.now(), guild);
|
||||
let rank = await r.getMyRank(guild.code);
|
||||
|
||||
// 加入channel
|
||||
session.set('guildCode', guild.code);
|
||||
@@ -134,7 +134,7 @@ export class GuildHandler {
|
||||
let chatSid = await getGuildChannelSid(code);
|
||||
this.app.rpc.chat.guildRemote.updateInfo.toServer(chatSid, code, { name, notice, introduce, ceLimit, isAuto });
|
||||
|
||||
await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, code, [{ field: 'name', value: name }]);
|
||||
await updateUserInfo(REDIS_KEY.GUILD_INFO, code, [{ field: 'name', value: name }]);
|
||||
if (notice) {
|
||||
pushGuildNoticeUpdateMsg(roleId, roleName, guild);
|
||||
}
|
||||
@@ -216,7 +216,7 @@ export class GuildHandler {
|
||||
if(auth == GUILD_AUTH.LEADER) { // 转让团长
|
||||
updateObject['leader'] = role._id;
|
||||
await UserGuildModel.updateInfo(roleId, { auth: GUILD_AUTH.MEMBER, job: GUILD_JOB.SHIBING }, {}); // 自己降权限
|
||||
await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, code, [{field: 'leader', value: new GuildLeader(role) } ]);
|
||||
await updateUserInfo(REDIS_KEY.GUILD_INFO, code, [{field: 'leader', value: new GuildLeader(role) } ]);
|
||||
}
|
||||
|
||||
guild = await GuildModel.updateInfo(code, updateObject, { managerCnt: managerCntInc }, 'managerCnt code name'); // 如果有转让团长设置leader
|
||||
@@ -279,7 +279,8 @@ export class GuildHandler {
|
||||
}
|
||||
|
||||
// 获取排行榜
|
||||
const rank = await getMyRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId, guild.code);
|
||||
let r = new Rank(REDIS_KEY.GUILD_ACTIVE_RANK, { serverId });
|
||||
const rank = await r.getMyRank(guild.code);
|
||||
|
||||
// 返回
|
||||
const result = { hasGuild: true, ...guild, leader: { ...leader, isOnline: leaderIsOnline }, rank, myInfo: {...userGuild }};
|
||||
@@ -604,7 +605,8 @@ export class GuildHandler {
|
||||
let chatSid = await getGuildChannelSid(code);
|
||||
this.app.rpc.chat.guildRemote.dismiss.toServer(chatSid,code);
|
||||
|
||||
await removeFromRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId, code);
|
||||
let r = new Rank(REDIS_KEY.GUILD_ACTIVE_RANK, {serverId});
|
||||
await r.removeFromRank(code);
|
||||
return resResult(STATUS.SUCCESS, { code, status: guild.status });
|
||||
}
|
||||
|
||||
@@ -742,7 +744,7 @@ export class GuildHandler {
|
||||
await sendMail(MAIL_TYPE.GUILD_BE_IMPEACH, leaderRoleId, roleName, [guild.name]);
|
||||
await sendMail(MAIL_TYPE.GUILD_BE_SET_LEADER, topUser.roleId, roleName, [guild.name]);
|
||||
|
||||
await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, code, [{field: 'leader', value: new GuildLeader(topUser) } ]);
|
||||
await updateUserInfo(REDIS_KEY.GUILD_INFO, code, [{field: 'leader', value: new GuildLeader(topUser) } ]);
|
||||
|
||||
let isOnline = await isRoleOnline(topUser.roleId);
|
||||
const leader = { ...topUser, ce: topUser.ce, isOnline }
|
||||
@@ -793,7 +795,7 @@ export class GuildHandler {
|
||||
// 修改信息
|
||||
let chatSid = await getGuildChannelSid(code);
|
||||
this.app.rpc.chat.guildRemote.updateInfo.toServer(chatSid,code, { ...result });
|
||||
await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, code, [{field: 'lv', value: result.lv } ]);
|
||||
await updateUserInfo(REDIS_KEY.GUILD_INFO, code, [{field: 'lv', value: result.lv } ]);
|
||||
|
||||
// 添加动态
|
||||
const structureName = GUILD_STRUCTURE_NAME.get(id);
|
||||
@@ -915,17 +917,12 @@ export class GuildHandler {
|
||||
// 检查权限
|
||||
const checkResult = await checkAuth(GUILD_OPERATE.GET_ACTIVE_RANK, roleId);
|
||||
if(!checkResult) return resResult(STATUS.GUILD_AUTH_NOT_ENOUGH);
|
||||
|
||||
const hasRank = await existsRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId);
|
||||
if(!hasRank) await initSingleRankWithServer(REDIS_KEY.GUILD_ACTIVE_RANK, serverId);
|
||||
|
||||
let {ranks, myRank} = await getRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId, myUserGuild.guildCode);
|
||||
|
||||
let r = new Rank(REDIS_KEY.GUILD_ACTIVE_RANK, { serverId });
|
||||
let { ranks, myRank } = await r.getRankListWithMyRank(myUserGuild.guildCode);
|
||||
if(!myRank) {
|
||||
let guild = await GuildModel.findByCode(myUserGuild.guildCode, serverId, 'code icon name lv leader activeWeekly');
|
||||
let {icon, name, lv, leader, activeWeekly, memberCnt} = guild;
|
||||
let _leader = <RoleType>leader;
|
||||
let param = new GuildRankParam(icon, name, lv, _leader, memberCnt);
|
||||
myRank = {...param, num: activeWeekly, rank: 0};
|
||||
myRank = await r.generMyRankWithGuild(myUserGuild.guildCode, guild.activeWeekly, guild.activeUpdateTime, guild);
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, { ranks, myRank });
|
||||
|
||||
@@ -8,7 +8,6 @@ import { resResult, genCode } from '../../../pubUtils/util';
|
||||
|
||||
import { PvpDefenseModel, OppPlayers } from '../../../db/PvpDefense';
|
||||
import { pvpEndParamInter } from '../../../pubUtils/interface';
|
||||
import { RankParam } from '../../../domain/rank';
|
||||
import { PlayerDetail, PlayerDetailHero } from '../../../domain/battleField/guild';
|
||||
import { PVP_HERO_POS, PVP_HERO_ORDER, REDIS_KEY, LINEUP_NUM } from '../../../consts';
|
||||
import { PVP } from '../../../pubUtils/dicParam';
|
||||
@@ -17,13 +16,13 @@ import { HeroModel } from '../../../db/Hero';
|
||||
import { checkBattleHeroesByHid } from '../../../services/normalBattleService';
|
||||
import { BattleRecordModel } from '../../../db/BattleRecord';
|
||||
import { PvpRecordModel } from '../../../db/PvpRecord';
|
||||
import { existsRank, getRank, setRank, getMyRank, initSingleRankWithServer } from '../../../services/redisService';
|
||||
import { handleCost } from '../../../services/rewardService';
|
||||
import { nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { nowSeconds, getSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { setPvpSeasonResult, resetPvpWarId, resetPvpSeasonTime } from '../../../services/timeTaskService';
|
||||
import { PvpSeasonResultModel } from '../../../db/PvpSeasonResult';
|
||||
import { PvpHistoryOppModel, PvpHistoryOppType } from '../../../db/PvpHistoryOpp';
|
||||
import { SystemConfigModel } from '../../../db/SystemConfig';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new PvpHandler(app);
|
||||
@@ -62,8 +61,8 @@ export class PvpHandler {
|
||||
const role = await RoleModel.findByRoleId(roleId);
|
||||
|
||||
// 加入排行榜
|
||||
let params = new RankParam(roleName, role.lv, role.vLv, role.head, role.frame, role.spine, role.title);
|
||||
await setRank(REDIS_KEY.PVP_RANK, 0, roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), params);
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, {});
|
||||
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
|
||||
return resResult(STATUS.SUCCESS, {score, hisScore, heroScores});
|
||||
}
|
||||
|
||||
@@ -118,7 +117,8 @@ export class PvpHandler {
|
||||
}
|
||||
}
|
||||
|
||||
let myRank = await getMyRank(REDIS_KEY.PVP_RANK, 0, roleId);//去redis中获取排名
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, {});
|
||||
let myRank = await r.getMyRank(roleId);//去redis中获取排名
|
||||
|
||||
let data:any = {warId, seasonNum, seasonEndTime, myRank, oppPlayers, heroes: heroes.map(cur => {
|
||||
let {actorId, dataId, order} = cur;
|
||||
@@ -284,9 +284,9 @@ export class PvpHandler {
|
||||
let result = await getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum);
|
||||
|
||||
// 加入排行榜
|
||||
let params = new RankParam(roleName, role.lv, role.vLv, role.head, role.frame, role.spine,role.title);
|
||||
await setRank(REDIS_KEY.PVP_RANK, 0, roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), params);
|
||||
let myRank = await getMyRank(REDIS_KEY.PVP_RANK, 0, roleId);
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, {});
|
||||
await r.setRankWithRoleInfo(roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), role);
|
||||
let myRank = await r.getMyRank(roleId);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
battleCode, isSuccess,
|
||||
@@ -387,24 +387,17 @@ export class PvpHandler {
|
||||
async getRank(msg: {}, session: BackendSession) {
|
||||
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let serverId = session.get('serverId')
|
||||
|
||||
const hasRank = await existsRank(REDIS_KEY.PVP_RANK, serverId);
|
||||
if(!hasRank) await initSingleRankWithServer(REDIS_KEY.PVP_RANK, serverId);
|
||||
|
||||
let {ranks, myRank} = await getRank(REDIS_KEY.PVP_RANK, 0, roleId);
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, {});
|
||||
let {ranks, myRank} = await r.getRankListWithMyRank(roleId);
|
||||
|
||||
if(!myRank) {
|
||||
let pvpDefense = await PvpDefenseModel.findByRoleId(roleId);
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let { lv, vLv, head, frame, spine, title} = role;
|
||||
let rankRank = new RankParam(roleName, lv, vLv, head, frame, spine, title);
|
||||
myRank = {
|
||||
rank: 0, roleId, ...rankRank, num: pvpDefense.score, str: ''
|
||||
}
|
||||
|
||||
myRank = await r.generMyRankWithRole(roleId, pvpDefense.score, getSeconds(pvpDefense.refOppTime));
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, { ranks: ranks.slice(0, 100), myRank });
|
||||
return resResult(STATUS.SUCCESS, { ranks, myRank });
|
||||
}
|
||||
|
||||
async getPlayerDetail(msg: { roleId: string }, session: BackendSession) {
|
||||
@@ -448,7 +441,8 @@ export class PvpHandler {
|
||||
});
|
||||
}
|
||||
heroes.sort((a, b) => b.score - a.score);
|
||||
let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, oppoRoleId);//去redis中获取排名
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, {});
|
||||
let rank = await r.getMyRank(oppoRoleId);//去redis中获取排名
|
||||
|
||||
result = new PlayerDetail({...role, ...pvpDefense, heroes, rank});
|
||||
}
|
||||
|
||||
@@ -11,9 +11,8 @@ import { decodeArrayStr, resResult, shouldRefresh, calculateNum, getRefTime, gen
|
||||
import { calcuHangUpReward, checkTaskConditions, checkHangUpSpdUpCnt, createCurTasks, treatTask, getRemainTime, getTasksReward, getTaskStatus, getDoingOrWaitingTasks } from '../../../services/battleService';
|
||||
import { handleFixedReward, addItems, handleCost } from '../../../services/rewardService';
|
||||
import { checkBattleHeroes } from '../../../services/normalBattleService';
|
||||
import { getRank, setRank, existsRank, initSingleRankWithServer } from '../../../services/redisService';
|
||||
import { RankParam } from '../../../domain/rank';
|
||||
import { getGoldObject } from '../../../pubUtils/itemUtils';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new TowerBattleHandler(app);
|
||||
@@ -35,10 +34,8 @@ export class TowerBattleHandler {
|
||||
towerLv = 1;
|
||||
let role = await RoleModel.towerLvUp(roleId);
|
||||
// 更新redis
|
||||
let { roleName, towerUpTime, lv, vLv, head, frame, spine, title } = role;
|
||||
let rankRank = new RankParam(roleName, lv, vLv, head, frame, spine, title);
|
||||
await setRank(REDIS_KEY.TOWER_RANK, serverId, roleId, towerLv, towerUpTime.getTime(), rankRank);
|
||||
|
||||
let r = new Rank(REDIS_KEY.TOWER_RANK, { serverId });
|
||||
await r.setRankWithRoleInfo(roleId, towerLv, role.towerUpTime.getTime(), role);
|
||||
}
|
||||
let towerRec = await TowerRecordModel.getRecordByLv(roleId, towerLv);
|
||||
if (!towerRec) {
|
||||
@@ -310,24 +307,4 @@ export class TowerBattleHandler {
|
||||
let costGold = TOWER_TASK_CONST.COST_GOLD;
|
||||
return resResult(STATUS.SUCCESS, { curTasks: treatTask(curTasks, curTime), goods, refRemainTime, nextCostGold: costGold });
|
||||
}
|
||||
|
||||
async getTowerRank(msg: {}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
let serverId = session.get('serverId')
|
||||
|
||||
const hasTowerRank = await existsRank(REDIS_KEY.TOWER_RANK, serverId);
|
||||
if(!hasTowerRank) await initSingleRankWithServer(REDIS_KEY.TOWER_RANK, serverId);
|
||||
|
||||
let {ranks, myRank} = await getRank(REDIS_KEY.TOWER_RANK, serverId, roleId);
|
||||
if(!myRank) {
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let {towerLv, lv, vLv, head, frame, spine } = role;
|
||||
myRank = {
|
||||
rank: 0, roleId, roleName, lv, vLv,guildName: "", head, frame, spine, num: towerLv, str: ''
|
||||
}
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, { ranks, myRank });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,11 +12,8 @@ import { nowSeconds, getBeforeSeconds } from "../../../pubUtils/timeUtil";
|
||||
import { getGoldObject } from "../../../pubUtils/itemUtils";
|
||||
import { GUILDACTIVITY } from "../../../pubUtils/dicParam";
|
||||
import { handleCost } from "../../../services/rewardService";
|
||||
import { getRankScore, getCityKeyName, getGuildKeyName, setUserGuildActivityRank, setRank } from "../../../services/redisService";
|
||||
import { RoleModel, RoleType } from "../../../db/Role";
|
||||
import { RankParam, GuildRankParam } from "../../../domain/rank";
|
||||
import { GuildModel } from "../../../db/Guild";
|
||||
import { addActive } from "../../../services/guildService";
|
||||
import { Rank } from "../../../services/rankService";
|
||||
|
||||
export default function (app: Application) {
|
||||
return new CityActivityHandler(app);
|
||||
@@ -188,8 +185,9 @@ export class CityActivityHandler {
|
||||
// 更新公会参与的玩家
|
||||
obj.pushMembers(guildCode, roleId, userGuild.job);
|
||||
|
||||
// // 返回当前军团总军功
|
||||
let guildScore = await getRankScore(getCityKeyName(REDIS_KEY.CITY_ACTIVITY, cityId), serverId, guildCode);
|
||||
// 返回当前军团总军功
|
||||
let r = new Rank(REDIS_KEY.CITY_ACTIVITY, { serverId, cityId }, true);
|
||||
let guildScore = await r.getMyScore(guildCode);
|
||||
|
||||
const dbCities = await GuildActivityCityModel.getAllCities(serverId);
|
||||
let cityStatus = pubGetCityStatus(guildCode, cityId, dicCity, dbCities);
|
||||
@@ -234,16 +232,12 @@ export class CityActivityHandler {
|
||||
if(!pushResult) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
// 更新redis数据
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let { lv, vLv, head, frame, spine, title } = role;
|
||||
let userParam = new RankParam(roleName, lv, vLv, head, frame, spine, title);
|
||||
let myScore = await setUserGuildActivityRank(REDIS_KEY.USER_CITY_ACTIVITY, guildCode, serverId, roleId, damage, Date.now(), userParam);
|
||||
let myR = new Rank(REDIS_KEY.USER_CITY_ACTIVITY, { serverId, guildCode });
|
||||
let myScore = await myR.setRankWithRoleInfo(roleId, damage, Date.now(), null, false, true);
|
||||
|
||||
let r = new Rank(REDIS_KEY.CITY_ACTIVITY, { serverId, cityId }, true );
|
||||
let guildScore = await r.setRankWithGuildInfo(guildCode, damage, Date.now(), null, true);
|
||||
|
||||
let guild = await GuildModel.findByCode(guildCode, serverId);
|
||||
let leader = <RoleType>guild.leader;
|
||||
let params = new GuildRankParam(guild.icon, guild.name, guild.lv, leader, guild.memberCnt);
|
||||
let guildScore = await setRank(getCityKeyName(REDIS_KEY.CITY_ACTIVITY, cityId), serverId, guild.code, damage, Date.now(), params, true);
|
||||
|
||||
gateHp = obj.getGateHpAndInc(serverId, cityId, dicCity.hp, -1 * damage);
|
||||
if(gateHp <= 0) {
|
||||
// 推送 停止活动并结算奖励
|
||||
@@ -286,8 +280,10 @@ export class CityActivityHandler {
|
||||
// 发放活跃
|
||||
await addActive(roleId, serverId, GUILD_POINT_WAYS.ACTIVITY); //获得活跃值
|
||||
// 返回当前军团总军功
|
||||
let guildScore = await getRankScore(getCityKeyName(REDIS_KEY.CITY_ACTIVITY, cityId), serverId, guildCode);
|
||||
let myScore = await getRankScore(getGuildKeyName(REDIS_KEY.USER_CITY_ACTIVITY, guildCode), serverId, roleId, true);
|
||||
let myR = new Rank(REDIS_KEY.USER_CITY_ACTIVITY, { serverId, guildCode });
|
||||
let myScore = await myR.getMyScore(roleId);
|
||||
let r = new Rank(REDIS_KEY.CITY_ACTIVITY, { serverId, cityId }, true);
|
||||
let guildScore = await r.getMyScore(guildCode);
|
||||
let gateHp = obj.getGateHpAndInc(serverId, cityId, dicCity.hp);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
|
||||
@@ -5,16 +5,14 @@ import { STATUS, GUILD_ACTIVITY_TYPE, GUILD_POINT_WAYS, ENEMIES_TYPE, GET_POINT_
|
||||
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
|
||||
import { GUILDACTIVITY } from "../../../pubUtils/dicParam";
|
||||
import { GuildActivityRecordModel } from "../../../db/GuildActivityRec";
|
||||
import { RoleModel, RoleType } from "../../../db/Role";
|
||||
import { GuildModel } from "../../../db/Guild";
|
||||
import { RankParam, GuildRankParam } from "../../../domain/rank";
|
||||
import { setRank, getGuildKeyName, getRankScore, setUserGuildActivityRank, delGuildActivityRank } from "../../../services/redisService";
|
||||
import { delGuildActivityRank } from "../../../services/redisService";
|
||||
import { REDIS_KEY } from "../../../consts";
|
||||
import { addActive } from "../../../services/guildService";
|
||||
import { gameData } from "../../../pubUtils/data";
|
||||
import { getGuildChannelSid } from "../../../services/chatService";
|
||||
import { UserGuildModel } from "../../../db/UserGuild";
|
||||
import { GuildActivityCityModel } from "../../../db/GuildActivityCity";
|
||||
import { Rank } from "../../../services/rankService";
|
||||
|
||||
export default function (app: Application) {
|
||||
return new GateActivityHandler(app);
|
||||
@@ -96,7 +94,8 @@ export class GateActivityHandler {
|
||||
obj.pushMembers(guildCode, serverId, roleId, userGuild.job);
|
||||
|
||||
// 返回当前军团总军功
|
||||
let guildScore = await getRankScore(REDIS_KEY.GATE_ACTIVITY, serverId, guildCode);
|
||||
let r = new Rank(REDIS_KEY.GATE_ACTIVITY, { serverId }, true);
|
||||
let guildScore = await r.getMyScore(guildCode);
|
||||
|
||||
// 前一天中位数战力
|
||||
let medianCe = await getMedianCe(serverId);
|
||||
@@ -138,16 +137,12 @@ export class GateActivityHandler {
|
||||
obj.setMemberRecord(code, newMemberRecord);
|
||||
|
||||
// 更新redis数据
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let { lv, vLv, head, frame, spine, title } = role;
|
||||
let userParam = new RankParam(roleName, lv, vLv, head, frame, spine, title);
|
||||
let myScore = await setUserGuildActivityRank(REDIS_KEY.USER_GATE_ACTIVITY, guildCode, serverId, roleId, score, Date.now(), userParam);
|
||||
let myR = new Rank(REDIS_KEY.USER_GATE_ACTIVITY, { serverId, guildCode }, false);
|
||||
let myScore = await myR.setRankWithRoleInfo(roleId, score, Date.now(), null, false, true);
|
||||
|
||||
let r = new Rank(REDIS_KEY.GATE_ACTIVITY, { serverId }, true);
|
||||
let guildScore = await r.setRankWithGuildInfo(guildCode, score, Date.now(), null, true);
|
||||
|
||||
let guild = await GuildModel.findByCode(guildCode, serverId);
|
||||
let leader = <RoleType>guild.leader;
|
||||
let params = new GuildRankParam(guild.icon, guild.name, guild.lv, leader, guild.memberCnt);
|
||||
let guildScore = await setRank(REDIS_KEY.GATE_ACTIVITY, serverId, guild.code, score, Date.now(), params, true);
|
||||
|
||||
// 更新数据库
|
||||
let rec = await UserGuildActivityRecModel.pushRecord(code, newRecords, round);
|
||||
|
||||
@@ -186,8 +181,10 @@ export class GateActivityHandler {
|
||||
pinus.app.rpc.chat.guildRemote.pushGateHp.toServer(chatSid, guildCode, gateHp);
|
||||
|
||||
// 返回当前军团总军功
|
||||
let guildScore = await getRankScore(REDIS_KEY.GATE_ACTIVITY, serverId, guildCode);
|
||||
let myScore = await getRankScore(getGuildKeyName(REDIS_KEY.USER_GATE_ACTIVITY, guildCode), serverId, roleId, true);
|
||||
let myR = new Rank(REDIS_KEY.USER_GATE_ACTIVITY, { serverId, guildCode });
|
||||
let myScore = await myR.getMyScore(roleId);
|
||||
let r = new Rank(REDIS_KEY.GATE_ACTIVITY, { serverId }, true);
|
||||
let guildScore = await r.getMyScore(guildCode);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
code,
|
||||
@@ -228,25 +225,21 @@ export class GateActivityHandler {
|
||||
}
|
||||
}
|
||||
|
||||
let myR = new Rank(REDIS_KEY.USER_GATE_ACTIVITY, { serverId, guildCode });
|
||||
let r = new Rank(REDIS_KEY.GATE_ACTIVITY, { serverId }, true);
|
||||
if(isSuccess) {
|
||||
let score = gameData.gateActivityPoint.get(GET_POINT_WAYS.DEFENSE_SUCCESS);
|
||||
// 更新redis数据
|
||||
let role = await RoleModel.findByRoleId(roleId);
|
||||
let { lv, vLv, head, frame, spine, title } = role;
|
||||
let userParam = new RankParam(roleName, lv, vLv, head, frame, spine, title);
|
||||
await setUserGuildActivityRank(REDIS_KEY.USER_GATE_ACTIVITY, guildCode, serverId, roleId, score, Date.now(), userParam);
|
||||
await myR.setRank(roleId, score, Date.now(), true);
|
||||
|
||||
let guild = await GuildModel.findByCode(guildCode, serverId);
|
||||
let leader = <RoleType>guild.leader;
|
||||
let params = new GuildRankParam(guild.icon, guild.name, guild.lv, leader, guild.memberCnt);
|
||||
await setRank(REDIS_KEY.GATE_ACTIVITY, serverId, guild.code, score, Date.now(), params, true);
|
||||
await r.setRank(guildCode, score, Date.now(), true);
|
||||
}
|
||||
|
||||
// 发放活跃
|
||||
await addActive(roleId, serverId, GUILD_POINT_WAYS.ACTIVITY); //获得活跃值
|
||||
// 返回当前军团总军功
|
||||
let guildScore = await getRankScore(REDIS_KEY.GATE_ACTIVITY, serverId, guildCode);
|
||||
let myScore = await getRankScore(getGuildKeyName(REDIS_KEY.USER_GATE_ACTIVITY, guildCode), serverId, roleId, true);
|
||||
let guildScore = await r.getMyScore(guildCode);
|
||||
let myScore = await r.getMyScore(roleId);
|
||||
let gateHp = obj.getGateHpAndInc(guildCode);
|
||||
|
||||
obj.delMemberRecord(code);
|
||||
@@ -353,17 +346,7 @@ export class GateActivityHandler {
|
||||
|
||||
async debugDelRedis(msg: { aid: number }, session: BackendSession) {
|
||||
let { aid } = msg;
|
||||
|
||||
let map = new Map<number, string[]>();
|
||||
let guilds = await GuildModel.findAllGuild('serverId code');
|
||||
for(let { serverId, code } of guilds) {
|
||||
if(map.has(serverId)) {
|
||||
map.get(serverId).push(code);
|
||||
} else {
|
||||
map.set(serverId, [code]);
|
||||
}
|
||||
}
|
||||
await delGuildActivityRank(aid, map);
|
||||
await delGuildActivityRank(aid);
|
||||
}
|
||||
|
||||
// ! 测试接口 将自己添加进活动roleId里
|
||||
|
||||
@@ -6,7 +6,7 @@ import { UserGuildModel } from "../../../db/UserGuild";
|
||||
import { GuildActivityRecordModel } from "../../../db/GuildActivityRec";
|
||||
import { UserGuildActivityRecModel } from "../../../db/UserGuildActivityRec";
|
||||
import { addActive } from "../../../services/guildService";
|
||||
import { getMyUnionRank } from "../../../services/redisService";
|
||||
import { Rank } from "../../../services/rankService";
|
||||
|
||||
export default function (app: Application) {
|
||||
return new RaceActivityHandler(app);
|
||||
@@ -170,7 +170,8 @@ export class RaceActivityHandler {
|
||||
// 发放活跃
|
||||
await addActive(roleId, serverId, GUILD_POINT_WAYS.ACTIVITY); //获得活跃值
|
||||
// 返回当前军团总军功
|
||||
let myGuildRank = await getMyUnionRank(REDIS_KEY.RACE_ACTIVITY, serverId, guildCode);
|
||||
let r = new Rank(REDIS_KEY.RACE_ACTIVITY, { serverId });
|
||||
let myGuildRank = await r.getMyRank(guildCode);
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
timestamp: Date.now(),
|
||||
|
||||
@@ -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, getRoleOnlineInfo } from "../../../services/redisService";
|
||||
import { isRoleOnline, getServerName, getRoleOnlineInfo } from "../../../services/redisService";
|
||||
import { increaseFrdCnt, getRecommendType, sortByBeSentHeart } from "../../../services/friendService";
|
||||
import { FriendPointModel } from "../../../db/FriendPoint";
|
||||
import { gameData } from "../../../pubUtils/data";
|
||||
@@ -21,6 +21,7 @@ import { getPlayerMainAttribute } from "../../../services/pvpService";
|
||||
import { FRIEND } from "../../../pubUtils/dicParam";
|
||||
import { PlayerDetail, PlayerDetailHero } from "../../../domain/battleField/guild";
|
||||
import { createPrivateMsg, pushMsgToRole, pushPresent } from "../../../services/chatService";
|
||||
import { Rank } from "../../../services/rankService";
|
||||
|
||||
|
||||
export default function (app: Application) {
|
||||
@@ -686,7 +687,8 @@ export class FriendHandler {
|
||||
}
|
||||
}
|
||||
|
||||
let rank = await getMyRank(REDIS_KEY.PVP_RANK, 0, oppoRoleId);//去redis中获取排名
|
||||
let r = new Rank(REDIS_KEY.PVP_RANK, {});
|
||||
let rank = await r.getMyRank(oppoRoleId);//去redis中获取排名
|
||||
|
||||
result = new PlayerDetail({...role, defCe: topLineupCe, heroes});
|
||||
result.setWarStar(role.warStar, rank, towerLv);
|
||||
|
||||
@@ -3,11 +3,12 @@ import { resResult, aesEncryptcfb } from "../../../pubUtils/util";
|
||||
import { STATUS, REDIS_KEY, ENCRYPT_KEY, ENCRYPT_IV } from "../../../consts";
|
||||
import { RoleModel, RoleType } from "../../../db/Role";
|
||||
import { UserGuildModel } from "../../../db/UserGuild";
|
||||
import { existsRank, initSingleRankWithServer, getRank } from "../../../services/redisService";
|
||||
import { GuildModel } from "../../../db/Guild";
|
||||
import { GuildRankParam } from "../../../domain/rank";
|
||||
import { HeroModel } from "../../../db/Hero";
|
||||
import { UserModel } from "../../../db/User";
|
||||
import { Rank } from "../../../services/rankService";
|
||||
import { redisClient } from "../../../services/redisService";
|
||||
|
||||
export default function (app: Application) {
|
||||
return new RoleHandler(app);
|
||||
@@ -89,16 +90,11 @@ export class RoleHandler {
|
||||
const myUserGuild = await UserGuildModel.getMyGuild(roleId, 'auth guildCode');
|
||||
if (!myUserGuild) return resResult(STATUS.GUILD_NOT_FOUND);
|
||||
|
||||
const hasRank = await existsRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId);
|
||||
if (!hasRank) await initSingleRankWithServer(REDIS_KEY.GUILD_ACTIVE_RANK, serverId);
|
||||
|
||||
let { ranks, myRank } = await getRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId, myUserGuild.guildCode);
|
||||
let r = new Rank(REDIS_KEY.GUILD_ACTIVE_RANK, { serverId });
|
||||
let { ranks, myRank } = await r.getRankListWithMyRank(myUserGuild.guildCode,);
|
||||
if (!myRank) {
|
||||
let guild = await GuildModel.findByCode(myUserGuild.guildCode, serverId, 'code icon name lv leader activeWeekly memberCnt');
|
||||
let { icon, name, lv, leader, activeWeekly, memberCnt } = guild;
|
||||
let _leader = <RoleType>leader;
|
||||
let param = new GuildRankParam(icon, name, lv, _leader, memberCnt);
|
||||
myRank = { ...param, num: activeWeekly, rank: 0 };
|
||||
myRank = await r.generMyRankWithGuild(guild.code, guild.activeWeekly, guild.activeUpdateTime, guild);
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, { type, ranks, myRank });
|
||||
@@ -144,4 +140,5 @@ export class RoleHandler {
|
||||
goods: []
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user