聊天:获取私聊历史消息

This commit is contained in:
liangtongchuan
2021-03-04 21:41:22 +08:00
parent 0bb4caf291
commit ca2d597947
5 changed files with 68 additions and 16 deletions

View File

@@ -11,4 +11,6 @@ export const MSG_TYPE = {
IMG: 2
}
export const ON_MSG_ROUTE = 'onMessage';
export const ON_MSG_ROUTE = 'onMessage';
export const DEFAULT_MSG_PER_PAGE = 10;

View File

@@ -5,7 +5,7 @@ import { index, getModelForClass, prop, DocumentType, modelOptions } from '@type
* 私聊信息
**/
@modelOptions({ schemaOptions: { id: false } })
@index({ roomId: 1, seqId: 1 })
@index({ roomId: 1, seqId: -1 })
@index({ msgId: 1 })
export default class PrivateMessage extends BaseModel {
@prop({ required: true, default: '' })
@@ -36,7 +36,7 @@ export default class PrivateMessage extends BaseModel {
content: string; // 消息内容
public static async createMsg(data: PrivateMessageParam) {
const result = await PrivateMessageModel.findOneAndUpdate({}, {...data}, {upsert: true, new: true}).lean();
const result = await PrivateMessageModel.findOneAndUpdate({ msgCode: data.msgCode }, {...data}, {upsert: true, new: true}).lean();
return result;
}
@@ -44,6 +44,11 @@ export default class PrivateMessage extends BaseModel {
const result = await PrivateMessageModel.findOne(query).lean();
return result;
}
public static async getMsgs(roomId: string, fromSeqId: number, count: number) {
const result = await PrivateMessageModel.find({ roomId, seqId: { $lt: fromSeqId } }).sort({ seqId: -1 }).limit(count).lean();
return result;
}
}