防沉迷:定时任务

This commit is contained in:
luying
2021-03-04 20:36:59 +08:00
parent 32bb6cb2e3
commit 8a122b6a4d
11 changed files with 141 additions and 32 deletions

View File

@@ -58,7 +58,7 @@ export default class User extends BaseModel {
@prop({ required: false, default: 0 })
todayPlayTime: number; // 今日游戏时间
@prop({ required: false })
refDaily: Date; // 刷新todayPlayTime时间
reportTime: Date; // 汇报时间
@prop({ required: false, default: false })
hasSetPw: boolean; // 是否设置过密码
@@ -149,9 +149,8 @@ export default class User extends BaseModel {
return user;
}
public static async bindTel(uid: number, tel: string, password: string, lean = true) {
let r = await this.encryptPass(password);
const user: UserType = await UserModel.findOneAndUpdate({ uid, isGuest: true }, { $set: { password: r.npassword, salt: r.salt, hasSetPw: true, tel, isGuest: false }}, {new: true}).lean(lean);
public static async bindTel(uid: number, tel: string, lean = true) {
const user: UserType = await UserModel.findOneAndUpdate({ uid, isGuest: true }, { $set: { tel, isGuest: false }}, {new: true}).lean(lean);
return user;
}
@@ -188,6 +187,11 @@ export default class User extends BaseModel {
return user;
}
public static async findUserByUserCode(userCode: string, lean = true) {
const user: UserType = await UserModel.findOne({ userCode }).lean(lean);
return user;
}
public static async addAuth(uid: number, auth: number, lean = true) {
const user: UserType = await UserModel.findOneAndUpdate({ uid }, { auth }).select('uid tel').lean(lean);
return user;
@@ -208,6 +212,12 @@ export default class User extends BaseModel {
const user: UserType[] = await UserModel.find(searchObj).select('uid tel username serverType auth').lean(lean);
return user;
}
public static async updatePlayTime(userCode: string, guestTimeInc: number, todayPlayTime: number, lean = true) {
const user: UserType = await UserModel.findOneAndUpdate({ userCode }, { $inc: { guestTime: guestTimeInc }, $set: { todayPlayTime, reportTime: new Date() }}, { new: true }).lean(lean);
return user;
}
}