优化:抽象推送方法
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { gameData, getGuildActiveWeekReward, getGuildActiveByIdAndType, getGoodById } from "../pubUtils/data";
|
||||
import { GuildModel, GuildType } from "../db/Guild";
|
||||
import { GuildModel, GuildType, GuildUpdateParam } from "../db/Guild";
|
||||
import { resResult, shouldRefresh } from "../pubUtils/util";
|
||||
import { STATUS, MAIL_TYPE, GUILD_AUTH, GUILD_JOB, REDIS_KEY, CHAT_SERVER, TASK_TYPE, COUNTER } from "../consts";
|
||||
import { STATUS, MAIL_TYPE, GUILD_AUTH, GUILD_JOB, REDIS_KEY, CHAT_SERVER, TASK_TYPE, COUNTER, GUILD_REC_TYPE, PUSH_ROUTE } from "../consts";
|
||||
import { RoleModel, RoleType } from "../db/Role";
|
||||
import { UserGuildModel, UserGuildType } from "../db/UserGuild";
|
||||
import { UserGuildApplyModel } from "../db/UserGuildApply";
|
||||
@@ -20,6 +20,9 @@ import { checkTask } from "./task/taskService";
|
||||
import { CounterModel } from "../db/Counter";
|
||||
import { getAuction } from "./auctionService";
|
||||
import { changeGuildActivity } from "./activity/guildPayService";
|
||||
import { GuildRecModel } from "../db/GuildRec";
|
||||
import { sendMessageToGuildWithSuc, sendMessageToUserWithSuc } from "./pushService";
|
||||
import { delGuildChannel, leaveGuildChannel } from "./chatChannelService";
|
||||
|
||||
export async function getMyGuildInfo(roleId: string, sid: string, userGuild: UserGuildType, guild: GuildType, serverId: number, session: FrontendOrBackendSession) {
|
||||
|
||||
@@ -215,7 +218,7 @@ export async function addActive(roleId: string, serverId: number, id: number, ty
|
||||
await r.setRankWithGuildInfo(guildCode, guild.activeWeekly, guild.activeUpdateTime, guild);
|
||||
let r2 = new Rank(REDIS_KEY.GUILD_LV_RANK, { serverId });
|
||||
await r2.setRankWithGuildInfo2(guildCode, guild.lv, guild.activeWeekly, guild.lvUpdateTime, guild);
|
||||
pinus.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, guildCode, { activeDaily: guild.activeDaily, activeWeekly: guild.activeWeekly });
|
||||
await pushGuildInfoUpdate(guildCode, { activeDaily: guild.activeDaily, activeWeekly: guild.activeWeekly });
|
||||
return { status: 1, guild, userGuild };
|
||||
}
|
||||
|
||||
@@ -364,4 +367,51 @@ export async function getInvitationList(roleId: string, lastApplyCode = '') {
|
||||
return { applyCode: cur.applyCode, ...guild, leader: leader.roleName };
|
||||
});
|
||||
return list;
|
||||
}
|
||||
|
||||
// 添加军团动态
|
||||
export async function addGuildRecord(roleId: string, guildCode: string, type: GUILD_REC_TYPE, params: string[]) {
|
||||
const rec = await GuildRecModel.createGuildRec(roleId, guildCode, type, params);
|
||||
{
|
||||
let { type, params, createTime } = rec;
|
||||
await sendMessageToGuildWithSuc(guildCode, PUSH_ROUTE.GUILD_REC_ADD, { type, params, createTime });
|
||||
}
|
||||
}
|
||||
|
||||
export async function pushGuildInfoUpdate(guildCode: string, info: any) {
|
||||
await sendMessageToGuildWithSuc(guildCode, PUSH_ROUTE.GUILD_INFO_UPDATE, info);
|
||||
}
|
||||
|
||||
// 更换团长推送
|
||||
export async function pushChangeGuildLeader(guildCode: string, managerCnt: number, newLeader: RoleType, oldLeaderId: string) {
|
||||
let { roleId, roleName, frame, head, spine, lv, quitTime } = newLeader;
|
||||
await pushGuildInfoUpdate(guildCode, { managerCnt, leader: { roleId, roleName, frame, head, spine, lv, quitTime } });
|
||||
// 给旧团长推送
|
||||
await sendMessageToUserWithSuc(oldLeaderId, PUSH_ROUTE.DEMOTION, { code: guildCode });
|
||||
// 给新团长推送
|
||||
await sendMessageToUserWithSuc(roleId, PUSH_ROUTE.PROMOTION, { code: guildCode });
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送踢出某个成员
|
||||
* @param guildCode 军团code
|
||||
* @param roleId 踢出玩家roleId
|
||||
* @param guild 军团信息
|
||||
* @param sid 玩家sid
|
||||
*/
|
||||
export async function pushGuildMemberQuit(roleId: string, guildCode: string, guild: GuildType, sid: string) {
|
||||
// 被踢出公会
|
||||
await sendMessageToUserWithSuc(roleId, PUSH_ROUTE.MEMBER_QUIT, { code: guildCode, roleId }, sid);
|
||||
// 更新人数减少
|
||||
await pushGuildInfoUpdate(guildCode, { memberCnt: guild.memberCnt, guildCe: guild.guildCe });
|
||||
leaveGuildChannel(roleId, sid, guildCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 推送解散军团
|
||||
* @param guildCode 军团code
|
||||
*/
|
||||
export async function pushGuildDismiss(guildCode: string) {
|
||||
await sendMessageToGuildWithSuc(guildCode, PUSH_ROUTE.DISMISS, { code: guildCode });
|
||||
delGuildChannel(guildCode);
|
||||
}
|
||||
Reference in New Issue
Block a user