parent
97636c4c7a
commit
c1967a63ca
@ -0,0 +1,27 @@
|
|||||||
|
package useronline
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func ParseUserOnlineStatus(payload string) (string, []int32, error) {
|
||||||
|
arr := strings.Split(payload, ":")
|
||||||
|
if len(arr) == 0 {
|
||||||
|
return "", nil, errors.New("invalid data")
|
||||||
|
}
|
||||||
|
userID := arr[len(arr)-1]
|
||||||
|
if userID == "" {
|
||||||
|
return "", nil, errors.New("userID is empty")
|
||||||
|
}
|
||||||
|
platformIDs := make([]int32, len(arr)-1)
|
||||||
|
for i := range platformIDs {
|
||||||
|
platformID, err := strconv.Atoi(arr[i])
|
||||||
|
if err != nil {
|
||||||
|
return "", nil, err
|
||||||
|
}
|
||||||
|
platformIDs[i] = int32(platformID)
|
||||||
|
}
|
||||||
|
return userID, platformIDs, nil
|
||||||
|
}
|
Loading…
Reference in new issue