delivery-address.entity.ts 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';
  2. import { User } from '@/server/modules/users/user.entity';
  3. import { City } from '@/server/modules/system/city.entity';
  4. @Entity('delivery_address')
  5. export class DeliveryAddress {
  6. @PrimaryGeneratedColumn({ unsigned: true })
  7. id!: number;
  8. @Column({ name: 'user_id', type: 'int', unsigned: true, comment: '用户id' })
  9. userId!: number;
  10. @Column({ name: 'name', type: 'varchar', length: 255, comment: '姓名' })
  11. name!: string;
  12. @Column({ name: 'phone', type: 'varchar', length: 255, comment: '手机号' })
  13. phone!: string;
  14. @Column({ name: 'address', type: 'varchar', length: 255, comment: '详细地址' })
  15. address!: string;
  16. @Column({ name: 'receiver_province', type: 'bigint', unsigned: true, default: 0, comment: '省' })
  17. receiverProvince!: number;
  18. @Column({ name: 'receiver_city', type: 'bigint', unsigned: true, default: 0, comment: '市' })
  19. receiverCity!: number;
  20. @Column({ name: 'receiver_district', type: 'bigint', unsigned: true, default: 0, comment: '区' })
  21. receiverDistrict!: number;
  22. @Column({ name: 'receiver_town', type: 'bigint', unsigned: true, default: 0, comment: '街道' })
  23. receiverTown!: number;
  24. @Column({ name: 'state', type: 'int', unsigned: true, default: 1, comment: '是否可用1正常2禁用3删除(不显示)' })
  25. state!: number;
  26. @Column({ name: 'is_default', type: 'int', unsigned: true, default: 0, comment: '是否常用1是 2否' })
  27. isDefault!: number;
  28. @Column({ name: 'created_by', type: 'int', unsigned: true, nullable: true, comment: '创建用户ID' })
  29. createdBy!: number | null;
  30. @Column({ name: 'updated_by', type: 'int', unsigned: true, nullable: true, comment: '更新用户ID' })
  31. updatedBy!: number | null;
  32. @CreateDateColumn({ name: 'created_at', type: 'timestamp' })
  33. createdAt!: Date;
  34. @UpdateDateColumn({ name: 'updated_at', type: 'timestamp' })
  35. updatedAt!: Date;
  36. @ManyToOne(() => User)
  37. @JoinColumn({ name: 'user_id', referencedColumnName: 'id' })
  38. user!: User;
  39. @ManyToOne(() => City)
  40. @JoinColumn({ name: 'receiver_province', referencedColumnName: 'id' })
  41. province!: City;
  42. @ManyToOne(() => City)
  43. @JoinColumn({ name: 'receiver_city', referencedColumnName: 'id' })
  44. city!: City;
  45. @ManyToOne(() => City)
  46. @JoinColumn({ name: 'receiver_district', referencedColumnName: 'id' })
  47. district!: City;
  48. @ManyToOne(() => City)
  49. @JoinColumn({ name: 'receiver_town', referencedColumnName: 'id' })
  50. town!: City;
  51. }