|
@@ -0,0 +1,63 @@
|
|
|
|
|
+package live_model
|
|
|
|
|
+
|
|
|
|
|
+import (
|
|
|
|
|
+ "fmt"
|
|
|
|
|
+ "fohow.com/cache"
|
|
|
|
|
+ "github.com/astaxie/beego"
|
|
|
|
|
+ "github.com/astaxie/beego/orm"
|
|
|
|
|
+ "time"
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+const (
|
|
|
|
|
+ live_broads_tablename = "live_broads"
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
|
|
+type LiveBroad struct {
|
|
|
|
|
+ Id int64 `orm:"column(id);pk" json:"id"` // int(11)
|
|
|
|
|
+
|
|
|
|
|
+ Title string `orm:"column(title)" json:"title"`
|
|
|
|
|
+ RoomId int64 `orm:"column(room_id)" json:"room_id"` // int(11)
|
|
|
|
|
+ Cover string `orm:"column(cover)" json:"cover"`
|
|
|
|
|
+ BeginDate time.Time `orm:"column(begin_time);null;type(datetime)" json:"begin_time"` // datetime
|
|
|
|
|
+ EndDate time.Time `orm:"column(end_time);null;type(datetime)" json:"end_time"` // datetime
|
|
|
|
|
+ Show bool `orm:"column(show);null" json:"show"` // tinyint(1)
|
|
|
|
|
+ Remark string `orm:"column(remark)" json:"cover"`
|
|
|
|
|
+ CreatedAt time.Time `orm:"column(created_at);null;auto_now_add;type(datetime)" json:"created_at,omitempty"` // datetime
|
|
|
|
|
+ UpdatedAt time.Time `orm:"column(updated_at);null;auto_now;type(datetime)" json:"updated_at,omitempty"` // datetime
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func (self *LiveBroad) TableName() string {
|
|
|
|
|
+ return live_broads_tablename
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func (self *LiveBroad) Save() error {
|
|
|
|
|
+ if _, err := orm.NewOrm().Update(self); err != nil {
|
|
|
|
|
+ beego.BeeLogger.Error("Save LiveBroad id=[%d] .err=[%s]", self.Id, err)
|
|
|
|
|
+ return err
|
|
|
|
|
+ }
|
|
|
|
|
+ return nil
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+//获取当前直播间
|
|
|
|
|
+func GetCurrentShowLive(useCache bool) *LiveBroad {
|
|
|
|
|
+
|
|
|
|
|
+ k := fmt.Sprintf("live_model.GetCurrentShowLive")
|
|
|
|
|
+ if useCache {
|
|
|
|
|
+ if s, ok := cache.Cache.Get(k).(*LiveBroad); ok {
|
|
|
|
|
+ return s
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ item := new(LiveBroad)
|
|
|
|
|
+ o := orm.NewOrm()
|
|
|
|
|
+ err := o.QueryTable(item).Filter("show", true).OrderBy("-id").Limit(1).One(item)
|
|
|
|
|
+ if err != nil {
|
|
|
|
|
+ beego.BeeLogger.Info("live_model.GetCurrentShowLive. err[%s]", err)
|
|
|
|
|
+ return nil
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if item != nil {
|
|
|
|
|
+ cache.Cache.Put(k, item, 5*time.Minute)
|
|
|
|
|
+ }
|
|
|
|
|
+ return item
|
|
|
|
|
+}
|