advertisement.entity.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn } from 'typeorm';
  2. import { File } from '@/server/modules/files/file.entity';
  3. import { AdvertisementType } from './advertisement-type.entity';
  4. @Entity('ad')
  5. export class Advertisement {
  6. @PrimaryGeneratedColumn({ unsigned: true })
  7. id!: number;
  8. @Column({
  9. name: 'title',
  10. type: 'varchar',
  11. length: 30,
  12. nullable: true,
  13. comment: '标题'
  14. })
  15. title!: string | null;
  16. @Column({
  17. name: 'type_id',
  18. type: 'int',
  19. nullable: true,
  20. unsigned: true,
  21. comment: '广告类型'
  22. })
  23. typeId!: number | null;
  24. @Column({
  25. name: 'code',
  26. type: 'varchar',
  27. length: 20,
  28. nullable: true,
  29. comment: '调用别名'
  30. })
  31. code!: string | null;
  32. @Column({
  33. name: 'url',
  34. type: 'varchar',
  35. length: 255,
  36. nullable: true,
  37. comment: 'url'
  38. })
  39. url!: string | null;
  40. @Column({
  41. name: 'image_file_id',
  42. type: 'int',
  43. unsigned: true,
  44. nullable: true,
  45. comment: '图片文件ID'
  46. })
  47. imageFileId!: number | null;
  48. @ManyToOne(() => File, { nullable: true })
  49. @JoinColumn({
  50. name: 'image_file_id',
  51. referencedColumnName: 'id'
  52. })
  53. imageFile!: File | null;
  54. @ManyToOne(() => AdvertisementType, { nullable: true })
  55. @JoinColumn({
  56. name: 'type_id',
  57. referencedColumnName: 'id'
  58. })
  59. advertisementType!: AdvertisementType | null;
  60. @Column({
  61. name: 'sort',
  62. type: 'int',
  63. default: 0,
  64. comment: '排序'
  65. })
  66. sort!: number;
  67. @Column({
  68. name: 'create_time',
  69. type: 'int',
  70. nullable: true,
  71. comment: '创建时间'
  72. })
  73. createTime!: number | null;
  74. @Column({
  75. name: 'update_time',
  76. type: 'int',
  77. default: 0,
  78. comment: '更新时间'
  79. })
  80. updateTime!: number;
  81. @Column({
  82. name: 'status',
  83. type: 'int',
  84. unsigned: true,
  85. default: 0,
  86. comment: '状态'
  87. })
  88. status!: number;
  89. @Column({
  90. name: 'action_type',
  91. type: 'int',
  92. default: 1,
  93. comment: '跳转类型 0 不跳转 1webview 2小程序页面'
  94. })
  95. actionType!: number;
  96. }