聊天:查看私聊消息的接口和测试

This commit is contained in:
liangtongchuan
2021-03-11 10:24:10 +08:00
parent 9a2c536288
commit cce6a5af5e
5 changed files with 55 additions and 5 deletions

View File

@@ -272,6 +272,7 @@ export const STATUS = {
// 社交相关状态 40000 - 49999
SYS_CHANNEL_AUTH_NOT_ENOUGH: {code: 40000, simStr: '无法在系统频道发送消息'},
UPDATE_PRIVATE_MSG_READ_TIME_ERR: {code: 40001, simStr: '更新私聊阅读时间失败'},
// 运营模块相关状态 50000 - 59999
// GM后台相关状态 60000 - 69999
GM_ERR_PASSWORD: { code: 60001, simStr: '账号或密码错误' },

View File

@@ -35,23 +35,27 @@ export default class ChatInfo extends BaseModel {
public static async createInfo(data: ChatInfoParam) {
const roleId = data.roleId!;
const docData = new ChatInfoModel();
const result = await ChatInfoModel.findOneAndUpdate({ roleId }, { ...docData.toJSON(), ...data }, { upsert: true, new: true }).select('-_id').lean();
const result: ChatInfoType = await ChatInfoModel.findOneAndUpdate({ roleId }, { ...docData.toJSON(), ...data }, { upsert: true, new: true }).select('-_id').lean();
return result;
}
public static async findInfo(roleId: string) {
let result = await ChatInfoModel.findOne({ roleId }).select('-_id').lean();
let result: ChatInfoType = await ChatInfoModel.findOne({ roleId }).select('-_id').lean();
return result;
}
public static async updateInfo(data: ChatInfoParam) {
const roleId = data.roleId!;
const result = await ChatInfoModel.findOneAndUpdate({ roleId }, { $set: { ...data } }, { new: true }).select('-_id').lean();
const result: ChatInfoType = await ChatInfoModel.findOneAndUpdate({ roleId }, { $set: { ...data } }, { new: true }).select('-_id').lean();
return result;
}
public static async updateReadTime(roleId: string, targetRoleId: string, time: Date) {
const result: ChatInfoType = await ChatInfoModel.findOneAndUpdate({ roleId, 'recentPrivateChats.targetRoleId': targetRoleId }, { 'recentPrivateChats.$.lastReadTime': time }, { new: true }).select('-_id').lean();
return result;
}
}
export const ChatInfoModel = getModelForClass(ChatInfo);
export interface ChatInfoType extends Pick<DocumentType<ChatInfo>, keyof ChatInfo> {};