scan-record.entity.ts 951 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, ManyToOne, JoinColumn, Index } from 'typeorm'
  2. import { QrCode } from './qr-code.entity'
  3. @Entity()
  4. @Index(['qrCodeId'])
  5. @Index(['scanTime'])
  6. @Index(['qrCodeId', 'scanTime'])
  7. export class ScanRecord {
  8. @PrimaryGeneratedColumn('increment', { type: 'bigint' })
  9. id: number
  10. @Column()
  11. qrCodeId: number
  12. @Column({ type: 'datetime' })
  13. scanTime: Date
  14. @Column({ type: 'decimal', precision: 10, scale: 7, nullable: true })
  15. latitude: number
  16. @Column({ type: 'decimal', precision: 10, scale: 7, nullable: true })
  17. longitude: number
  18. @Column({ type: 'text', nullable: true })
  19. address: string
  20. @Column({ length: 50, nullable: true })
  21. ipAddress: string
  22. @Column({ type: 'text', nullable: true })
  23. userAgent: string
  24. @CreateDateColumn()
  25. createdAt: Date
  26. @ManyToOne(() => QrCode, qrCode => qrCode.scanRecords)
  27. @JoinColumn({ name: 'qrCodeId' })
  28. qrCode: QrCode
  29. }