练兵场结算
This commit is contained in:
@@ -2,7 +2,8 @@ import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, Ref } from '@typegoose/typegoose';
|
||||
import Role, { RoleType } from './Role';
|
||||
import { GUILD_AUTH, USER_GUILD_STATUS, GUILD_JOB } from '../consts';
|
||||
|
||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||
import { ARMY } from '../pubUtils/dicParam';
|
||||
class ActiveRecord {
|
||||
@prop({ required: true })
|
||||
id: number;
|
||||
@@ -51,12 +52,16 @@ export default class UserGuild extends BaseModel {
|
||||
@prop({ required: true, default: 0 })
|
||||
trainCount: number;//每日挑战训练场的次数
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
buyTrainCount: number;//每日挑战训练场购买次数
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
trainTime: number;//上次刷新挑战训练场次数的时间
|
||||
|
||||
@prop({ required: true, default: [] })
|
||||
trainRewards: Array<number>;//领取过的进阶等级
|
||||
|
||||
|
||||
public static async getMyAuth(roleId: string, guildCode?: string, userGuild?: UserGuildType) {
|
||||
let myGuild: UserGuildType;
|
||||
if(!userGuild) {
|
||||
@@ -133,6 +138,17 @@ export default class UserGuild extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static async addTrainCount(roleId: string, trainCount: number, lean = true) {
|
||||
const result = await UserGuildModel.findOneAndUpdate({ roleId, status: USER_GUILD_STATUS.ON, $gte:{buyTrainCount: trainCount}},
|
||||
{$inc: {trainCount, buyTrainCount: -1 * trainCount}}, {new: true}).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async resetTrainUserGuild(guildCode: string) {
|
||||
const result = await UserGuildModel.updateMany({ guildCode }, {$set: { trainCount: ARMY.ARMY_TRAIN_BUYTIMES, buyTrainCount: 0, trainTime: nowSeconds(), trainRewards: [] }});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const UserGuildModel = getModelForClass(UserGuild);
|
||||
|
||||
Reference in New Issue
Block a user