练兵场结算

This commit is contained in:
mamengke01
2021-01-26 10:41:11 +08:00
parent d4d4ba825b
commit 3c3e734019
24 changed files with 6690 additions and 1765 deletions

View File

@@ -3,6 +3,7 @@ import { index, getModelForClass, prop, DocumentType, Ref } from '@typegoose/typ
import Role, { RoleType } from './Role';
import { genCode } from '../pubUtils/util';
import { GUILD_STRUCTURE, GUILD_STATUS, GUILD_PER_PAGE } from '../consts';
import { getCurWeekTime } from '../pubUtils/timeUtil';
class Structure {
@prop({ required: true })
@@ -79,6 +80,10 @@ export default class Guild extends BaseModel {
@prop({ required: true, default: 1 })
trainId: number; // 试炼id
@prop({ required: true, default: 0 })
resetTrainTime: number;//上次刷新挑战训练场次数的时间
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 });
@@ -174,6 +179,12 @@ export default class Guild extends BaseModel {
const result = await GuildModel.findOneAndUpdate({ $elemMatch: {members: roleId}, status: GUILD_STATUS.RUNNING}, {$inc: {guildCe: inc}}, {new: true}).lean();
return result;
}
public static async resetGuildTrain(code: string, serverId: number, lean = true) {
const time = getCurWeekTime(1, 5);//每周一5点刷新
const result = await GuildModel.findOneAndUpdate({ code, status: GUILD_STATUS.RUNNING, serverId, resetTrainTime:{$ne:time}},{$set: {trainId: 1}}).lean(lean);
return result;
}
}
export const GuildModel = getModelForClass(Guild);