|
@@ -96,16 +96,12 @@ export class TeamService {
|
|
|
return this.teamRepository.save(team)
|
|
return this.teamRepository.save(team)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- async resetTodayRevenue(): Promise<void> {
|
|
|
|
|
- await this.teamRepository.update({}, { todayRevenue: 0 })
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
async getStatistics(): Promise<{
|
|
async getStatistics(): Promise<{
|
|
|
totalTeams: number
|
|
totalTeams: number
|
|
|
totalRevenue: number
|
|
totalRevenue: number
|
|
|
todayRevenue: number
|
|
todayRevenue: number
|
|
|
averageCommissionRate: number
|
|
averageCommissionRate: number
|
|
|
- topTeams: Array<{ id: number; name: string; totalRevenue: number; todayRevenue: number }>
|
|
|
|
|
|
|
+ allTeams: Array<{ id: number; name: string; totalRevenue: number; todayRevenue: number }>
|
|
|
}> {
|
|
}> {
|
|
|
const teams = await this.teamRepository.find({
|
|
const teams = await this.teamRepository.find({
|
|
|
select: ['id', 'name', 'totalRevenue', 'todayRevenue', 'commissionRate']
|
|
select: ['id', 'name', 'totalRevenue', 'todayRevenue', 'commissionRate']
|
|
@@ -116,7 +112,7 @@ export class TeamService {
|
|
|
totalRevenue: 0,
|
|
totalRevenue: 0,
|
|
|
todayRevenue: 0,
|
|
todayRevenue: 0,
|
|
|
averageCommissionRate: 0,
|
|
averageCommissionRate: 0,
|
|
|
- topTeams: [] as Array<{ id: number; name: string; totalRevenue: number; todayRevenue: number }>
|
|
|
|
|
|
|
+ allTeams: [] as Array<{ id: number; name: string; totalRevenue: number; todayRevenue: number }>
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
let totalCommissionRate = 0
|
|
let totalCommissionRate = 0
|
|
@@ -129,10 +125,8 @@ export class TeamService {
|
|
|
|
|
|
|
|
statistics.averageCommissionRate = teams.length > 0 ? totalCommissionRate / teams.length : 0
|
|
statistics.averageCommissionRate = teams.length > 0 ? totalCommissionRate / teams.length : 0
|
|
|
|
|
|
|
|
- // 获取收入前5的团队
|
|
|
|
|
- statistics.topTeams = teams
|
|
|
|
|
|
|
+ statistics.allTeams = teams
|
|
|
.sort((a, b) => Number(b.totalRevenue) - Number(a.totalRevenue))
|
|
.sort((a, b) => Number(b.totalRevenue) - Number(a.totalRevenue))
|
|
|
- .slice(0, 5)
|
|
|
|
|
.map(team => ({
|
|
.map(team => ({
|
|
|
id: team.id,
|
|
id: team.id,
|
|
|
name: team.name,
|
|
name: team.name,
|
|
@@ -143,6 +137,10 @@ export class TeamService {
|
|
|
return statistics
|
|
return statistics
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ async getTeamStatistics(userId: number): Promise<Team> {
|
|
|
|
|
+ return this.teamRepository.findOneOrFail({ where: { userId } })
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
async getTeams(): Promise<Array<{ id: number; name: string; userId: number }>> {
|
|
async getTeams(): Promise<Array<{ id: number; name: string; userId: number }>> {
|
|
|
return await this.teamRepository.find({
|
|
return await this.teamRepository.find({
|
|
|
select: ['id', 'name', 'userId']
|
|
select: ['id', 'name', 'userId']
|