✨ feat(服务器): 修改服务器自动开服策略

This commit is contained in:
luying
2023-04-25 13:04:47 +08:00
parent af1f6b9d8c
commit 906449be60
14 changed files with 121 additions and 128 deletions
+5 -2
View File
@@ -360,6 +360,9 @@ export default class Role extends BaseModel {
@prop({ required: true, select: false })
cancelCloseTime: number;
@prop({ required: true })
needCount: boolean;
public static async findAllByUid(uid: number, getters = false, virtuals = true) {
const role: RoleType[] = await RoleModel.find({ 'userInfo.uid': uid }).select('roleId roleName serverId head frame spine heads frames spines lv updatedAt createTime +closeTime').lean({ getters, virtuals });
return role;
@@ -368,7 +371,7 @@ export default class Role extends BaseModel {
public static async findByUidAndSetTime(uid: number, serverId: number, ip: string, ipLocation: string, select?: string, getters = false) {
const curSec = nowSeconds();
// 为了计算累计登录,此处查询new为false
const role: RoleType = await RoleModel.findOneAndUpdate({ 'userInfo.uid': uid, serverId }, { $set: { loginTime: curSec, quitTime: curSec, ip, ipLocation } }, { new: false }).select(select).lean({ getters, virtuals: true });
const role: RoleType = await RoleModel.findOneAndUpdate({ 'userInfo.uid': uid, serverId }, { $set: { loginTime: curSec, quitTime: curSec, ip, ipLocation, needCount: false } }, { new: false }).select(select).lean({ getters, virtuals: true });
return role;
}
@@ -408,7 +411,7 @@ export default class Role extends BaseModel {
const user = await User.findUserByUid(uid);
if (!user) return null;
const doc = new RoleModel();
const update = Object.assign(doc.toJSON(), roleInfo, { userInfo: user, serverType: user.serverType, serverId, shushuMark: distinctId });
const update = Object.assign(doc.toJSON(), roleInfo, { userInfo: user, serverType: user.serverType, serverId, shushuMark: distinctId, needCount: true });
delete update._id;
const role: RoleType = await RoleModel.findOneAndUpdate({ 'userInfo.uid': uid, serverId }, update, { upsert: true, new: true }).lean(lean);
return role;