/** * @author wuweiru * @date 2020/10/14 */ import { Inject, Injectable } from '@nestjs/common'; import { Model } from 'mongoose'; import { InjectModel } from '@nestjs/mongoose'; import { Enterprise } from '../model/enterprise'; import { BaseService } from '../../../base/base.service'; import { MongoDBCollection } from '../../../constant'; import { EnterpriseMemberService } from './enterprise.member.service'; @Injectable() export class EnterpriseService extends BaseService { constructor( @InjectModel(MongoDBCollection.Enterprise) protected readonly model: Model, @Inject('EnterpriseMemberService') private readonly enterpriseMemberService: EnterpriseMemberService ) { super(model); } async getEnterpriseListByUserId(userId: string): Promise { const members = await this.enterpriseMemberService.find({ userId }); const enterpriseIds = members.map(member => member.enterpriseId); const enterprises = await this.model.find({ _id: { $in: enterpriseIds } }); return enterprises; } }