军团表逻辑
This commit is contained in:
@@ -8,7 +8,7 @@ class Structure {
|
||||
@prop({ required: true })
|
||||
id: number;
|
||||
@prop({ required: true })
|
||||
lv: number;
|
||||
lv: number;
|
||||
}
|
||||
|
||||
@index({ code: 1 })
|
||||
@@ -77,6 +77,8 @@ export default class Guild extends BaseModel {
|
||||
@prop({ required: true, default: 1, select: false })
|
||||
serverId: number; // 分服
|
||||
|
||||
@prop({ required: true, default: 1 })
|
||||
trainId: number; // 试炼id
|
||||
public static async createGuild(params: { name: string, icon: number, notice: string }, role: RoleType, serverId: number) {
|
||||
const doc = new GuildModel();
|
||||
const update = Object.assign(doc.toJSON(), params, { leader: role._id, members: [role.roleId], guildCe: role.ce, serverId });
|
||||
@@ -143,7 +145,7 @@ export default class Guild extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async updateInfo(code: string, update: GuildUpdateParam, incParam: { managerCnt?: number }, select?: string) {
|
||||
public static async updateInfo(code: string, update: GuildUpdateParam, incParam?: { managerCnt?: number }, select?: string) {
|
||||
const result: GuildType = await GuildModel.findOneAndUpdate({ code }, { $set: update, $inc: incParam }, { new: true }).select(select).lean();
|
||||
return result;
|
||||
}
|
||||
@@ -162,6 +164,11 @@ export default class Guild extends BaseModel {
|
||||
const result: GuildType = await GuildModel.findOneAndUpdate({ code, fund: {$gte: cost}}, { $inc: { fund: -1 * cost } }, {new: true}).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async findGuild(code: string, serverId: number, select?: string, lean = true) {
|
||||
const result = await GuildModel.findOne({ code, status: GUILD_STATUS.RUNNING, serverId }).select(select).lean(lean);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const GuildModel = getModelForClass(Guild);
|
||||
|
||||
Reference in New Issue
Block a user