feat: latest code update
This commit is contained in:
@@ -2,6 +2,7 @@ import { Controller, Post, Get, Body, Param, UseGuards, Logger } from '@nestjs/c
|
||||
import { InjectModel } from '@nestjs/mongoose'
|
||||
import { Model } from 'mongoose'
|
||||
import { JwtAuthGuard } from '../../common/guards/jwt-auth.guard'
|
||||
import { Public } from '../../common/decorators/public.decorator'
|
||||
import { CurrentUser } from '../../common/decorators/current-user.decorator'
|
||||
import { AiService } from '../ai/ai.service'
|
||||
import { Contribution, ContributionDocument } from '../schemas/contribution.schema'
|
||||
@@ -186,4 +187,19 @@ export class ContributionController {
|
||||
.select('company position rounds experience createdAt')
|
||||
.exec()
|
||||
}
|
||||
|
||||
@Public()
|
||||
@Get('companies/hot')
|
||||
async getHotCompanies() {
|
||||
const banks = await this.companyBankModel.aggregate([
|
||||
{ $group: { _id: '$company', positionCount: { $sum: 1 }, totalContributions: { $sum: '$contributionCount' } } },
|
||||
{ $sort: { totalContributions: -1, positionCount: -1 } },
|
||||
{ $project: { _id: 0, name: '$_id', positionCount: 1 } },
|
||||
]).exec()
|
||||
|
||||
if (banks.length > 0) return banks
|
||||
|
||||
const DEFAULT_COMPANIES = ['腾讯', '字节跳动', '阿里巴巴', '美团', '百度', '京东', '网易', '小红书']
|
||||
return DEFAULT_COMPANIES.map((name, i) => ({ name, positionCount: 0, sort: i }))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user