...
 
Commits (3)
...@@ -23,9 +23,13 @@ func (g *GroupTop) Delete(model *domain.Model) error { ...@@ -23,9 +23,13 @@ func (g *GroupTop) Delete(model *domain.Model) error {
return model.Db.Where(g).Delete(&GroupTop{}).Error return model.Db.Where(g).Delete(&GroupTop{}).Error
} }
func GroupTopGetAll(model *domain.Model) ([]string, error) { func GroupTopGetAll(model *domain.Model, area int) ([]string, error) {
rows := make([]GroupTop, 0) rows := make([]GroupTop, 0)
err := model.Db.Order("id").Find(&rows).Error err := model.DB().Table("group_top").
Joins("left join group_info gi on group_top.im_group_id = gi.im_group_id "+
"left join res_country rc on gi.country = rc.name").
Where("rc.area = ?", area).
Order("group_top.id").Find(&rows).Error
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -72,6 +72,12 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) { ...@@ -72,6 +72,12 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
} }
model := domain.CreateModelContext(myContext) model := domain.CreateModelContext(myContext)
// 获取国家信息
_, area, err := user_m.GetUserCountryArea(model, myUserId)
if err != nil {
model.Log.Errorf("GetUserCountryArea 获取国家资源错误 userId:%d, err:%v", myUserId, err)
return myContext, err
}
/* 2022-06-30 老板说先不分区 /* 2022-06-30 老板说先不分区
regions, err := res_m.GetAllLangRegion(model) regions, err := res_m.GetAllLangRegion(model)
if err != nil { if err != nil {
...@@ -120,7 +126,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) { ...@@ -120,7 +126,7 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
model.Log.Infof("GetPopularGroups, micGroupNum: %v, banned %d, hidden %d,cost:%v", micGroupNum, banCount, hiddenCount, time.Now().Sub(start)) model.Log.Infof("GetPopularGroups, micGroupNum: %v, banned %d, hidden %d,cost:%v", micGroupNum, banCount, hiddenCount, time.Now().Sub(start))
// 3. 处理置顶群 // 3. 处理置顶群
topGroupIds, err := getTopGroups(model, bannedGroups, hiddenGroups) topGroupIds, err := getTopGroups(model, bannedGroups, hiddenGroups, area)
if err != nil { if err != nil {
return myContext, err return myContext, err
} }
...@@ -165,12 +171,6 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) { ...@@ -165,12 +171,6 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
//} //}
//logstr += " |" //logstr += " |"
// 获取国家信息
_, area, err := user_m.GetUserCountryArea(model, myUserId)
if err != nil {
model.Log.Errorf("GetUserCountryArea 获取国家资源错误 userId:%d, err:%v", myUserId, err)
return myContext, err
}
myArea := fmt.Sprintf("%d", area) myArea := fmt.Sprintf("%d", area)
// 国家区域信息 // 国家区域信息
resAreaMap, err := res_c.GetCountryAreaMap(model) resAreaMap, err := res_c.GetCountryAreaMap(model)
...@@ -402,8 +402,8 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) { ...@@ -402,8 +402,8 @@ func GetPopularGroups(c *gin.Context) (*mycontext.MyContext, error) {
return myContext, nil return myContext, nil
} }
func getTopGroups(model *domain.Model, bannedGroups map[string]uint64, hiddenGroups map[string]struct{}) ([]string, error) { func getTopGroups(model *domain.Model, bannedGroups map[string]uint64, hiddenGroups map[string]struct{}, area int) ([]string, error) {
topGroups, err := group_m.GroupTopGetAll(model) topGroups, err := group_m.GroupTopGetAll(model, area)
if err != nil { if err != nil {
return nil, err return nil, err
} }
......