军团活动:诸侯混战初始

This commit is contained in:
luying
2021-03-22 16:51:17 +08:00
parent d733210c3a
commit a56a6cf2f3
12 changed files with 201 additions and 34 deletions

View File

@@ -11,7 +11,7 @@ import { GuildActivityCityModel } from "../../../db/GuildActivityCity";
import { RoleModel, RoleType } from "../../../db/Role";
import { GuildModel } from "../../../db/Guild";
import { RankParam, GuildRankParam } from "../../../domain/rank";
import { setRank, getGuildKeyName, getRankScore, getRank, getUnionRank } from "../../../services/redisService";
import { setRank, getGuildKeyName, getRankScore, setGuildActivityRank, delGuildActivityRank } from "../../../services/redisService";
import { REDIS_KEY } from "../../../consts";
import { addActive } from "../../../services/guildService";
import { gameData } from "../../../pubUtils/data";
@@ -95,7 +95,7 @@ export class GateActivityHandler {
obj.pushMembers(guildCode, serverId, roleId, userGuild.job);
// 返回当前军团总军功
let guildScore = await getRankScore(REDIS_KEY.GUILD_ACTIVITY, serverId, guildCode);
let guildScore = await getRankScore(REDIS_KEY.GATE_ACTIVITY, serverId, guildCode);
// 前一天中位数战力
let medianCe = await getMedianCe(serverId);
@@ -140,12 +140,12 @@ export class GateActivityHandler {
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 setRank(getGuildKeyName(REDIS_KEY.USER_GUILD_ACTIVITY, guildCode), serverId, roleId, score, Date.now(), userParam);
let myScore = await setGuildActivityRank(REDIS_KEY.USER_GATE_ACTIVITY, guildCode, serverId, roleId, score, Date.now(), userParam);
let guild = await GuildModel.findByCode(guildCode, serverId);
let leader = <RoleType>guild.leader;
let params = new GuildRankParam(guild.icon, guild.name, guild.lv, leader);
let guildScore = await setRank(REDIS_KEY.GUILD_ACTIVITY, serverId, guild.code, score, Date.now(), params, true);
let guildScore = await setRank(REDIS_KEY.GATE_ACTIVITY, serverId, guild.code, score, Date.now(), params, true);
// 更新数据库
let rec = await UserGuildActivityRecModel.pushRecord(code, newRecords);
@@ -185,8 +185,8 @@ export class GateActivityHandler {
pinus.app.rpc.chat.guildRemote.pushGateHp.toServer(chatSid, guildCode, { gateHp });
// 返回当前军团总军功
let guildScore = await getRankScore(REDIS_KEY.GUILD_ACTIVITY, serverId, guildCode);
let myScore = await getRankScore(getGuildKeyName(REDIS_KEY.USER_GUILD_ACTIVITY, guildCode), serverId, roleId, true);
let guildScore = await getRankScore(REDIS_KEY.GATE_ACTIVITY, serverId, guildCode);
let myScore = await getRankScore(getGuildKeyName(REDIS_KEY.USER_GATE_ACTIVITY, guildCode), serverId, roleId, true);
return resResult(STATUS.SUCCESS, {
code,
@@ -234,19 +234,19 @@ export class GateActivityHandler {
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 setRank(getGuildKeyName(REDIS_KEY.USER_GUILD_ACTIVITY, guildCode), serverId, roleId, score, Date.now(), userParam);
await setGuildActivityRank(REDIS_KEY.USER_GATE_ACTIVITY, guildCode, serverId, roleId, score, Date.now(), userParam);
let guild = await GuildModel.findByCode(guildCode, serverId);
let leader = <RoleType>guild.leader;
let params = new GuildRankParam(guild.icon, guild.name, guild.lv, leader);
await setRank(REDIS_KEY.GUILD_ACTIVITY, serverId, guild.code, score, Date.now(), params, true);
await setRank(REDIS_KEY.GATE_ACTIVITY, serverId, guild.code, score, Date.now(), params, true);
}
// 发放活跃
await addActive(roleId, serverId, GUILD_POINT_WAYS.ACTIVITY); //获得活跃值
// 返回当前军团总军功
let guildScore = await getRankScore(REDIS_KEY.GUILD_ACTIVITY, serverId, guildCode);
let myScore = await getRankScore(getGuildKeyName(REDIS_KEY.USER_GUILD_ACTIVITY, guildCode), serverId, roleId, true);
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 gateHp = obj.getGateHpAndInc(guildCode);
obj.delMemberRecord(code);
@@ -308,6 +308,18 @@ export class GateActivityHandler {
let { aid } = msg;
let dic = gameData.guildActivity.get(aid);
await guildActivityStart(dic);
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(map);
return resResult(STATUS.SUCCESS);
}