film/model/orders.go

75 lines
1.5 KiB
Go

package model
import (
"fmt"
"github.com/smbrave/goutil"
"gorm.io/gorm"
"time"
)
var (
tableNameOrder = "orders"
)
type Order struct {
Id int64
OrderId 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.OrderId, 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
}