zs 1 рік тому
батько
коміт
0fa4b37be3

+ 1 - 0
src/error/frame.error.ts

@@ -12,5 +12,6 @@ export enum ErrorCode {
   USER_IS_DISABLED = '401-6',
   ROLE_IS_DISABLED = '401-7',
   SERVICE_REPEAT = '401-8',
+  USER_EXIST = '401-9',
 }
 export const FrameErrorEnum = registerErrorCode('FrameError', ErrorCode);

+ 1 - 0
src/locales/zh_cn/errors.ts

@@ -24,6 +24,7 @@ const codes = {
   '401-6': '该用户已被禁用',
   '401-7': '当前角色下的用户无法使用',
   '401-8': '该比赛已报名请勿重复报名!',
+  '401-9': '该用户账号已存在请勿重复填写!',
 };
 const errCodes = {};
 const prefix = 'FRAMEERROR_';

+ 10 - 5
src/service/system/user.service.ts

@@ -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;
   }
 }