| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, ManyToOne, JoinColumn } from 'typeorm';
- import { UserEntity as User } from '@d8d/user-module';
- import { Merchant } from '@d8d/merchant-module';
- import { Supplier } from '@d8d/supplier-module';
- import { DeliveryAddress } from '@d8d/delivery-address-module';
- @Entity('orders')
- export class Order {
- @PrimaryGeneratedColumn({ unsigned: true })
- id!: number;
- @Column({ name: 'order_no', type: 'varchar', length: 50, unique: true, comment: '订单号' })
- orderNo!: string;
- @Column({ name: 'user_id', type: 'int', unsigned: true, comment: '用户ID' })
- userId!: number;
- @Column({ name: 'auth_code', type: 'varchar', length: 32, nullable: true, comment: '付款码' })
- authCode!: string | null;
- @Column({ name: 'card_no', type: 'varchar', length: 32, nullable: true, comment: '卡号' })
- cardNo!: string | null;
- @Column({ name: 'sjt_card_no', type: 'varchar', length: 32, nullable: true, comment: '盛京通卡号' })
- sjtCardNo!: string | null;
- @Column({ name: 'amount', type: 'decimal', precision: 10, scale: 2, default: 0.00, comment: '订单金额' })
- amount!: number;
- @Column({ name: 'cost_amount', type: 'decimal', precision: 10, scale: 2, default: 0.00, comment: '成本金额' })
- costAmount!: number;
- @Column({ name: 'freight_amount', type: 'decimal', precision: 10, scale: 2, default: 0.00, comment: '运费' })
- freightAmount!: number;
- @Column({ name: 'discount_amount', type: 'decimal', precision: 10, scale: 2, default: 0.00, comment: '优惠金额' })
- discountAmount!: number;
- @Column({ name: 'pay_amount', type: 'decimal', precision: 10, scale: 2, default: 0.00, comment: '实际支付金额' })
- payAmount!: number;
- @Column({ name: 'device_no', type: 'varchar', length: 255, nullable: true, comment: '设备编号' })
- deviceNo!: string | null;
- @Column({ name: 'description', type: 'varchar', length: 255, nullable: true, comment: '订单描述' })
- description!: string | null;
- @Column({ name: 'goods_detail', type: 'varchar', length: 2000, nullable: true, comment: '订单详情 json' })
- goodsDetail!: string | null;
- @Column({ name: 'goods_tag', type: 'varchar', length: 255, nullable: true, comment: '订单优惠标记' })
- goodsTag!: string | null;
- @Column({ name: 'address', type: 'varchar', length: 255, nullable: true, comment: '地址' })
- address!: string | null;
- @Column({ name: 'order_type', type: 'int', default: 1, comment: '订单类型 1实物订单 2虚拟订单' })
- orderType!: number;
- @Column({ name: 'pay_type', type: 'int', default: 0, comment: '支付类型1积分2礼券' })
- payType!: number;
- @Column({ name: 'pay_state', type: 'int', default: 0, comment: '0未支付1支付中2支付成功3已退款4支付失败5订单关闭' })
- payState!: number;
- @Column({ name: 'state', type: 'int', default: 0, comment: '订单状态0未发货1已发货2收货成功3已退货' })
- state!: number;
- @Column({ name: 'user_phone', type: 'varchar', length: 50, nullable: true, comment: '用户手机号' })
- userPhone!: string | null;
- @Column({ name: 'merchant_id', type: 'int', unsigned: true, default: 0, comment: '商户id' })
- merchantId!: number;
- @Column({ name: 'merchant_no', type: 'int', unsigned: true, nullable: true, comment: '商户号' })
- merchantNo!: number | null;
- @Column({ name: 'supplier_id', type: 'int', unsigned: true, default: 0, comment: '供货商id' })
- supplierId!: number;
- @Column({ name: 'address_id', type: 'int', unsigned: true, default: 0, comment: '地址id' })
- addressId!: number;
- @Column({ name: 'receiver_mobile', type: 'varchar', length: 255, nullable: true, comment: '收货人手机号' })
- receiverMobile!: string | null;
- @Column({ name: 'recevier_name', type: 'varchar', length: 255, nullable: true, comment: '收货人姓名' })
- recevierName!: string | null;
- @Column({ name: 'recevier_province', type: 'bigint', default: 0, comment: '收货人所在省' })
- recevierProvince!: number;
- @Column({ name: 'recevier_city', type: 'bigint', default: 0, comment: '收货人所在市' })
- recevierCity!: number;
- @Column({ name: 'recevier_district', type: 'bigint', default: 0, comment: '收货人所在区' })
- recevierDistrict!: number;
- @Column({ name: 'recevier_town', type: 'bigint', default: 0, comment: '收货人所在街道' })
- recevierTown!: number;
- @Column({ name: 'refund_time', type: 'timestamp', nullable: true, comment: '退款时间' })
- refundTime!: Date | null;
- @Column({ name: 'close_time', type: 'timestamp', nullable: true, comment: '订单关闭时间' })
- closeTime!: Date | null;
- @Column({ name: 'remark', type: 'varchar', length: 255, nullable: true, comment: '管理员备注信息' })
- remark!: 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;
- // 关联关系
- @ManyToOne(() => User)
- @JoinColumn({ name: 'user_id', referencedColumnName: 'id' })
- user!: User;
- @ManyToOne(() => Merchant)
- @JoinColumn({ name: 'merchant_id', referencedColumnName: 'id' })
- merchant!: Merchant;
- @ManyToOne(() => Supplier)
- @JoinColumn({ name: 'supplier_id', referencedColumnName: 'id' })
- supplier!: Supplier;
- @ManyToOne(() => DeliveryAddress)
- @JoinColumn({ name: 'address_id', referencedColumnName: 'id' })
- deliveryAddress!: DeliveryAddress;
- }
|