package model import ( "fmt" "github.com/smbrave/goutil" "gorm.io/gorm" "time" ) var ( tableNameOrder = "orders" ) type Order struct { Id int64 OrderNo string StartTime string StartDate string TotalPrice int64 PayPrice int64 MinPrice int64 MaxPrice int64 MaoyanPrice int64 SeatNum int Seats string ShowTime int64 PayTime int64 OrderCreateTime int64 CityName string ProvinceName string Ting string CinemaName string MovieName string Address string Count int IsSeat int LoverSeat int CreateDate string CreateTime int64 UpdateTime int64 } func (o *Order) String() string { return fmt.Sprintf("{%s|%d} city={%s} cinema={%s} film={%s} ting={%s} show={%s}", o.OrderNo, o.Id, o.CityName, o.CinemaName, o.MovieName, o.Ting, goutil.TimeToDateTime(o.ShowTime)) } func AddOrder(o *Order) (int64, error) { o.CreateTime = time.Now().Unix() o.CreateDate = time.Now().Format("2006-01-02") res := db.Table(tableNameOrder).Create(o) return o.Id, res.Error } func GetOrder(id int64) (*Order, error) { var u Order tx := db.Table(tableNameOrder) tx = tx.Where("id = ?", id) res := tx.First(&u) if res.Error == gorm.ErrRecordNotFound { return nil, nil } if res.Error != nil { return nil, res.Error } return &u, nil } func UpdateOrder(o *Order) error { o.UpdateTime = time.Now().Unix() tx := db.Table(tableNameOrder) res := tx.Save(o) return res.Error }