import { ApiProperty } from '@midwayjs/swagger'; import { Exclude, Expose } from 'class-transformer'; import { Column, CreateDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn, ManyToOne, OneToOne, JoinColumn } from 'typeorm'; import { StockPoint } from './stock_point.entity'; import { Order } from './order.entity'; @Entity('shipment') @Exclude() export class Shipment { @ApiProperty() @PrimaryGeneratedColumn() @Expose() id: string; @ApiProperty() @OneToOne(() => Order) @JoinColumn({ name: 'order_id' }) order: Order; @ApiProperty() @Column({ name: 'stock_point_id' }) @Expose() stockPointId: string; @ManyToOne(() => StockPoint) @JoinColumn({ name: 'stock_point_id' }) stockPoint: StockPoint; @Column({ nullable: false, default: 0}) @Expose() fee: number; @ApiProperty() @Column({ nullable: true }) @Expose() tracking_provider?: string; @ApiProperty() @Column() @Expose() unique_id: string; @Column({ nullable: true }) @Expose() state?: string; @Column({ nullable: true }) @Expose() type?: string; @ApiProperty() @Column({ nullable: true }) @Expose() transaction_number?: string; @ApiProperty() @Column({ nullable: true }) @Expose() primary_tracking_number?: string; @ApiProperty({ type: [String] }) @Column({ type: 'json', nullable: true }) @Expose() tracking_numbers?: string[]; @ApiProperty() @Column({ nullable: true }) @Expose() tracking_url?: string; @ApiProperty() @Column({ nullable: true }) @Expose() return_tracking_number?: string; @ApiProperty() @Column({ nullable: true }) @Expose() bol_number?: string; @ApiProperty() @Column({ nullable: true }) @Expose() pickup_confirmation_number?: string; @ApiProperty() @Column({ nullable: true }) @Expose() customs_invoice_url?: string; @ApiProperty({ type: Object }) @Column({ type: 'json', nullable: true }) @Expose() rate?: Record; @ApiProperty() @Column({ type: 'json', nullable: true }) @Expose() labels?: Array; @ApiProperty({ example: '2022-12-12 11:11:11', description: '创建时间', required: true, }) @CreateDateColumn() @Expose() createdAt?: Date; @ApiProperty({ example: '2022-12-12 11:11:11', description: '更新时间', required: true, }) @UpdateDateColumn() @Expose() updatedAt?: Date; }