活动:添加活动组
This commit is contained in:
+10
-7
@@ -7,7 +7,7 @@ import { index, getModelForClass, prop, DocumentType, modelOptions } from '@type
|
||||
* 游戏字段接口
|
||||
*/
|
||||
@index({ id: 1 })
|
||||
@modelOptions({schemaOptions: {id: false}})
|
||||
@modelOptions({ schemaOptions: { id: false } })
|
||||
export default class Serverlist extends BaseModel {
|
||||
|
||||
@prop({ required: true, default: 1 })
|
||||
@@ -33,10 +33,13 @@ export default class Serverlist extends BaseModel {
|
||||
|
||||
@prop({ required: true })
|
||||
serverStatus: number; // 服务器状态
|
||||
|
||||
|
||||
@prop({ required: true })
|
||||
activityGroupId: number[]; // 活动组
|
||||
|
||||
public get status() {
|
||||
let now = new Date();
|
||||
if( now > this.openTime) {
|
||||
if (now > this.openTime) {
|
||||
return this.serverStatus;
|
||||
} else {
|
||||
return 3; // 未开服
|
||||
@@ -61,19 +64,19 @@ export default class Serverlist extends BaseModel {
|
||||
}
|
||||
|
||||
public static async findByServerId(serverId: number) {
|
||||
let server: ServerlistType = await ServerlistModel.findOne({ id: serverId }).select('medianCe').lean({ getters: true, virtuals: true });
|
||||
let server: ServerlistType = await ServerlistModel.findOne({ id: serverId }).select('medianCe activityGroupId').lean({ getters: true, virtuals: true });
|
||||
return server;
|
||||
}
|
||||
|
||||
public static async updateByServerId(serverId: number, update: ServerlistUpdate) {
|
||||
let server: ServerlistType = await ServerlistModel.findOneAndUpdate({id: serverId}, {$set: update}).lean({ getters: true, virtuals: true });
|
||||
let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ id: serverId }, { $set: update }).lean({ getters: true, virtuals: true });
|
||||
return server;
|
||||
}
|
||||
|
||||
public static async newServer(serverId: number, serverType: string, params: ServerlistUpdate) {
|
||||
const doc = new ServerlistModel();
|
||||
const update = Object.assign(doc.toJSON(), { id: serverId, serverType }, params);
|
||||
let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ id: serverId, serverType }, {$setOnInsert: update }, {new: true, upsert: true}).lean({ getters: true, virtuals: true });
|
||||
let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ id: serverId, serverType }, { $setOnInsert: update }, { new: true, upsert: true }).lean({ getters: true, virtuals: true });
|
||||
return server;
|
||||
}
|
||||
|
||||
@@ -85,7 +88,7 @@ export default class Serverlist extends BaseModel {
|
||||
|
||||
export const ServerlistModel = getModelForClass(Serverlist);
|
||||
|
||||
export interface ServerlistType extends Pick<DocumentType<Serverlist>, keyof Serverlist>{
|
||||
export interface ServerlistType extends Pick<DocumentType<Serverlist>, keyof Serverlist> {
|
||||
id: number;
|
||||
};
|
||||
export type ServerlistUpdate = Partial<ServerlistType>; // 将所有字段变成可选项
|
||||
|
||||
Reference in New Issue
Block a user