聊天:系统推送(精炼,合成套装或橙装)

This commit is contained in:
liangtongchuan
2021-03-10 18:01:40 +08:00
parent 24f297b480
commit 841ede8735
3 changed files with 57 additions and 8 deletions
+38 -5
View File
@@ -13,7 +13,7 @@ import { pinus } from 'pinus';
import { CHANNEL_PREFIX, MSG_CODE_LEN, MSG_SOURCE, MSG_STATUS, MSG_TYPE, ON_GROUP_MSG_ROUTE, ON_MSG_ROUTE, RICH_TEXT_TABLE, RECENT_PRIVATE_CHATS_CNT, MAX_PRIVATE_MSGS, RECENT_GROUP_MSGS_CNT } from '../consts';
import { addRedisChannel, getRoleOnlineInfo, redisChannelServer } from './redisService';
import { crc32 } from 'crc';
import { HeroType } from '../db/Hero';
import { EPlace, HeroType } from '../db/Hero';
import { GuildType } from '../db/Guild';
import { ChatInfoModel } from '../db/ChatInfo';
@@ -268,7 +268,7 @@ export async function pushGuildUpStructureMsg(roleId: string, roleName: string,
if (!code || !structure || !isArray(structure)) return null;
const guild = pick(guildInfo, ['code', 'structure']);
const content = JSON.stringify({ roleId, roleName, guild });
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.GUILD, code, MSG_TYPE.TEXT, MSG_SOURCE.GUILD_STRUCTURE_LV_UP, content, null, null);
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.GUILD, code, MSG_TYPE.RICH_TEXT, MSG_SOURCE.GUILD_STRUCTURE_LV_UP, content, null, null);
if (!msgData) return null;
await pushGroupMsgToRoom(groupRoomId(CHANNEL_PREFIX.GUILD, code), msgData);
return msgData;
@@ -277,7 +277,7 @@ export async function pushGuildUpStructureMsg(roleId: string, roleName: string,
export async function pushGuildTrainSucMsg(roleId: string, roleName: string, guildCode: string, hid: number) {
if (!guildCode) return null;
const content = JSON.stringify({ hid });
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.GUILD, guildCode, MSG_TYPE.TEXT, MSG_SOURCE.GUILD_TRAIN_SUC, content, null, null);
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.GUILD, guildCode, MSG_TYPE.RICH_TEXT, MSG_SOURCE.GUILD_TRAIN_SUC, content, null, null);
if (!msgData) return null;
await pushGroupMsgToRoom(groupRoomId(CHANNEL_PREFIX.GUILD, guildCode), msgData);
return msgData;
@@ -286,12 +286,45 @@ export async function pushGuildTrainSucMsg(roleId: string, roleName: string, gui
export async function pushGuildBossSucMsg(roleId: string, roleName: string, guildCode: string, bossInstance: BossInstanceType) {
const boss = pick(bossInstance, ['warId', 'bossLv']);
const content = JSON.stringify({ boss });
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.GUILD, guildCode, MSG_TYPE.TEXT, MSG_SOURCE.GUILD_BOSS_SUC, content, null, null);
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.GUILD, guildCode, MSG_TYPE.RICH_TEXT, MSG_SOURCE.GUILD_BOSS_SUC, content, null, null);
if (!msgData) return null;
await pushGroupMsgToRoom(groupRoomId(CHANNEL_PREFIX.GUILD, guildCode), msgData);
return msgData;
}
export async function pushEquipRefineSucMsg(roleId: string, roleName: string, serverId: number, eplace: Partial<EPlace>) {
const data = pick(eplace, ['id', 'lv', 'refineLv']);
const content = JSON.stringify({ eplace: data });
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.SYS, `${serverId}`, MSG_TYPE.RICH_TEXT, MSG_SOURCE.EQUIP_REFINE_SUC, content, null, null);
if (!msgData) return null;
await pushGroupMsgToRoom(groupRoomId(CHANNEL_PREFIX.SYS, serverId), msgData);
return msgData;
}
export async function pushNormalEquipMsg(roleId: string, roleName: string, serverId: number, source: number, id: number, name: string) {
const content = JSON.stringify({ id, name });
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.SYS, `${serverId}`, MSG_TYPE.RICH_TEXT, source, content, null, null);
if (!msgData) return null;
await pushGroupMsgToRoom(groupRoomId(CHANNEL_PREFIX.SYS, serverId), msgData);
return msgData;
}
export async function pushEquipComposeSuitMsg(roleId: string, roleName: string, serverId: number, id: number, name: string) {
const content = JSON.stringify({ id, name });
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.SYS, `${serverId}`, MSG_TYPE.RICH_TEXT, MSG_SOURCE.EQUIP_COMPOSE_SUIT, content, null, null);
if (!msgData) return null;
await pushGroupMsgToRoom(groupRoomId(CHANNEL_PREFIX.SYS, serverId), msgData);
return msgData;
}
export async function pushEquipComposeOrangeMsg(roleId: string, roleName: string, serverId: number, id: number, name: string) {
const content = JSON.stringify({ id, name });
const msgData = await createGroupMsg(roleId, roleName, CHANNEL_PREFIX.SYS, `${serverId}`, MSG_TYPE.RICH_TEXT, MSG_SOURCE.EQUIP_COMPOSE_SUIT, content, null, null);
if (!msgData) return null;
await pushGroupMsgToRoom(groupRoomId(CHANNEL_PREFIX.SYS, serverId), msgData);
return msgData;
}
export async function roleChatInfos(roleId: string, roleName: string) {
let result = await ChatInfoModel.findInfo(roleId);
if (!result) {
@@ -344,4 +377,4 @@ export async function recentSysMsgs(serverId: number, count?: number) {
export async function recentGuildMsgs(guildCode: string, count?: number) {
const result = await recentGroupMsgs(groupRoomId(CHANNEL_PREFIX.GUILD, guildCode), count);
return result;
}
}