feat(battle): 添加录像上传接口

This commit is contained in:
liangtongchuan
2023-01-02 21:45:10 +08:00
parent 5d87ac9666
commit 4f5d9b77ed
10 changed files with 183 additions and 9 deletions
+12 -1
View File
@@ -114,6 +114,7 @@ export class PvpRecordPlayerInfo {
}
@index({ code: 1 })
@index({ battleCode: 1 })
@index({ roleId1: 1, updatedAt: -1 })
@index({ roleId2: 1, updatedAt: -1 })
@@ -123,6 +124,8 @@ export default class PvpRecord extends BaseModel {
@prop({ required: true })
roleId2: string; // 角色 id
@prop({ required: false, default: '' })
battleCode: string;
@prop({ required: true, default: 0 })
code: string; // code
@prop({ required: true, default: 0 })
@@ -132,12 +135,15 @@ export default class PvpRecord extends BaseModel {
@prop({ required: true, type: PvpRecordPlayerInfo, default: {}, _id: false })
defenseInfo: PvpRecordPlayerInfo; // 守方信息
@prop({ required: true, default: false })
hasRpl: boolean; // 是否存在对应录像
@prop({ required: true, default: 0 })
createTime: number;
@prop({ required: true, default: 0 })
timeout: boolean;
public static async createRec(param: { roleId1: string, roleId2: string, warId: number, attackInfo: PvpRecordPlayerInfo, defenseInfo: PvpRecordPlayerInfo, createTime: number, timeout?: boolean }) {
public static async createRec(param: { roleId1: string, roleId2: string, battleCode: string, warId: number, attackInfo: PvpRecordPlayerInfo, defenseInfo: PvpRecordPlayerInfo, createTime: number, timeout?: boolean }) {
await this.delPvpRecords();
let code = genCode(6);
const result = await PvpRecordModel.findOneAndUpdate({ code }, param, { new: true, upsert: true }).lean();
@@ -155,6 +161,11 @@ export default class PvpRecord extends BaseModel {
let result = await PvpRecordModel.deleteMany({ createTime: {$lt: t}});//删除小于三天的战报
return result;
}
public static async updateRplStatus(battleCode: string, hasRpl: boolean) {
let result = await PvpRecordModel.findOneAndUpdate({ battleCode }, { hasRpl }, { new: true }).lean();
return result;
}
}
export const PvpRecordModel = getModelForClass(PvpRecord);