card.entity.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';
  2. import { UserEntity as User } from '@/server/modules/users/user.entity';
  3. @Entity('card')
  4. export class Card {
  5. @PrimaryGeneratedColumn({ unsigned: true })
  6. id!: number;
  7. @Column({ name: 'agent_id', type: 'int', unsigned: true, nullable: true, comment: '代理商ID' })
  8. agentId!: number | null;
  9. @Column({ name: 'card_type', type: 'tinyint', unsigned: true, comment: '1盛京通卡 2通用联名电子卡' })
  10. cardType!: number;
  11. @Column({ name: 'card_no', type: 'varchar', length: 20, unique: true, comment: '卡号' })
  12. cardNo!: string;
  13. @Column({ name: 'password', type: 'varchar', length: 255, comment: '密码' })
  14. password!: string;
  15. @Column({ name: 'state', type: 'tinyint', unsigned: true, default: 1, comment: '状态 1绑定 2解绑 通用联名电子卡不可解绑' })
  16. state!: number;
  17. @Column({ name: 'face_value', type: 'decimal', precision: 10, scale: 2, unsigned: true, default: 0.00, comment: '面值' })
  18. faceValue!: number;
  19. @CreateDateColumn({ name: 'created_at', type: 'timestamp', comment: '创建时间' })
  20. createdAt!: Date;
  21. @UpdateDateColumn({ name: 'updated_at', type: 'timestamp', comment: '更新时间' })
  22. updatedAt!: Date;
  23. @Column({ name: 'created_by', type: 'int', unsigned: true, nullable: true, comment: '创建用户ID' })
  24. createdBy!: number | null;
  25. @Column({ name: 'updated_by', type: 'int', unsigned: true, nullable: true, comment: '更新用户ID' })
  26. updatedBy!: number | null;
  27. @ManyToOne(() => User, { nullable: true })
  28. @JoinColumn({ name: 'agent_id', referencedColumnName: 'id' })
  29. agent!: User | null;
  30. }