mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-27 03:58:55 +08:00
Refactor code
This commit is contained in:
parent
e964ff0b70
commit
0fce4c6177
@ -10,12 +10,13 @@ import (
|
|||||||
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
open_im_sdk "Open_IM/pkg/proto/sdk_ws"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/golang/protobuf/jsonpb"
|
|
||||||
"github.com/golang/protobuf/proto"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
jsonData "Open_IM/internal/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
func KickGroupMember(c *gin.Context) {
|
func KickGroupMember(c *gin.Context) {
|
||||||
@ -167,56 +168,28 @@ func GetGroupAllMemberList(c *gin.Context) {
|
|||||||
memberListResp.MemberList = []*open_im_sdk.GroupMemberFullInfo{}
|
memberListResp.MemberList = []*open_im_sdk.GroupMemberFullInfo{}
|
||||||
}
|
}
|
||||||
|
|
||||||
jsm := &jsonpb.Marshaler{
|
//jsm := &jsonpb.Marshaler{
|
||||||
OrigName: true,
|
// OrigName: true,
|
||||||
EnumsAsInts: false,
|
// EnumsAsInts: false,
|
||||||
EmitDefaults: true,
|
// EmitDefaults: true,
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
|
//if len(memberListResp.MemberList) > 0 {
|
||||||
|
// for _, v := range memberListResp.MemberList {
|
||||||
|
// s, err := jsm.MarshalToString(v)
|
||||||
|
// log.NewDebug(req.OperationID, "MarshalToString ", s, err)
|
||||||
|
// m := ProtoToMap(memberListResp.MemberList[0], false)
|
||||||
|
// log.NewDebug(req.OperationID, "mmm ", m)
|
||||||
|
// memberListResp.Test = append(memberListResp.Test, m)
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
|
||||||
if len(memberListResp.MemberList) > 0 {
|
memberListResp.Test = jsonData.JsonDataList(memberListResp.MemberList)
|
||||||
for _, v := range memberListResp.MemberList {
|
|
||||||
s, err := jsm.MarshalToString(v)
|
|
||||||
log.NewDebug(req.OperationID, "MarshalToString ", s, err)
|
|
||||||
m := ProtoToMap(memberListResp.MemberList[0], false)
|
|
||||||
log.NewDebug(req.OperationID, "mmm ", m)
|
|
||||||
memberListResp.Test = append(memberListResp.Test, m)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
memberListResp.Test = JsonData(memberListResp.MemberList)
|
|
||||||
log.NewInfo(req.OperationID, "GetGroupAllMember api return ", memberListResp)
|
log.NewInfo(req.OperationID, "GetGroupAllMember api return ", memberListResp)
|
||||||
c.JSON(http.StatusOK, memberListResp)
|
c.JSON(http.StatusOK, memberListResp)
|
||||||
}
|
}
|
||||||
|
|
||||||
func JsonData(resp interface{}) []map[string]interface{} {
|
|
||||||
var result []map[string]interface{}
|
|
||||||
for _, v := range resp.([]proto.Message) {
|
|
||||||
m := ProtoToMap(v.(proto.Message), false)
|
|
||||||
result = append(result, m)
|
|
||||||
}
|
|
||||||
return result
|
|
||||||
}
|
|
||||||
|
|
||||||
func ProtoToMap(pb proto.Message, idFix bool) map[string]interface{} {
|
|
||||||
marshaler := jsonpb.Marshaler{
|
|
||||||
OrigName: true,
|
|
||||||
EnumsAsInts: false,
|
|
||||||
EmitDefaults: true,
|
|
||||||
}
|
|
||||||
|
|
||||||
s, _ := marshaler.MarshalToString(pb)
|
|
||||||
out := make(map[string]interface{})
|
|
||||||
json.Unmarshal([]byte(s), &out)
|
|
||||||
if idFix {
|
|
||||||
if _, ok := out["id"]; ok {
|
|
||||||
out["_id"] = out["id"]
|
|
||||||
delete(out, "id")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return out
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetJoinedGroupList(c *gin.Context) {
|
func GetJoinedGroupList(c *gin.Context) {
|
||||||
params := api.GetJoinedGroupListReq{}
|
params := api.GetJoinedGroupListReq{}
|
||||||
if err := c.BindJSON(¶ms); err != nil {
|
if err := c.BindJSON(¶ms); err != nil {
|
||||||
|
39
internal/utils/utils.go
Normal file
39
internal/utils/utils.go
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
package utils
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"github.com/golang/protobuf/jsonpb"
|
||||||
|
"github.com/golang/protobuf/proto"
|
||||||
|
)
|
||||||
|
|
||||||
|
func JsonDataList(resp interface{}) []map[string]interface{} {
|
||||||
|
result := make([]map[string]interface{}, 0)
|
||||||
|
for _, v := range resp.([]proto.Message) {
|
||||||
|
m := ProtoToMap(v.(proto.Message), false)
|
||||||
|
result = append(result, m)
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func JsonDataOne(pb proto.Message) map[string]interface{} {
|
||||||
|
return ProtoToMap(pb, false)
|
||||||
|
}
|
||||||
|
|
||||||
|
func ProtoToMap(pb proto.Message, idFix bool) map[string]interface{} {
|
||||||
|
marshaler := jsonpb.Marshaler{
|
||||||
|
OrigName: true,
|
||||||
|
EnumsAsInts: false,
|
||||||
|
EmitDefaults: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
s, _ := marshaler.MarshalToString(pb)
|
||||||
|
out := make(map[string]interface{})
|
||||||
|
json.Unmarshal([]byte(s), &out)
|
||||||
|
if idFix {
|
||||||
|
if _, ok := out["id"]; ok {
|
||||||
|
out["_id"] = out["id"]
|
||||||
|
delete(out, "id")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
@ -69,8 +69,8 @@ type GetGroupAllMemberReq struct {
|
|||||||
}
|
}
|
||||||
type GetGroupAllMemberResp struct {
|
type GetGroupAllMemberResp struct {
|
||||||
CommResp
|
CommResp
|
||||||
MemberList []*open_im_sdk.GroupMemberFullInfo `json:"data"`
|
MemberList []*open_im_sdk.GroupMemberFullInfo
|
||||||
Test []map[string]interface{} `json:"data2"`
|
Test []map[string]interface{} `json:"data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type CreateGroupReq struct {
|
type CreateGroupReq struct {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user