package gmodel

import (
	"gorm.io/gorm"
	"time"
)

// fs_deliver 发货表  云仓 直发 通用(已废弃)
type FsDeliver struct {
	Id                 int64      `gorm:"primary_key;default:0;auto_increment;" json:"id"`  //
	Type               *int64     `gorm:"default:0;" json:"type"`                           // 1直接发货,2云仓发货
	UserId             *int64     `gorm:"index;default:0;" json:"user_id"`                  // 用户ID
	AdminId            *int64     `gorm:"index;default:0;" json:"admin_id"`                 // 操作人id
	Fee                *int64     `gorm:"default:0;" json:"fee"`                            // 运费价格
	Tel                *string    `gorm:"default:'';" json:"tel"`                           // 电话
	DeliveryType       *int64     `gorm:"default:0;" json:"delivery_type"`                  // 发货公司
	AddressId          *int64     `gorm:"index;default:0;" json:"address_id"`               // 地址id
	AddressInfo        *string    `gorm:"default:'';" json:"address_info"`                  // 地址信息
	Ctime              *int64     `gorm:"default:0;" json:"ctime"`                          //
	OrderId            *int64     `gorm:"default:0;" json:"order_id"`                       // 云仓发货order_id为0
	WarehouseDeliverSn *string    `gorm:"index;default:'';" json:"warehouse_deliver_sn"`    //
	IsConfirm          *int64     `gorm:"default:0;" json:"is_confirm"`                     // 0未确认 1已确认
	IsDeliver          *int64     `gorm:"default:0;" json:"is_deliver"`                     // 0未发货 1已发货
	IsPort             *int64     `gorm:"default:0;" json:"is_port"`                        // 是否到达港口 0未到达 1:已到达
	IsPickUp           *int64     `gorm:"default:0;" json:"is_pick_up"`                     // 美国运输是否已收货 0:未提货 1:已提货
	IsEnd              *int64     `gorm:"default:0;" json:"is_end"`                         // 0未收货 1已签收
	Status             *int64     `gorm:"default:0;" json:"status"`                         // 状态值:(0:默认未确认,1:已确认,2:已发货,3:到港口,4:运输中,5:已签收)
	ConfirmAt          *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"confirm_at"` //
	DeliverAt          *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"deliver_at"` //
	PortAt             *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"port_at"`    //
	PickUpAt           *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"pick_up_at"` //
	EndAt              *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"end_at"`     //
	FirstDeliverSn     *string    `gorm:"index;default:'';" json:"first_deliver_sn"`        //
	TwoDeliverSn       *string    `gorm:"index;default:'';" json:"two_deliver_sn"`          //
	TsTime             *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"ts_time"`    //
}
type FsDeliverModel struct {
	db   *gorm.DB
	name string
}

func NewFsDeliverModel(db *gorm.DB) *FsDeliverModel {
	return &FsDeliverModel{db: db, name: "fs_deliver"}
}