Преглед изворни кода

发送列表,任务列表创建人

wuyi пре 1 година
родитељ
комит
34fd980f5b

+ 11 - 9
src/balance/balance.service.ts

@@ -133,15 +133,17 @@ export class BalanceService {
     async findAllRecordsPage(req: PageRequest<BalanceRecord>): Promise<Pagination<BalanceRecord>> {
         const page = await paginate<BalanceRecord>(this.recordRepository, req.page, req.search)
         let items = page.items
-        const userIds = items.map(item => item.userId)
-        const users = await this.userRepository.findBy({
-            id: In(userIds)
-        })
-        for (let i = 0; i < items.length; i++) {
-            const item = items[i]
-            const user = users.find(user => user.id === item.userId)
-            if (user) {
-                item.userName = user.username
+        if (page.items.length !== 0) {
+            const userIds = items.map(item => item.userId)
+            const users = await this.userRepository.findBy({
+                id: In(userIds)
+            })
+            for (let i = 0; i < items.length; i++) {
+                const item = items[i]
+                const user = users.find(user => user.id === item.userId)
+                if (user) {
+                    item.userName = user.username
+                }
             }
         }
         return page

+ 4 - 0
src/phone-list/entities/phone-list.entity.ts

@@ -1,4 +1,5 @@
 import { Column, CreateDateColumn, Entity, PrimaryGeneratedColumn } from 'typeorm'
+import { Exclude } from 'class-transformer'
 
 @Entity()
 export class PhoneList {
@@ -19,4 +20,7 @@ export class PhoneList {
 
     @Column()
     remark: string
+
+    @Exclude()
+    userName: string
 }

+ 4 - 2
src/phone-list/phone-list.module.ts

@@ -4,11 +4,13 @@ import { PhoneListService } from './phone-list.service'
 import { TypeOrmModule } from '@nestjs/typeorm'
 import { PhoneList } from './entities/phone-list.entity'
 import { Phone } from './entities/phone.entity'
+import { Users } from '../users/entities/users.entity'
 
 @Module({
-    imports: [TypeOrmModule.forFeature([PhoneList, Phone])],
+    imports: [TypeOrmModule.forFeature([PhoneList, Phone, Users])],
     controllers: [PhoneListController],
     providers: [PhoneListService],
     exports: [PhoneListService]
 })
-export class PhoneListModule {}
+export class PhoneListModule {
+}

+ 20 - 2
src/phone-list/phone-list.service.ts

@@ -1,11 +1,12 @@
 import { Injectable, Req } from '@nestjs/common'
 import { InjectRepository } from '@nestjs/typeorm'
 import { PhoneList } from './entities/phone-list.entity'
-import { DataSource, Repository } from 'typeorm'
+import { DataSource, In, Repository } from 'typeorm'
 import { Phone } from './entities/phone.entity'
 import { PageRequest } from '../common/dto/page-request'
 import { Pagination, paginate } from 'nestjs-typeorm-paginate'
 import { Response } from 'express'
+import { Users } from '../users/entities/users.entity'
 
 @Injectable()
 export class PhoneListService {
@@ -14,11 +15,28 @@ export class PhoneListService {
         private phoneListRepository: Repository<PhoneList>,
         @InjectRepository(Phone)
         private phoneRepository: Repository<Phone>,
+        @InjectRepository(Users)
+        private userRepository: Repository<Users>,
         private readonly dataSource: DataSource
     ) {}
 
     async findAllPhoneList(req: PageRequest<PhoneList>): Promise<Pagination<PhoneList>> {
-        return await paginate<PhoneList>(this.phoneListRepository, req.page, req.search)
+        const page = await paginate<PhoneList>(this.phoneListRepository, req.page, req.search)
+        if (page.items.length !== 0) {
+            let items = page.items
+            const userIds = items.map(item => item.userId)
+            const users = await this.userRepository.findBy({
+                id: In(userIds)
+            })
+            for (let i = 0; i < items.length; i++) {
+                const item = items[i]
+                const user = users.find(user => user.id === item.userId)
+                if (user) {
+                    item.userName = user.username
+                }
+            }
+        }
+        return page
     }
 
     async findAllPhone(req: PageRequest<Phone>): Promise<Pagination<Phone>> {

+ 3 - 0
src/task/entities/task.entity.ts

@@ -72,4 +72,7 @@ export class Task {
 
     @Column({ nullable: true })
     matchDevice?: string
+
+    @Exclude()
+    userName: string
 }

+ 18 - 1
src/task/task.service.ts

@@ -34,6 +34,8 @@ export class TaskService implements OnModuleInit {
         private taskItemRepository: Repository<TaskItem>,
         @InjectRepository(Phone)
         private phoneRepository: Repository<Phone>,
+        @InjectRepository(Users)
+        private userRepository: Repository<Users>,
         @Inject(forwardRef(() => EventsGateway))
         private readonly eventsGateway: EventsGateway,
         private readonly phoneListService: PhoneListService,
@@ -68,7 +70,22 @@ export class TaskService implements OnModuleInit {
                 }
             })
         )
-        return await paginate<Task>(this.taskRepository, req.page, req.search)
+        const page = await paginate<Task>(this.taskRepository, req.page, req.search)
+        if (page.items.length !== 0) {
+            let items = page.items
+            const userIds = items.map(item => item.userId)
+            const users = await this.userRepository.findBy({
+                id: In(userIds)
+            })
+            for (let i = 0; i < items.length; i++) {
+                const item = items[i]
+                const user = users.find(user => user.id === item.userId)
+                if (user) {
+                    item.userName = user.username
+                }
+            }
+        }
+        return page
     }
 
     async findAllTaskItem(req: PageRequest<TaskItem>): Promise<Pagination<TaskItem>> {