|
@@ -71,7 +71,7 @@ func GetCurrentShowLive(useCache bool) *LiveBroad {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//获取最直播列表
|
|
//获取最直播列表
|
|
|
-func GetLatest(page, perPage, recommend, depart int64, useCache bool) (list []*LiveBroad) {
|
|
|
|
|
|
|
+func GetLatest(page, perPage, recommend, depart, rank int64, useCache bool) (list []*LiveBroad) {
|
|
|
k := fmt.Sprintf("LiveBroad_model.GetLatest.page(%d).perPage(%d).recommend(%d).depart(%d)", page, perPage, recommend, depart)
|
|
k := fmt.Sprintf("LiveBroad_model.GetLatest.page(%d).perPage(%d).recommend(%d).depart(%d)", page, perPage, recommend, depart)
|
|
|
if useCache {
|
|
if useCache {
|
|
|
if ret, ok := cache.Cache.Get(k).([]*LiveBroad); ok {
|
|
if ret, ok := cache.Cache.Get(k).([]*LiveBroad); ok {
|
|
@@ -81,13 +81,14 @@ func GetLatest(page, perPage, recommend, depart int64, useCache bool) (list []*L
|
|
|
sql := `
|
|
sql := `
|
|
|
select a.* from
|
|
select a.* from
|
|
|
live_broads a left join depart_records_live_broads b on a.id=b.live_broad_id
|
|
live_broads a left join depart_records_live_broads b on a.id=b.live_broad_id
|
|
|
- where a.recommend > ? and b.depart_record_id=? order by recommend desc, created_at desc limit %d, %d ;
|
|
|
|
|
|
|
+ where a.recommend > ? and b.depart_record_id=? and (find_in_set(?,rank_strs) or rank_strs="" )
|
|
|
|
|
+ order by recommend desc, created_at desc limit %d, %d ;
|
|
|
`
|
|
`
|
|
|
sql = fmt.Sprintf(sql, (page-1)*perPage, perPage)
|
|
sql = fmt.Sprintf(sql, (page-1)*perPage, perPage)
|
|
|
|
|
|
|
|
//beego.BeeLogger.Warn("sql=%s", sql)
|
|
//beego.BeeLogger.Warn("sql=%s", sql)
|
|
|
|
|
|
|
|
- _, err := orm.NewOrm().Raw(sql, recommend, depart).QueryRows(&list)
|
|
|
|
|
|
|
+ _, err := orm.NewOrm().Raw(sql, recommend, depart, rank).QueryRows(&list)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
beego.BeeLogger.Warn("live_model.GetLatest(%d) err=%s", depart, err)
|
|
beego.BeeLogger.Warn("live_model.GetLatest(%d) err=%s", depart, err)
|
|
|
return nil
|
|
return nil
|
|
@@ -108,7 +109,7 @@ func GetLatest(page, perPage, recommend, depart int64, useCache bool) (list []*L
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//获取部门直播间总数
|
|
//获取部门直播间总数
|
|
|
-func GetLatestCount(recommend, depart int64) int64 {
|
|
|
|
|
|
|
+func GetLatestCount(recommend, depart, rank int64) int64 {
|
|
|
type Ret struct {
|
|
type Ret struct {
|
|
|
Count int64 `json:"count"` //人数
|
|
Count int64 `json:"count"` //人数
|
|
|
}
|
|
}
|
|
@@ -117,9 +118,9 @@ func GetLatestCount(recommend, depart int64) int64 {
|
|
|
sql := `
|
|
sql := `
|
|
|
select count(DISTINCT a.id) as count from
|
|
select count(DISTINCT a.id) as count from
|
|
|
live_broads a left join depart_records_live_broads b on a.id=b.live_broad_id
|
|
live_broads a left join depart_records_live_broads b on a.id=b.live_broad_id
|
|
|
- where a.recommend > ? and b.depart_record_id=? ;
|
|
|
|
|
|
|
+ where a.recommend > ? and b.depart_record_id=? and (find_in_set(?,rank_strs) or rank_strs="" ) ;
|
|
|
`
|
|
`
|
|
|
- err := o.Raw(sql, recommend, depart).QueryRow(ret)
|
|
|
|
|
|
|
+ err := o.Raw(sql, recommend, depart, rank).QueryRow(ret)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
beego.BeeLogger.Error("GetLatestCount, depart:%d, err=[%s]", depart, err)
|
|
beego.BeeLogger.Error("GetLatestCount, depart:%d, err=[%s]", depart, err)
|
|
|
return 0
|
|
return 0
|