You need to sign in or sign up before continuing.
Commit 80e26bb7 authored by hujiebin's avatar hujiebin

批量获取用户范围上麦时长

parent a4d76c98
......@@ -118,7 +118,7 @@ func MGetGroupPower(model *domain.Model, groupPowerIds []mysql.ID) (map[mysql.ID
return res, nil
}
// 批量获取用户上麦时长
// 批量获取用户上麦时长
// param day 获取的天,格式 2006-01-02
// param tz 时区,0:北京时间 1:沙特时间
// return userId->seconds
......@@ -159,6 +159,49 @@ func MGetUserOnMic(model *domain.Model, day string, userIds []mysql.ID, tz ...ti
return res, nil
}
// 批量获取用户范围上麦时长
// param beginDate 获取的天,格式 2006-01-02
// param endDate 获取的天,格式 2006-01-02
// param tz 时区,0:北京时间 1:沙特时间
// return userId->seconds
func MGetUserOnMicRange(model *domain.Model, beginDate, endDate string, userIds []mysql.ID, tz ...timezone_e.Timezone) (map[mysql.ID]mysql.Num, error) {
type Response struct {
Code int `json:"code"`
Message string `json:"message"`
Data map[mysql.ID]mysql.Num
}
var res = make(map[mysql.ID]mysql.Num)
if len(userIds) <= 0 {
return res, nil
}
var userIdsStr []string
for _, userId := range userIds {
userIdsStr = append(userIdsStr, fmt.Sprintf("%d", userId))
}
_url := fmt.Sprintf("%v://%v/inner/mic/onMicSeconds/range", defaultGroupServerScheme, getGroupHost())
_tz := timezone_e.TimezoneBeijing
if len(tz) > 0 {
_tz = tz[0]
}
resp, err := HttpGet(model, _url, nil, map[string][]string{
"ids": userIdsStr,
"beginDate": {beginDate},
"endDate": {endDate},
"tz": {fmt.Sprintf("%d", _tz)},
})
if err != nil {
model.Log.Errorf("MGetUserOnMic fail:%v", err)
return res, err
}
response := new(Response)
if err = json.Unmarshal(resp, response); err != nil {
model.Log.Errorf("MGetUserOnMic json fail:%v", err)
return res, err
}
res = response.Data
return res, nil
}
func getGroupHost() string {
l := len(groupServerHost)
r := rand.Intn(l) // 随机一个
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment