聊天:获取私聊历史消息
This commit is contained in:
@@ -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;
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user