排行榜:旧数据完成
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 });
|
||||
|
||||
Reference in New Issue
Block a user