系统:停服维护逻辑
This commit is contained in:
+8
-8
@@ -105,7 +105,7 @@ export default class User extends BaseModel {
|
||||
@prop({ required: false, default: "" })
|
||||
getuiCID: string;
|
||||
|
||||
public static async createUser(isGuest: boolean, tel: string, token: string, platform: string, pkgName: string, serverType: string, deviceId: string, guestTime: number = 0) {
|
||||
public static async createUser(isGuest: boolean, tel: string, token: string, platform: string, pkgName: string, serverType: string, deviceId: string, guestTime: number = 0, ip: string = '') {
|
||||
let _tel = aesEncryptcfb(tel, ENCRYPT_KEY, ENCRYPT_IV);
|
||||
const curTime: Date = new Date();
|
||||
|
||||
@@ -113,7 +113,7 @@ export default class User extends BaseModel {
|
||||
const userCode = genCode(8);
|
||||
const doc = new UserModel();
|
||||
let update = {};
|
||||
update = Object.assign(update, doc.toJSON(), { platform, pkgName, serverType, createTime: curTime, uid, userCode, username: `用户${uid}`, isGuest, token, lastLoginTime: curTime, guestTime });
|
||||
update = Object.assign(update, doc.toJSON(), { platform, pkgName, serverType, createTime: curTime, uid, userCode, username: `用户${uid}`, isGuest, token, lastLoginTime: curTime, guestTime, ip });
|
||||
if (isGuest) update["guestId"] = _tel;
|
||||
delete update["device"];
|
||||
|
||||
@@ -126,11 +126,11 @@ export default class User extends BaseModel {
|
||||
return user;
|
||||
}
|
||||
|
||||
public static async updateToken(tel: string, token: string, deviceId: string) {
|
||||
public static async updateToken(tel: string, token: string, deviceId: string, ip: string) {
|
||||
|
||||
const curTime: Date = new Date();
|
||||
|
||||
let user = await UserModel.findOneAndUpdate({ tel }, { $set: { token, lastLoginTime: curTime }, $addToSet: { device: deviceId } }, { new: true }).lean({ getters: true });
|
||||
let user = await UserModel.findOneAndUpdate({ tel }, { $set: { token, lastLoginTime: curTime, ip }, $addToSet: { device: deviceId } }, { new: true }).lean({ getters: true });
|
||||
return user;
|
||||
}
|
||||
|
||||
@@ -139,14 +139,14 @@ export default class User extends BaseModel {
|
||||
return user;
|
||||
}
|
||||
|
||||
public static async createOrUpdate(isGuest: boolean, tel: string, token: string, platform: string, pkgName: string, serverType: string, deviceId: string) {
|
||||
public static async createOrUpdate(isGuest: boolean, tel: string, token: string, platform: string, pkgName: string, serverType: string, deviceId: string, ip: string) {
|
||||
// console.log(tel);
|
||||
|
||||
let user: UserType = await UserModel.findOne({ tel }).lean({ getters: true });
|
||||
if (!user) {
|
||||
user = await UserModel.createUser(isGuest, tel, token, platform, pkgName, serverType, deviceId);
|
||||
user = await UserModel.createUser(isGuest, tel, token, platform, pkgName, serverType, deviceId, 0, ip);
|
||||
} else {
|
||||
user = await UserModel.updateToken(tel, token, deviceId);
|
||||
user = await UserModel.updateToken(tel, token, deviceId, ip);
|
||||
}
|
||||
return user;
|
||||
}
|
||||
@@ -185,7 +185,7 @@ export default class User extends BaseModel {
|
||||
}
|
||||
|
||||
public static async findUserByToken(token: string) {
|
||||
const user: UserType = await UserModel.findOne({ token }).select('uid token serverType auth tel userCode pkgName').lean({ getters: true });
|
||||
const user: UserType = await UserModel.findOne({ token }).select('uid token serverType auth tel userCode pkgName ip').lean({ getters: true });
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user