| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, ManyToOne, JoinColumn } from 'typeorm';
- import { File } from '@/server/modules/files/file.entity';
- @Entity('advertisements')
- export class Advertisement {
- @PrimaryGeneratedColumn({ unsigned: true })
- id!: number;
- @Column({ name: 'position_id', type: 'int', unsigned: true, comment: '广告位ID' })
- positionId!: number;
- @Column({ name: 'link_url', type: 'text', comment: '链接地址' })
- linkUrl!: string;
- @Column({ name: 'image_file_id', type: 'int', unsigned: true, nullable: true, comment: '图片文件ID' })
- imageFileId!: number | null;
- @ManyToOne(() => File, { nullable: true })
- @JoinColumn({ name: 'image_file_id', referencedColumnName: 'id' })
- imageFile!: File | null;
- @Column({ name: 'title', type: 'varchar', length: 255, comment: '广告标题' })
- title!: string;
- @Column({ name: 'sort_order', type: 'int', default: 0, comment: '排序值' })
- sortOrder!: number;
- @Column({ name: 'is_enabled', type: 'tinyint', default: 1, comment: '是否启用:0-禁用,1-启用' })
- isEnabled!: number;
- @Column({ name: 'is_deleted', type: 'tinyint', default: 0, comment: '是否删除:0-未删除,1-已删除' })
- isDeleted!: number;
- @Column({ name: 'start_time', type: 'timestamp', nullable: true, comment: '开始时间' })
- startTime!: Date | null;
- @Column({ name: 'end_time', type: 'timestamp', nullable: true, comment: '结束时间' })
- endTime!: Date | null;
- @Column({ name: 'description', type: 'text', nullable: true, comment: '广告描述' })
- description!: string | null;
- @Column({ name: 'created_by', type: 'int', unsigned: true, nullable: true, comment: '创建用户ID' })
- createdBy!: number | null;
- @Column({ name: 'updated_by', type: 'int', unsigned: true, nullable: true, comment: '更新用户ID' })
- updatedBy!: number | null;
- @CreateDateColumn({ name: 'created_at', type: 'timestamp' })
- createdAt!: Date;
- @UpdateDateColumn({ name: 'updated_at', type: 'timestamp' })
- updatedAt!: Date;
- }
|