寻宝:信息边窗
This commit is contained in:
@@ -2,6 +2,7 @@ import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { EXTERIOR } from '../pubUtils/dicParam';
|
||||
import { ItemReward } from '../domain/dbGeneral';
|
||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||
|
||||
export class ComRoleStatusHero {
|
||||
@prop({ required: true })
|
||||
@@ -187,10 +188,22 @@ export default class ComBattleTeam extends BaseModel {
|
||||
// 黑名单
|
||||
blacklist: string[] = [];
|
||||
|
||||
// 黑名单
|
||||
// 结束时间
|
||||
@prop({ required: true, default: 0 })
|
||||
endTime: number = 0;
|
||||
|
||||
// 是否发出邀请了
|
||||
@prop({ required: true, default: false })
|
||||
isInviting: boolean = false;
|
||||
|
||||
// 邀请时间
|
||||
@prop({ required: true, default: 0 })
|
||||
inviteTime: number = 0;
|
||||
|
||||
// 邀请对象
|
||||
@prop({ required: true, default: [], type: String, _id: false })
|
||||
inviteTarget: string[] = [];
|
||||
|
||||
public static async createTeam(teamData: ComBattleTeamParam, lean = true) {
|
||||
const team: ComBattleTeamType = await ComBattleTeamModel.findOneAndUpdate({ teamCode: teamData.teamCode }, {$set :{...teamData, roleCnt: teamData.roleIds.length}}, {upsert: true, new: true}).lean(lean);
|
||||
return team;
|
||||
@@ -341,6 +354,16 @@ export default class ComBattleTeam extends BaseModel {
|
||||
const team: ComBattleTeamType = await ComBattleTeamModel.findOne({teamCode}).lean(lean);
|
||||
return team;
|
||||
}
|
||||
|
||||
public static async invite(teamCode: string, target: string) {
|
||||
const team: ComBattleTeamType = await ComBattleTeamModel.findOneAndUpdate({teamCode}, { $set: { isInviting: true, inviteTime: nowSeconds()}, $push: { inviteTarget: target }}, {new: true}).lean();
|
||||
return team;
|
||||
}
|
||||
|
||||
public static async findInvitations(roleId: string, minLv: number, maxLv: number, ce: number, refreshTime: number, limit: number) {
|
||||
const invitations: ComBattleTeamType[] = await ComBattleTeamModel.find({ status: 0, isInviting: true, lv: { $gte: minLv, $lte: maxLv }, ceLimit: { $lte: ce }, inviteTime: { $gte: refreshTime } }).sort({ inviteTime: -1 }).limit(limit).lean();
|
||||
return invitations;
|
||||
}
|
||||
}
|
||||
|
||||
export const ComBattleTeamModel = getModelForClass(ComBattleTeam);
|
||||
|
||||
Reference in New Issue
Block a user