形象:检查重名

This commit is contained in:
luying
2021-03-12 10:16:16 +08:00
parent 4ed7a7b0ec
commit 99a06d1136
3 changed files with 13 additions and 3 deletions
@@ -499,9 +499,10 @@ export class RoleHandler {
async rename(msg: { roleName: string }, session: BackendSession) {
let { roleName } = msg;
let roleId = session.get('roleId');
// TODO 可能需要,检查是否重名
// let checkName = await RoleModel.findRoleByField('roleName', [roleName]);
// if(checkName.length > 0) return resResult(STATUS.NAME_HAS_USED);
let serverId = session.get('serverId');
let checkName = await RoleModel.checkName(roleName, serverId);
if(checkName) return resResult(STATUS.NAME_HAS_USED);
let role = await RoleModel.updateRoleInfo(roleId, { roleName });
+5
View File
@@ -555,6 +555,11 @@ export default class Role extends BaseModel {
const result = await RoleModel.findOneAndUpdate({roleId}, { $pull: { heads: { id: id }, $push: { heads: figure } }}, {new: true}).lean();
return result
}
public static async checkName(roleName: string, serverId: number) {
const role = await RoleModel.findOne({ roleName, serverId }).lean();
return !!role;
}
}
export const RoleModel = getModelForClass(Role);
+4
View File
@@ -306,6 +306,10 @@ export default class Auth extends Service {
const roleId = ctx.service.utils.genCode(10);
const code = ctx.service.utils.genCode(6);
const seqId = await Counter.getNewCounter(COUNTER.ROLE) || -1;
let checkName = await RoleModel.checkName(roleName, serverId);
if(checkName) return ctx.service.utils.resResult(STATUS.NAME_HAS_USED);
const role = await RoleModel.createRole(uid, serverId, { roleId, code, roleName, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 });
if (role) {
let skinIds = new Array<number>();