mirror of http://gitlab.batiao8.com/yic/film.git
75 lines
1.5 KiB
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
|
|
}
|