فهرست منبع

统计今日 修改时区

wilhelm wong 2 ماه پیش
والد
کامیت
0890c256f4
3فایلهای تغییر یافته به همراه22 افزوده شده و 22 حذف شده
  1. 6 6
      src/services/team-domain.service.ts
  2. 8 8
      src/services/team-members.service.ts
  3. 8 8
      src/services/team.service.ts

+ 6 - 6
src/services/team-domain.service.ts

@@ -241,11 +241,11 @@ export class TeamDomainService {
   }
 
   async getDailyStatistics(domain?: string): Promise<{ id: number; domain: string; todayNewUsers: number; todayIncome: number; todayActiveUsers: number; totalIncome: number; totalSales: number; todaySales: number }[]> {
-    // 获取今天的开始和结束时间(使用UTC时区)
+    // 获取今天的开始时间(使用本地时区),并使用半开区间 [today, tomorrow)
     const today = new Date()
-    today.setUTCHours(0, 0, 0, 0)
+    today.setHours(0, 0, 0, 0)
     const tomorrow = new Date(today)
-    tomorrow.setUTCDate(tomorrow.getUTCDate() + 1)
+    tomorrow.setDate(tomorrow.getDate() + 1)
 
     // 构建查询条件
     const whereCondition: any = {}
@@ -356,11 +356,11 @@ export class TeamDomainService {
       where: whereCondition
     })
 
-    // 获取今天的开始和结束时间(使用UTC时区)
+    // 获取今天的开始时间(使用本地时区),并使用半开区间 [today, tomorrow)
     const today = new Date()
-    today.setUTCHours(0, 0, 0, 0)
+    today.setHours(0, 0, 0, 0)
     const tomorrow = new Date(today)
-    tomorrow.setUTCDate(tomorrow.getUTCDate() + 1)
+    tomorrow.setDate(tomorrow.getDate() + 1)
 
     const results: { id: number; domain: string; totalNewUsers: number; totalIncome: number; todayActiveUsers: number; todayIncome: number; totalSales: number; todaySales: number }[] = []
 

+ 8 - 8
src/services/team-members.service.ts

@@ -166,11 +166,11 @@ export class TeamMembersService {
       select: ['id', 'name', 'totalRevenue', 'todayRevenue', 'userId']
     })
 
-    // 获取今天的开始时间(使用UTC时区)
+    // 获取今天的开始时间(使用本地时区),并使用半开区间 [today, tomorrow)
     const today = new Date()
-    today.setUTCHours(0, 0, 0, 0)
-    const todayEnd = new Date()
-    todayEnd.setUTCHours(23, 59, 59, 999)
+    today.setHours(0, 0, 0, 0)
+    const tomorrow = new Date(today)
+    tomorrow.setDate(tomorrow.getDate() + 1)
 
     // 获取所有成员的userId列表
     const memberUserIds = members.map(member => member.userId).filter(id => id !== null)
