You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.3 KiB
51 lines
1.3 KiB
package dao |
|
|
|
import ( |
|
"context" |
|
"net/url" |
|
|
|
"go-common/app/admin/main/videoup-task/model" |
|
"go-common/library/log" |
|
"go-common/library/xstr" |
|
) |
|
|
|
//UPGroups get all the up groups |
|
func (d *Dao) UPGroups(c context.Context, mids []int64) (groups map[int64][]*model.UPGroup, err error) { |
|
val := url.Values{} |
|
mid := xstr.JoinInts(mids) |
|
val.Set("mids", mid) |
|
val.Set("group_id", "0") |
|
|
|
groups = map[int64][]*model.UPGroup{} |
|
for _, mid := range mids { |
|
groups[mid] = []*model.UPGroup{} |
|
} |
|
|
|
var res struct { |
|
Code int `json:"code"` |
|
Data struct { |
|
Items []map[string]interface{} `json:"items"` |
|
} |
|
} |
|
if err = d.hclient.Get(c, d.upGroupURL, "", val, &res); err != nil { |
|
log.Error("UPGroups url(%s) error(%v)", d.upGroupURL+"?"+val.Encode(), err) |
|
return |
|
} |
|
if res.Code != 0 || res.Data.Items == nil { |
|
log.Warn("UPGroups code(%d) !=0 or empty url(%s) error(%v)", res.Code, d.upGroupURL+"?"+val.Encode(), res.Code) |
|
return |
|
} |
|
for _, item := range res.Data.Items { |
|
g := &model.UPGroup{ |
|
ID: int64(item["group_id"].(float64)), |
|
Tag: item["group_name"].(string), |
|
ShortTag: item["group_tag"].(string), |
|
FontColor: item["font_color"].(string), |
|
BgColor: item["bg_color"].(string), |
|
Note: item["note"].(string), |
|
} |
|
mid := int64(item["mid"].(float64)) |
|
groups[mid] = append(groups[mid], g) |
|
} |
|
return |
|
}
|
|
|