zs 1 year ago
parent
commit
316f1f80da

+ 6 - 0
src/controller/user.controller.ts

@@ -129,6 +129,12 @@ export class UserController extends BaseController {
     await this.service.delete(id);
     return 'ok';
   }
+
+  @Get('/person')
+  async person() {
+    const list = await this.service.person();
+    return list;
+  }
   async createMany(...args: any[]) {
     throw new Error('Method not implemented.');
   }

+ 2 - 2
src/entity/team.entity.ts

@@ -16,8 +16,8 @@ export class Team extends BaseModel {
   phone: string;
   @prop({ required: false, index: false, zh: '团队logo' })
   logo: Array<any>;
-  @prop({ required: false, index: true, zh: '团队人数' })
-  number: string;
+  @prop({ required: false, index: true, zh: '团队人数', default: 0 })
+  number: number;
   @prop({ required: false, index: false, zh: '团队成员' })
   member: Array<any>;
   @prop({

+ 4 - 4
src/interface/team.interface.ts

@@ -27,7 +27,7 @@ export class FVO_team {
   @ApiProperty({ description: '团队logo' })
   'logo': Array<any> = undefined;
   @ApiProperty({ description: '团队人数' })
-  'number': string = undefined;
+  'number': number = undefined;
   @ApiProperty({ description: '团队成员' })
   'member': Array<any> = undefined;
   @ApiProperty({ description: '状态' })
@@ -57,7 +57,7 @@ export class QDTO_team extends SearchBase {
   @ApiProperty({ description: '手机号' })
   'phone': string = undefined;
   @ApiProperty({ description: '团队人数' })
-  'number': string = undefined;
+  'number': number = undefined;
   @ApiProperty({ description: '状态' })
   'status': string = undefined;
 }
@@ -89,8 +89,8 @@ export class CDTO_team {
   @Rule(RuleType['array']().allow('', null))
   'logo': Array<any> = undefined;
   @ApiProperty({ description: '团队人数' })
-  @Rule(RuleType['string']().allow('', null))
-  'number': string = undefined;
+  @Rule(RuleType['number']().allow('', null))
+  'number': number = undefined;
   @ApiProperty({ description: '团队成员' })
   @Rule(RuleType['array']().allow('', null))
   'member': Array<any> = undefined;

+ 2 - 2
src/service/teamApply.service.ts

@@ -65,14 +65,14 @@ export class TeamApplyService extends BaseService<modelType> {
     const memberList = team.member;
     if (status === '1') {
       memberList.push(newData);
-      const number = memberList.length.toString();
+      const number = memberList.length;
       await this.TeamModel.updateOne(
         { _id: team._id },
         { member: memberList, number }
       );
     } else {
       const member = memberList.filter(i => i._id !== newData._id);
-      const number = member.length.toString();
+      const number = member.length;
       await this.TeamModel.updateOne({ _id: team._id }, { member, number });
     }
     await this.model.updateOne({ _id: id }, body);

+ 14 - 0
src/service/user.service.ts

@@ -9,12 +9,16 @@ import {
 import isEqual = require('lodash/isEqual');
 import { User } from '../entity/user.entity';
 import { LoginDTO } from '../interface/user.interface';
+import { Team } from '../entity/team.entity';
 type modelType = ReturnModelType<typeof User>;
 @Provide()
 export class UserService extends BaseService<modelType> {
   @InjectEntityModel(User)
   model: modelType;
 
+  @InjectEntityModel(Team)
+  TeamModel: ReturnModelType<typeof Team>;
+
   async findUserToLogin(data: LoginDTO): Promise<object> {
     const { account, password } = data;
     const user = await this.model.findOne({ account }, '+password').lean();
@@ -39,4 +43,14 @@ export class UserService extends BaseService<modelType> {
       throw new ServiceError('密码错误', FrameworkErrorEnum.SERVICE_FAULT);
     return user;
   }
+  // 团队人员
+  async person() {
+    const list = await this.model.find({ status: '1', type: '0' });
+    const result = [];
+    for (const val of list) {
+      const total = await this.TeamModel.count({ member: { $in: [val.id] } });
+      if (total === 0) result.push(val);
+    }
+    return result;
+  }
 }