炼器堂
This commit is contained in:
@@ -11,13 +11,6 @@ class Rank {
|
||||
time: number;
|
||||
}
|
||||
|
||||
class LastRecord {
|
||||
@prop({ required: true, default: 0 })
|
||||
warId: number;
|
||||
@prop({ required: true})
|
||||
roleIds: Array<string>;
|
||||
}
|
||||
|
||||
@index({ guildCode: 1 })
|
||||
export default class BossInstance extends BaseModel {
|
||||
@prop({ required: true })
|
||||
@@ -38,7 +31,7 @@ export default class BossInstance extends BaseModel {
|
||||
@prop({ required: true, default: 0})
|
||||
num: number;
|
||||
|
||||
@prop({ required: true, default:[]})
|
||||
@prop({ required: true, default:[], type: String, _id: false})
|
||||
roleIdRecords: Array<string>; //记录提示过胜利boss关的玩家
|
||||
|
||||
@prop({ required: true })
|
||||
|
||||
@@ -87,7 +87,7 @@ export default class ComBattleTeam extends BaseModel {
|
||||
@prop({ required: true })
|
||||
teamCode: string;
|
||||
|
||||
@prop({ required: true, type: String, default: [] })
|
||||
@prop({ required: true, type: String, default: [], _id: false })
|
||||
roleIds: Array<string>
|
||||
|
||||
// 队伍是否开放加入
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
|
||||
class ScienceTree {
|
||||
export class ScienceTree {
|
||||
@prop({ required: true })
|
||||
id: number;
|
||||
@prop({ required: true })
|
||||
time: number;
|
||||
@prop({ required: true })
|
||||
assistCount: number;
|
||||
endTime: number;
|
||||
@prop({ required: true, default: [], type: String, _id: false})
|
||||
assistRoleIds: Array<string>;
|
||||
}
|
||||
|
||||
@index({ guildCode: 1 })
|
||||
|
||||
export default class GuildRefiner extends BaseModel {
|
||||
export default class GuildRefine extends BaseModel {
|
||||
@prop({ required: true })
|
||||
guildCode: string;
|
||||
|
||||
@@ -20,13 +20,27 @@ export default class GuildRefiner extends BaseModel {
|
||||
scienceTrees: ScienceTree[];
|
||||
|
||||
public static async createScienceTree(guildCode: string, scienceTrees: ScienceTree[], lean = true) {
|
||||
const result = await GuildRefinerModel.findOneAndUpdate({ guildCode }, {$set: {scienceTrees}}, {new: true, upsert: true}).lean(lean);
|
||||
const result = await GuildRefineModel.findOneAndUpdate({ guildCode }, {$set: {scienceTrees}}, {new: true, upsert: true}).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async getRefine(guildCode: string, lean = true) {
|
||||
const result = await GuildRefineModel.findOne({ guildCode }).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async pushRefine(guildCode: string, scienceTree: ScienceTree,lean = true) {
|
||||
const result = await GuildRefineModel.findOneAndUpdate({ guildCode, 'scienceTrees.$.id':{$ne:scienceTree.id}}, {$push: {scienceTrees: scienceTree}}, { new: true }).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async updateRefine(guildCode: string, update: GuildRefineTypeParam, lean = true) {
|
||||
const result = await GuildRefineModel.findOneAndUpdate({ guildCode}, {$set: update}, { new: true }).lean(lean);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const GuildRefinerModel = getModelForClass(GuildRefiner);
|
||||
export const GuildRefineModel = getModelForClass(GuildRefine)
|
||||
export interface GuildRefineType extends Pick<DocumentType<GuildRefine>, keyof GuildRefine> { };
|
||||
|
||||
export interface GuildRefinerType extends Pick<DocumentType<GuildRefiner>, keyof GuildRefiner>{}
|
||||
export type GuildRefineTypeParam = Partial<GuildRefineType>; // 将所有字段变成可选项
|
||||
|
||||
Reference in New Issue
Block a user