后台:道具获取
This commit is contained in:
@@ -7,6 +7,7 @@ import { nowSeconds, getTimeFunD } from '../pubUtils/timeUtil';
|
||||
import { Figure } from '../domain/dbGeneral';
|
||||
import * as dicParam from '../pubUtils/dicParam';
|
||||
import Hero from './Hero';
|
||||
import { SearchRoleParam } from '../domain/backEndField/search';
|
||||
|
||||
type CeAttrUpdate = Partial<CeAttrDataRole>;
|
||||
// role表属性格式
|
||||
@@ -360,6 +361,11 @@ export default class Role extends BaseModel {
|
||||
return role;
|
||||
}
|
||||
|
||||
public static async findByRoleIds(roleIds: string[], select?: string, getters = false, virtuals = true) {
|
||||
const role: RoleType[] = await RoleModel.find({ roleId: { $in: roleIds } }).select(select).lean({ getters, virtuals });
|
||||
return role;
|
||||
}
|
||||
|
||||
public static async createRole(uid: number, serverId: number, roleInfo: { roleId: string; roleName: string; seqId: number; code: string, lv?: number, exp?: number }, lean = true) {
|
||||
const user = await User.findUserByUid(uid);
|
||||
if (!user) return null;
|
||||
@@ -370,19 +376,6 @@ export default class Role extends BaseModel {
|
||||
return role;
|
||||
}
|
||||
|
||||
public static async findRoleByField(field: string, value?: Array<number | string>, select?: string, getters = false) {
|
||||
let searchObj = {};
|
||||
if (field != 'all') {
|
||||
searchObj[field] = {
|
||||
$in: value
|
||||
};
|
||||
}
|
||||
|
||||
const user: RoleType[] = await RoleModel.find(searchObj).select(select).lean({ getters, virtuals: true });
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
public static async setEventStatus(roleId: string, eventStatus: number, lean = true) {
|
||||
let role: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { eventStatus }, { new: true }).lean(lean);
|
||||
return role;
|
||||
@@ -742,6 +735,38 @@ export default class Role extends BaseModel {
|
||||
return role;
|
||||
}
|
||||
|
||||
|
||||
private static getSearchObj(form: SearchRoleParam) {
|
||||
let searchObj = {};
|
||||
if(form.uid) searchObj['userInfo.uid'] = form.uid;
|
||||
if(form.roleId) searchObj['roleId'] = form.roleId;
|
||||
if(form.roleName) searchObj['roleName'] = { $regex: new RegExp(form.roleName.toString(), 'i') };
|
||||
return searchObj
|
||||
}
|
||||
|
||||
public static async findByCondition(page: number, pageSize: number, sortField: string = 'updatedAt', sortOrder: string = 'descend', form: SearchRoleParam = {}) {
|
||||
|
||||
let searchObj = this.getSearchObj(form);
|
||||
let sort = {};
|
||||
if(sortField && sortOrder) {
|
||||
if(sortOrder == 'ascend') {
|
||||
sort[sortField] = 1;
|
||||
} else if (sortOrder == 'descend') {
|
||||
sort[sortField] = -1;
|
||||
}
|
||||
}
|
||||
const result: RoleType[] = await RoleModel.find(searchObj).limit(pageSize).skip((page - 1) * pageSize).sort(sort).lean({ getters: true, virtuals: true });
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
public static async countByCondition(form: SearchRoleParam = {}) {
|
||||
|
||||
let searchObj = this.getSearchObj(form);
|
||||
const result = await RoleModel.count(searchObj);
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export const RoleModel = getModelForClass(Role);
|
||||
|
||||
Reference in New Issue
Block a user