@@ -195,7 +195,7 @@ export class TeamMembersService {
           .where('record.delFlag = :delFlag', { delFlag: false })
           .andWhere('record.status = :status', { status: true })
           .andWhere('record.createdAt >= :today', { today })
-          .andWhere('record.createdAt <= :todayEnd', { todayEnd })
+          .andWhere('record.createdAt < :tomorrow', { tomorrow })
           .andWhere('record.userId IN (:...memberUserIds)', { memberUserIds })
           .groupBy('record.userId')
           .getRawMany()
@@ -221,7 +221,7 @@ export class TeamMembersService {
           .where('record.delFlag = :delFlag', { delFlag: false })
           .andWhere('record.status = :status', { status: true })
           .andWhere('record.createdAt >= :today', { today })
-          .andWhere('record.createdAt <= :todayEnd', { todayEnd })
+          .andWhere('record.createdAt < :tomorrow', { tomorrow })
           .andWhere('record.personalAgentId IN (:...memberUserIds)', { memberUserIds })
           .groupBy('record.personalAgentId')
           .getRawMany()
@@ -233,7 +233,7 @@ export class TeamMembersService {
           .createQueryBuilder('member')
           .select(['member.userId as userId', 'COUNT(DISTINCT member.id) as dau'])
           .where('member.lastLoginAt >= :today', { today })
-          .andWhere('member.lastLoginAt <= :todayEnd', { todayEnd })
+          .andWhere('member.lastLoginAt < :tomorrow', { tomorrow })
           .andWhere('member.userId IN (:...memberUserIds)', { memberUserIds })
           .groupBy('member.userId')
           .getRawMany()
@@ -245,7 +245,7 @@ export class TeamMembersService {
           .createQueryBuilder('member')
           .select(['member.userId as userId', 'COUNT(member.id) as newUsers'])
           .where('member.createdAt >= :today', { today })
-          .andWhere('member.createdAt <= :todayEnd', { todayEnd })
+          .andWhere('member.createdAt < :tomorrow', { tomorrow })
           .andWhere('member.userId IN (:...memberUserIds)', { memberUserIds })
           .groupBy('member.userId')
           .getRawMany()

+ 8 - 8
src/services/team.service.ts

@@ -144,11 +144,11 @@ export class TeamService {
       select: ['id', 'name', 'userId', 'commissionRate']
     })
 
-    // 获取今天的开始时间(使用UTC时区)
+    // 获取今天的开始时间(使用本地时区),并使用半开区间 [today, tomorrow)
     const today = new Date()
-    today.setUTCHours(0, 0, 0, 0)
-    const todayEnd = new Date()
-    todayEnd.setUTCHours(23, 59, 59, 999)
+    today.setHours(0, 0, 0, 0)
+    const tomorrow = new Date(today)
+    tomorrow.setDate(tomorrow.getDate() + 1)
 
     // 获取所有团队的 userId 列表
     const teamUserIds = teams.map(team => team.userId)
@@ -186,7 +186,7 @@ export class TeamService {
             .where('record.delFlag = :delFlag', { delFlag: false })
             .andWhere('record.status = :status', { status: true })
             .andWhere('record.createdAt >= :today', { today })
-            .andWhere('record.createdAt <= :todayEnd', { todayEnd })
+            .andWhere('record.createdAt < :tomorrow', { tomorrow })
             .andWhere('record.agentId IN (:...allUserIds)', { allUserIds })
             .groupBy('record.agentId')
             .getRawMany()
@@ -214,7 +214,7 @@ export class TeamService {
             .where('record.delFlag = :delFlag', { delFlag: false })
             .andWhere('record.status = :status', { status: true })
             .andWhere('record.createdAt >= :today', { today })
-            .andWhere('record.createdAt <= :todayEnd', { todayEnd })
+            .andWhere('record.createdAt < :tomorrow', { tomorrow })
             .andWhere('record.agentId IN (:...allUserIds)', { allUserIds })
             .groupBy('record.agentId')
             .getRawMany()
@@ -226,7 +226,7 @@ export class TeamService {
           .createQueryBuilder('member')
           .select(['member.teamId as teamId', 'COUNT(DISTINCT member.userId) as dau'])
           .where('member.lastLoginAt >= :today', { today })
-          .andWhere('member.lastLoginAt <= :todayEnd', { todayEnd })
+          .andWhere('member.lastLoginAt < :tomorrow', { tomorrow })
           .andWhere('member.teamId IN (:...teamIds)', { teamIds })
           .groupBy('member.teamId')
           .getRawMany()
@@ -238,7 +238,7 @@ export class TeamService {
           .createQueryBuilder('member')
           .select(['member.teamId as teamId', 'COUNT(member.id) as newUsers'])
           .where('member.createdAt >= :today', { today })
-          .andWhere('member.createdAt <= :todayEnd', { todayEnd })
+          .andWhere('member.createdAt < :tomorrow', { tomorrow })
           .andWhere('member.teamId IN (:...teamIds)', { teamIds })
           .groupBy('member.teamId')
           .getRawMany()