abiao лет назад: 4
Родитель
Сommit
616c3cfbc7

+ 10 - 3
go/gopath/src/fohow.com/apps/controllers/live_controller/live_controller.go

@@ -5,6 +5,7 @@ import (
 	// "strings"
 	// "strings"
 
 
 	"fohow.com/apps/models/live_model"
 	"fohow.com/apps/models/live_model"
+	"fohow.com/apps/models/user_model"
 	"github.com/astaxie/beego/context"
 	"github.com/astaxie/beego/context"
 	"time"
 	"time"
 
 
@@ -42,7 +43,6 @@ func (self *LiveController) Latest() {
 	page, _ := self.GetInt64("page")
 	page, _ := self.GetInt64("page")
 	perPage, _ := self.GetInt64("per_page")
 	perPage, _ := self.GetInt64("per_page")
 	cache, _ := self.GetBool("cache", false)
 	cache, _ := self.GetBool("cache", false)
-	ptype := self.GetString("ptype")
 
 
 	if page <= 0 {
 	if page <= 0 {
 		page = 1
 		page = 1
@@ -56,8 +56,15 @@ func (self *LiveController) Latest() {
 		ListCount int64                   `json:"list_count"`
 		ListCount int64                   `json:"list_count"`
 	}
 	}
 
 
-	lives := live_model.GetLatest(page, perPage, recommend, cache)
-	count := live_model.GetLatestCount(recommend, ptype, cache)
+	wxUId := self.GetCurrentWxUserId()
+
+	wxUser := user_model.GetWxUserById(wxUId, false)
+	if wxUser == nil {
+		self.ReturnError(403, apps.NoExist, "", nil)
+	}
+
+	lives := live_model.GetLatest(page, perPage, recommend, wxUser.Depart, cache)
+	count := live_model.GetLatestCount(recommend, wxUser.Depart)
 	timeNowUnix := time.Now().Unix()
 	timeNowUnix := time.Now().Unix()
 	for _, live := range lives {
 	for _, live := range lives {
 		//beego.BeeLogger.Warn("live_timeNowUnix: %d", timeNowUnix)
 		//beego.BeeLogger.Warn("live_timeNowUnix: %d", timeNowUnix)

+ 0 - 26
go/gopath/src/fohow.com/apps/controllers/order_controller/order_controller.go

@@ -14,7 +14,6 @@ import (
 	"fohow.com/apps"
 	"fohow.com/apps"
 
 
 	"fohow.com/apps/models/balance_model"
 	"fohow.com/apps/models/balance_model"
-	"fohow.com/apps/models/merchant_model"
 	"fohow.com/apps/models/order_model"
 	"fohow.com/apps/models/order_model"
 	"fohow.com/apps/models/product_model"
 	"fohow.com/apps/models/product_model"
 	"fohow.com/apps/models/user_model"
 	"fohow.com/apps/models/user_model"
@@ -716,31 +715,6 @@ func (self *OrderController) Operate() {
 	self.ServeJSON()
 	self.ServeJSON()
 }
 }
 
 
-// 商家处理中订单数量提示
-func (self *OrderController) MerchantListCount() {
-	merchantId, _ := self.GetInt64("merchant_id", 0)
-
-	uId := self.GetCurrentUserId()
-
-	count := int64(0)
-	merchantUser := merchant_model.GetMerchantUserRelationByUserId(uId, true)
-	if merchantUser != nil {
-		if merchantUser.MerchantId != merchantId {
-			self.ReturnError(403, apps.ParamsError, "", nil)
-		}
-	} else {
-		self.ReturnError(403, apps.ParamsError, "", nil)
-	}
-	count = order_model.GetMerchantOrdersCount(merchantId, 0, 0, 0, 0, order_model.STATUS_PROCESSING, "",
-		strings.TrimSpace(merchantUser.ManageProductIds), "", "", "", "", "", "")
-
-	type Ret struct {
-		ListCount int64 `json:"list_count"`
-	}
-	self.Data["json"] = &Ret{ListCount: count}
-	self.ServeJSON()
-}
-
 func CreateOrderDetails(product *product_model.Product, order *order_model.Order, cNums, depart int64) {
 func CreateOrderDetails(product *product_model.Product, order *order_model.Order, cNums, depart int64) {
 	//获取商品属性详情
 	//获取商品属性详情
 	sizeName := ""
 	sizeName := ""

+ 37 - 19
go/gopath/src/fohow.com/apps/models/live_model/live_broad.go

@@ -71,19 +71,29 @@ func GetCurrentShowLive(useCache bool) *LiveBroad {
 }
 }
 
 
 //获取最直播列表
 //获取最直播列表
-func GetLatest(page, perPage, recommend int64, useCache bool) (LiveBroads []*LiveBroad) {
-	k := fmt.Sprintf("LiveBroad_model.GetLatest.page(%d).perPage(%d).recommend(%d)", page, perPage, recommend)
+func GetLatest(page, perPage, recommend, depart int64, useCache bool) (list []*LiveBroad) {
+	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 {
 			return ret
 			return ret
 		}
 		}
 	}
 	}
-	o := orm.NewOrm()
-	_, err := o.QueryTable(new(LiveBroad)).Filter("recommend__gt", recommend).OrderBy("-recommend", "-created_at").Limit(perPage, (page-1)*perPage).All(&LiveBroads)
+	sql := `
+		select a.* from
+		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=? limit %d, %d order by recommend desc, created_at desc ; 
+		`
+	sql = fmt.Sprintf(sql, page, perPage)
+
+	beego.BeeLogger.Warn("sql=%s", sql)
+
+	_, err := orm.NewOrm().Raw(sql, recommend, depart).QueryRows(&list)
 	if err != nil {
 	if err != nil {
-		beego.BeeLogger.Debug("GetLatest err=%s", err)
+		beego.BeeLogger.Warn("live_model.GetLatest(%d) err=%s", depart, err)
+		return nil
 	}
 	}
-	for _, pd := range LiveBroads {
+
+	for _, pd := range list {
 		pd.Cover = GetCdnFullImgUrl(pd.Cover)
 		pd.Cover = GetCdnFullImgUrl(pd.Cover)
 		pd.BeginTimeFomat = pd.BeginDate.Format("1-02 15:04")
 		pd.BeginTimeFomat = pd.BeginDate.Format("1-02 15:04")
 		pd.EndTimeFomat = pd.EndDate.Format("1-02 15:04")
 		pd.EndTimeFomat = pd.EndDate.Format("1-02 15:04")
@@ -93,21 +103,29 @@ func GetLatest(page, perPage, recommend int64, useCache bool) (LiveBroads []*Liv
 		pd.EndHourFomat = pd.EndDate.Format("15:04")
 		pd.EndHourFomat = pd.EndDate.Format("15:04")
 
 
 	}
 	}
-	cache.Cache.Put(k, LiveBroads, 10*time.Minute)
-	return LiveBroads
+	cache.Cache.Put(k, list, 10*time.Minute)
+	return list
 }
 }
 
 
-func GetLatestCount(recommend int64, ptype string, useCache bool) int64 {
-	k := fmt.Sprintf("LiveBroad_model.GetLatestCount.recommend(%d)", recommend)
-	if useCache {
-		if ret, ok := cache.Cache.Get(k).(int64); ok {
-			return ret
-		}
+//获取部门直播间总数
+func GetLatestCount(recommend, depart int64) int64 {
+	type Ret struct {
+		Count int64 `json:"count"` //人数
 	}
 	}
-	item := new(LiveBroad)
+	ret := &Ret{}
 	o := orm.NewOrm()
 	o := orm.NewOrm()
-	count, _ := o.QueryTable(item).Filter("recommend__gt", recommend).Count()
-
-	cache.Cache.Put(k, count, 10*time.Minute)
-	return count
+	sql := `
+		select a.* from
+		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=?  ; 
+		`
+	err := o.Raw(sql, recommend, depart).QueryRow(ret)
+	if err != nil {
+		beego.BeeLogger.Error("GetLatestCount, depart:%d, err=[%s]", depart, err)
+		return 0
+	}
+	if ret.Count < 0 {
+		return 0
+	}
+	return ret.Count
 }
 }