|
@@ -1,19 +1,24 @@
|
|
|
-import { Provide } from '@midwayjs/decorator';
|
|
|
+import { Provide, Inject } from '@midwayjs/decorator';
|
|
|
import { InjectEntityModel } from '@midwayjs/typegoose';
|
|
|
import { ReturnModelType } from '@typegoose/typegoose';
|
|
|
-import { BaseService } from 'free-midway-component';
|
|
|
+import { BaseService, ServiceError } from 'free-midway-component';
|
|
|
import { User } from '../../entity/system/user.entity';
|
|
|
+import { I18nService } from '../i18n.service';
|
|
|
+import { FrameErrorEnum } from '../../error/frame.error';
|
|
|
type modelType = ReturnModelType<typeof User>;
|
|
|
@Provide()
|
|
|
export class UserService extends BaseService<modelType> {
|
|
|
@InjectEntityModel(User)
|
|
|
model: modelType;
|
|
|
|
|
|
+ @Inject()
|
|
|
+ i18n: I18nService;
|
|
|
+
|
|
|
// 创建前判断是否是普通用户 普通用户不用审核直接通过
|
|
|
async createBefore(data) {
|
|
|
- const { role } = data;
|
|
|
- if (role && role === 'User') data.status = '1';
|
|
|
- else data.status = '0';
|
|
|
+ const { account } = data;
|
|
|
+ const user = await this.model.findOne({ account }).lean();
|
|
|
+ if (user && user._id) throw new ServiceError(this.i18n.translateError(FrameErrorEnum.USER_EXIST), FrameErrorEnum.USER_EXIST);
|
|
|
return data;
|
|
|
}
|
|
|
}
|