mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-26 11:36:44 +08:00
add management interface
This commit is contained in:
parent
68eaa51ebe
commit
66c1b19696
@ -117,6 +117,7 @@ push:
|
|||||||
accessID: 111
|
accessID: 111
|
||||||
secretKey: 111
|
secretKey: 111
|
||||||
|
|
||||||
|
appmanageruid: "openIM123456"
|
||||||
secret: tuoyun
|
secret: tuoyun
|
||||||
|
|
||||||
multiloginpolicy:
|
multiloginpolicy:
|
||||||
|
@ -11,10 +11,11 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/*
|
||||||
type paramsAddBlackList struct {
|
type paramsAddBlackList struct {
|
||||||
OperationID string `json:"operationID" binding:"required"`
|
OperationID string `json:"operationID" binding:"required"`
|
||||||
UID string `json:"uid" binding:"required"`
|
UID string `json:"uid" binding:"required"`
|
||||||
}
|
}*/
|
||||||
|
|
||||||
func AddBlacklist(c *gin.Context) {
|
func AddBlacklist(c *gin.Context) {
|
||||||
log.Info("", "", "api add blacklist init ....")
|
log.Info("", "", "api add blacklist init ....")
|
||||||
@ -32,6 +33,7 @@ func AddBlacklist(c *gin.Context) {
|
|||||||
Uid: params.UID,
|
Uid: params.UID,
|
||||||
OperationID: params.OperationID,
|
OperationID: params.OperationID,
|
||||||
Token: c.Request.Header.Get("token"),
|
Token: c.Request.Header.Get("token"),
|
||||||
|
OwnerUid: params.OwnerUid,
|
||||||
}
|
}
|
||||||
log.Info(req.Token, req.OperationID, "api add blacklist is server:userID=%s", req.Uid)
|
log.Info(req.Token, req.OperationID, "api add blacklist is server:userID=%s", req.Uid)
|
||||||
RpcResp, err := client.AddBlacklist(context.Background(), req)
|
RpcResp, err := client.AddBlacklist(context.Background(), req)
|
||||||
|
@ -11,18 +11,54 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type paramsImportFriendReq struct {
|
||||||
|
OperationID string `json:"operationID" binding:"required"`
|
||||||
|
UID string `json:"uid" binding:"required"`
|
||||||
|
OwnerUid string `json:"ownerUid"`
|
||||||
|
}
|
||||||
|
|
||||||
type paramsAddFriend struct {
|
type paramsAddFriend struct {
|
||||||
OperationID string `json:"operationID" binding:"required"`
|
OperationID string `json:"operationID" binding:"required"`
|
||||||
UID string `json:"uid" binding:"required"`
|
UID string `json:"uid" binding:"required"`
|
||||||
ReqMessage string `json:"reqMessage"`
|
ReqMessage string `json:"reqMessage"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
func ImportFriend(c *gin.Context) {
|
||||||
|
log.Info("", "", "ImportFriend init ....")
|
||||||
|
|
||||||
|
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImFriendName)
|
||||||
|
client := pbFriend.NewFriendClient(etcdConn)
|
||||||
|
|
||||||
|
params := paramsImportFriendReq{}
|
||||||
|
if err := c.BindJSON(¶ms); err != nil {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
req := &pbFriend.ImportFriendReq{
|
||||||
|
Uid: params.UID,
|
||||||
|
OperationID: params.OperationID,
|
||||||
|
OwnerUid: params.OwnerUid,
|
||||||
|
Token: c.Request.Header.Get("token"),
|
||||||
|
}
|
||||||
|
log.Info(req.Token, req.OperationID, "api add friend is server")
|
||||||
|
RpcResp, err := client.ImportFriend(context.Background(), req)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(req.Token, req.OperationID, "err=%s,ImportFriend failed", err)
|
||||||
|
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "cImportFriend failed"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.InfoByArgs("ImportFriend success,args=%s", RpcResp.String())
|
||||||
|
resp := gin.H{"errCode": RpcResp.ErrorCode, "errMsg": RpcResp.ErrorMsg}
|
||||||
|
c.JSON(http.StatusOK, resp)
|
||||||
|
log.InfoByArgs("ImportFriend success return,get args=%s,return args=%s", req.String(), RpcResp.String())
|
||||||
|
}
|
||||||
|
|
||||||
func AddFriend(c *gin.Context) {
|
func AddFriend(c *gin.Context) {
|
||||||
log.Info("", "", "api add friend init ....")
|
log.Info("", "", "api add friend init ....")
|
||||||
|
|
||||||
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImFriendName)
|
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImFriendName)
|
||||||
client := pbFriend.NewFriendClient(etcdConn)
|
client := pbFriend.NewFriendClient(etcdConn)
|
||||||
//defer etcdConn.Close()
|
|
||||||
|
|
||||||
params := paramsAddFriend{}
|
params := paramsAddFriend{}
|
||||||
if err := c.BindJSON(¶ms); err != nil {
|
if err := c.BindJSON(¶ms); err != nil {
|
||||||
|
@ -15,6 +15,7 @@ import (
|
|||||||
type paramsSearchFriend struct {
|
type paramsSearchFriend struct {
|
||||||
OperationID string `json:"operationID" binding:"required"`
|
OperationID string `json:"operationID" binding:"required"`
|
||||||
UID string `json:"uid" binding:"required"`
|
UID string `json:"uid" binding:"required"`
|
||||||
|
OwnerUid string `json:"ownerUid"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetFriendsInfo(c *gin.Context) {
|
func GetFriendsInfo(c *gin.Context) {
|
||||||
|
204
src/api/manage/management_chat.go
Normal file
204
src/api/manage/management_chat.go
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
/*
|
||||||
|
** description("").
|
||||||
|
** copyright('open-im,www.open-im.io').
|
||||||
|
** author("fg,Gordon@tuoyun.net").
|
||||||
|
** time(2021/9/15 15:23).
|
||||||
|
*/
|
||||||
|
package manage
|
||||||
|
|
||||||
|
import (
|
||||||
|
"Open_IM/src/common/config"
|
||||||
|
"Open_IM/src/common/constant"
|
||||||
|
"Open_IM/src/common/log"
|
||||||
|
"Open_IM/src/grpc-etcdv3/getcdv3"
|
||||||
|
pbChat "Open_IM/src/proto/chat"
|
||||||
|
"Open_IM/src/utils"
|
||||||
|
"context"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/go-playground/validator/v10"
|
||||||
|
"github.com/mitchellh/mapstructure"
|
||||||
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
var validate *validator.Validate
|
||||||
|
|
||||||
|
type paramsManagementSendMsg struct {
|
||||||
|
OperationID string `json:"operationID" binding:"required"`
|
||||||
|
SendID string `json:"sendID" binding:"required"`
|
||||||
|
RecvID string `json:"recvID" binding:"required"`
|
||||||
|
SenderNickName string `json:"senderNickName" `
|
||||||
|
SenderFaceURL string `json:"senderFaceURL" `
|
||||||
|
ForceList []string `json:"forceList" `
|
||||||
|
Content map[string]interface{} `json:"content" binding:"required"`
|
||||||
|
ContentType int32 `json:"contentType" binding:"required"`
|
||||||
|
SessionType int32 `json:"sessionType" binding:"required"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func newUserSendMsgReq(token string, params *paramsManagementSendMsg) *pbChat.UserSendMsgReq {
|
||||||
|
var newContent string
|
||||||
|
switch params.ContentType {
|
||||||
|
case constant.Text:
|
||||||
|
newContent = params.Content["text"].(string)
|
||||||
|
case constant.Picture:
|
||||||
|
fallthrough
|
||||||
|
case constant.Custom:
|
||||||
|
fallthrough
|
||||||
|
case constant.Voice:
|
||||||
|
fallthrough
|
||||||
|
case constant.File:
|
||||||
|
newContent = utils.StructToJsonString(params.Content)
|
||||||
|
default:
|
||||||
|
|
||||||
|
}
|
||||||
|
pbData := pbChat.UserSendMsgReq{
|
||||||
|
ReqIdentifier: constant.WSSendMsg,
|
||||||
|
Token: token,
|
||||||
|
SendID: params.SendID,
|
||||||
|
SenderNickName: params.SenderNickName,
|
||||||
|
SenderFaceURL: params.SenderFaceURL,
|
||||||
|
OperationID: params.OperationID,
|
||||||
|
PlatformID: 0,
|
||||||
|
SessionType: params.SessionType,
|
||||||
|
MsgFrom: constant.UserMsgType,
|
||||||
|
ContentType: params.ContentType,
|
||||||
|
RecvID: params.RecvID,
|
||||||
|
ForceList: params.ForceList,
|
||||||
|
Content: newContent,
|
||||||
|
ClientMsgID: utils.GetMsgID(params.SendID),
|
||||||
|
}
|
||||||
|
return &pbData
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
validate = validator.New()
|
||||||
|
}
|
||||||
|
func ManagementSendMsg(c *gin.Context) {
|
||||||
|
var data interface{}
|
||||||
|
params := paramsManagementSendMsg{}
|
||||||
|
if err := c.BindJSON(¶ms); err != nil {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
|
||||||
|
log.ErrorByKv("json unmarshal err", c.PostForm("operationID"), "err", err.Error(), "content", c.PostForm("content"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
switch params.ContentType {
|
||||||
|
case constant.Text:
|
||||||
|
data = TextElem{}
|
||||||
|
case constant.Picture:
|
||||||
|
data = PictureElem{}
|
||||||
|
case constant.Custom:
|
||||||
|
data = CustomElem{}
|
||||||
|
default:
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 404, "errMsg": "contentType err"})
|
||||||
|
log.ErrorByKv("contentType err", c.PostForm("operationID"), "content", c.PostForm("content"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if err := mapstructure.WeakDecode(params.Content, &data); err != nil {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 401, "errMsg": err.Error()})
|
||||||
|
log.ErrorByKv("content to Data struct err", "", "err", err.Error())
|
||||||
|
return
|
||||||
|
} else if err := validate.Struct(data); err != nil {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 403, "errMsg": err.Error()})
|
||||||
|
log.ErrorByKv("data args validate err", "", "err", err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
token := c.Request.Header.Get("token")
|
||||||
|
if !utils.VerifyToken(token, config.Config.AppManagerUid) {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": "token validate err,not authorized", "sendTime": 0, "MsgID": ""})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
log.InfoByKv("Ws call success to ManagementSendMsgReq", params.OperationID, "Parameters", params)
|
||||||
|
|
||||||
|
pbData := newUserSendMsgReq(token, ¶ms)
|
||||||
|
log.Info("", "", "api ManagementSendMsg call start..., [data: %s]", pbData.String())
|
||||||
|
|
||||||
|
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName)
|
||||||
|
client := pbChat.NewChatClient(etcdConn)
|
||||||
|
|
||||||
|
log.Info("", "", "api ManagementSendMsg call, api call rpc...")
|
||||||
|
|
||||||
|
reply, _ := client.UserSendMsg(context.Background(), pbData)
|
||||||
|
log.Info("", "", "api ManagementSendMsg call end..., [data: %s] [reply: %s]", pbData.String(), reply.String())
|
||||||
|
|
||||||
|
c.JSON(http.StatusOK, gin.H{
|
||||||
|
"errCode": reply.ErrCode,
|
||||||
|
"errMsg": reply.ErrMsg,
|
||||||
|
"sendTime": reply.SendTime,
|
||||||
|
"msgID": reply.ClientMsgID,
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
type PictureBaseInfo struct {
|
||||||
|
UUID string `mapstructure:"uuid"`
|
||||||
|
Type string `mapstructure:"type" validate:"required"`
|
||||||
|
Size int64 `mapstructure:"size" validate:"required"`
|
||||||
|
Width int32 `mapstructure:"width" validate:"required"`
|
||||||
|
Height int32 `mapstructure:"height" validate:"required"`
|
||||||
|
Url string `mapstructure:"url" validate:"required"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PictureElem struct {
|
||||||
|
SourcePath string `mapstructure:"sourcePath"`
|
||||||
|
SourcePicture PictureBaseInfo `mapstructure:"sourcePicture" validate:"required"`
|
||||||
|
BigPicture PictureBaseInfo `mapstructure:"bigPicture" `
|
||||||
|
SnapshotPicture PictureBaseInfo `mapstructure:"snapshotPicture"`
|
||||||
|
}
|
||||||
|
type SoundElem struct {
|
||||||
|
UUID string `mapstructure:"uuid"`
|
||||||
|
SoundPath string `mapstructure:"soundPath"`
|
||||||
|
SourceURL string `mapstructure:"sourceUrl"`
|
||||||
|
DataSize int64 `mapstructure:"dataSize"`
|
||||||
|
Duration int64 `mapstructure:"duration"`
|
||||||
|
}
|
||||||
|
type VideoElem struct {
|
||||||
|
VideoPath string `mapstructure:"videoPath"`
|
||||||
|
VideoUUID string `mapstructure:"videoUUID"`
|
||||||
|
VideoURL string `mapstructure:"videoUrl"`
|
||||||
|
VideoType string `mapstructure:"videoType"`
|
||||||
|
VideoSize int64 `mapstructure:"videoSize"`
|
||||||
|
Duration int64 `mapstructure:"duration"`
|
||||||
|
SnapshotPath string `mapstructure:"snapshotPath"`
|
||||||
|
SnapshotUUID string `mapstructure:"snapshotUUID"`
|
||||||
|
SnapshotSize int64 `mapstructure:"snapshotSize"`
|
||||||
|
SnapshotURL string `mapstructure:"snapshotUrl"`
|
||||||
|
SnapshotWidth int32 `mapstructure:"snapshotWidth"`
|
||||||
|
SnapshotHeight int32 `mapstructure:"snapshotHeight"`
|
||||||
|
}
|
||||||
|
type FileElem struct {
|
||||||
|
FilePath string `mapstructure:"filePath"`
|
||||||
|
UUID string `mapstructure:"uuid"`
|
||||||
|
SourceURL string `mapstructure:"sourceUrl"`
|
||||||
|
FileName string `mapstructure:"fileName"`
|
||||||
|
FileSize int64 `mapstructure:"fileSize"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//type MergeElem struct {
|
||||||
|
// Title string `json:"title"`
|
||||||
|
// AbstractList []string `json:"abstractList"`
|
||||||
|
// MultiMessage []*MsgStruct `json:"multiMessage"`
|
||||||
|
//}
|
||||||
|
type AtElem struct {
|
||||||
|
Text string `mapstructure:"text"`
|
||||||
|
AtUserList []string `mapstructure:"atUserList"`
|
||||||
|
IsAtSelf bool `mapstructure:"isAtSelf"`
|
||||||
|
}
|
||||||
|
type LocationElem struct {
|
||||||
|
Description string `mapstructure:"description"`
|
||||||
|
Longitude float64 `mapstructure:"longitude"`
|
||||||
|
Latitude float64 `mapstructure:"latitude"`
|
||||||
|
}
|
||||||
|
type CustomElem struct {
|
||||||
|
Data string `mapstructure:"data" validate:"required"`
|
||||||
|
Description string `mapstructure:"description"`
|
||||||
|
Extension string `mapstructure:"extension"`
|
||||||
|
}
|
||||||
|
type TextElem struct {
|
||||||
|
Text string `mapstructure:"text" validate:"required"`
|
||||||
|
}
|
||||||
|
|
||||||
|
//type QuoteElem struct {
|
||||||
|
// Text string `json:"text"`
|
||||||
|
// QuoteMessage *MsgStruct `json:"quoteMessage"`
|
||||||
|
//}
|
78
src/api/manage/management_user.go
Normal file
78
src/api/manage/management_user.go
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
/*
|
||||||
|
** description("").
|
||||||
|
** copyright('open-im,www.open-im.io').
|
||||||
|
** author("fg,Gordon@tuoyun.net").
|
||||||
|
** time(2021/9/15 10:28).
|
||||||
|
*/
|
||||||
|
package manage
|
||||||
|
|
||||||
|
import (
|
||||||
|
"Open_IM/src/common/config"
|
||||||
|
"Open_IM/src/common/log"
|
||||||
|
"Open_IM/src/grpc-etcdv3/getcdv3"
|
||||||
|
pbUser "Open_IM/src/proto/user"
|
||||||
|
"context"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"net/http"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
type paramsDeleteUsers struct {
|
||||||
|
OperationID string `json:"operationID" binding:"required"`
|
||||||
|
DeleteUidList []string `json:"deleteUidList" binding:"required"`
|
||||||
|
}
|
||||||
|
type paramsGetAllUsersUid struct {
|
||||||
|
OperationID string `json:"operationID" binding:"required"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func DeleteUser(c *gin.Context) {
|
||||||
|
params := paramsDeleteUsers{}
|
||||||
|
if err := c.BindJSON(¶ms); err != nil {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.InfoByKv("DeleteUser req come here", params.OperationID, "DeleteUidList", params.DeleteUidList)
|
||||||
|
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName)
|
||||||
|
client := pbUser.NewUserClient(etcdConn)
|
||||||
|
//defer etcdConn.Close()
|
||||||
|
|
||||||
|
req := &pbUser.DeleteUsersReq{
|
||||||
|
OperationID: params.OperationID,
|
||||||
|
DeleteUidList: params.DeleteUidList,
|
||||||
|
Token: c.Request.Header.Get("token"),
|
||||||
|
}
|
||||||
|
RpcResp, err := client.DeleteUsers(context.Background(), req)
|
||||||
|
if err != nil {
|
||||||
|
|
||||||
|
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "call delete users rpc server failed"})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.InfoByKv("call delete user rpc server is success", params.OperationID, "resp args", RpcResp.String())
|
||||||
|
resp := gin.H{"errCode": RpcResp.CommonResp.ErrorCode, "errMsg": RpcResp.CommonResp.ErrorMsg, "failedUidList": RpcResp.FailedUidList}
|
||||||
|
c.JSON(http.StatusOK, resp)
|
||||||
|
}
|
||||||
|
func GetAllUsersUid(c *gin.Context) {
|
||||||
|
params := paramsGetAllUsersUid{}
|
||||||
|
if err := c.BindJSON(¶ms); err != nil {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.InfoByKv("GetAllUsersUid req come here", params.OperationID)
|
||||||
|
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName)
|
||||||
|
client := pbUser.NewUserClient(etcdConn)
|
||||||
|
//defer etcdConn.Close()
|
||||||
|
|
||||||
|
req := &pbUser.GetAllUsersUidReq{
|
||||||
|
OperationID: params.OperationID,
|
||||||
|
Token: c.Request.Header.Get("token"),
|
||||||
|
}
|
||||||
|
RpcResp, err := client.GetAllUsersUid(context.Background(), req)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error(), "uidList": []string{}})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
log.InfoByKv("call GetAllUsersUid rpc server is success", params.OperationID, "resp args", RpcResp.String())
|
||||||
|
resp := gin.H{"errCode": RpcResp.CommonResp.ErrorCode, "errMsg": RpcResp.CommonResp.ErrorMsg, "uidList": RpcResp.UidList}
|
||||||
|
c.JSON(http.StatusOK, resp)
|
||||||
|
|
||||||
|
}
|
@ -5,6 +5,7 @@ import (
|
|||||||
apiChat "Open_IM/src/api/chat"
|
apiChat "Open_IM/src/api/chat"
|
||||||
"Open_IM/src/api/friend"
|
"Open_IM/src/api/friend"
|
||||||
"Open_IM/src/api/group"
|
"Open_IM/src/api/group"
|
||||||
|
"Open_IM/src/api/manage"
|
||||||
apiThird "Open_IM/src/api/third"
|
apiThird "Open_IM/src/api/third"
|
||||||
"Open_IM/src/api/user"
|
"Open_IM/src/api/user"
|
||||||
"Open_IM/src/utils"
|
"Open_IM/src/utils"
|
||||||
@ -47,6 +48,7 @@ func main() {
|
|||||||
friendRouterGroup.POST("/add_friend_response", friend.AddFriendResponse)
|
friendRouterGroup.POST("/add_friend_response", friend.AddFriendResponse)
|
||||||
friendRouterGroup.POST("/set_friend_comment", friend.SetFriendComment)
|
friendRouterGroup.POST("/set_friend_comment", friend.SetFriendComment)
|
||||||
friendRouterGroup.POST("/is_friend", friend.IsFriend)
|
friendRouterGroup.POST("/is_friend", friend.IsFriend)
|
||||||
|
friendRouterGroup.POST("/import_friend", friend.ImportFriend)
|
||||||
}
|
}
|
||||||
//group related routing group
|
//group related routing group
|
||||||
groupRouterGroup := r.Group("/group")
|
groupRouterGroup := r.Group("/group")
|
||||||
@ -84,6 +86,12 @@ func main() {
|
|||||||
chatGroup.POST("/pull_msg", apiChat.UserPullMsg)
|
chatGroup.POST("/pull_msg", apiChat.UserPullMsg)
|
||||||
chatGroup.POST("/send_msg", apiChat.UserSendMsg)
|
chatGroup.POST("/send_msg", apiChat.UserSendMsg)
|
||||||
}
|
}
|
||||||
|
managementGroup := r.Group("/manager")
|
||||||
|
{
|
||||||
|
managementGroup.POST("/delete_user", manage.DeleteUser)
|
||||||
|
managementGroup.POST("/send_msg", manage.ManagementSendMsg)
|
||||||
|
managementGroup.POST("/get_all_users_uid", manage.GetAllUsersUid)
|
||||||
|
}
|
||||||
|
|
||||||
ginPort := flag.Int("port", 10000, "get ginServerPort from cmd,default 10000 as port")
|
ginPort := flag.Int("port", 10000, "get ginServerPort from cmd,default 10000 as port")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
@ -22,6 +22,7 @@ type paramsStruct struct {
|
|||||||
Birth string `json:"birth"`
|
Birth string `json:"birth"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
Ex string `json:"ex"`
|
Ex string `json:"ex"`
|
||||||
|
Uid string `json:"uid"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func UpdateUserInfo(c *gin.Context) {
|
func UpdateUserInfo(c *gin.Context) {
|
||||||
@ -46,6 +47,7 @@ func UpdateUserInfo(c *gin.Context) {
|
|||||||
Birth: params.Birth,
|
Birth: params.Birth,
|
||||||
Email: params.Email,
|
Email: params.Email,
|
||||||
Ex: params.Ex,
|
Ex: params.Ex,
|
||||||
|
Uid: params.Uid,
|
||||||
}
|
}
|
||||||
log.InfoByKv("api update user info is server", req.OperationID, req.Token)
|
log.InfoByKv("api update user info is server", req.OperationID, req.Token)
|
||||||
RpcResp, err := client.UpdateUserInfo(context.Background(), req)
|
RpcResp, err := client.UpdateUserInfo(context.Background(), req)
|
||||||
|
@ -124,7 +124,7 @@ type config struct {
|
|||||||
MsgToPush string `yaml:"msgToPush"`
|
MsgToPush string `yaml:"msgToPush"`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
AppManagerUid string
|
||||||
Secret string
|
Secret string
|
||||||
|
|
||||||
MultiLoginPolicy struct {
|
MultiLoginPolicy struct {
|
||||||
|
@ -30,6 +30,7 @@ const (
|
|||||||
Video = 104
|
Video = 104
|
||||||
File = 105
|
File = 105
|
||||||
AtText = 106
|
AtText = 106
|
||||||
|
Custom = 110
|
||||||
|
|
||||||
SyncSenderMsg = 108
|
SyncSenderMsg = 108
|
||||||
//SysRelated
|
//SysRelated
|
||||||
|
@ -30,6 +30,17 @@ func UserRegister(pb *pbAuth.UserRegisterReq) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func UserDelete(uid string) error {
|
||||||
|
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = dbConn.Table("user").Where("uid=?", uid).Delete(User{}).Error
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func FindUserByUID(uid string) (*User, error) {
|
func FindUserByUID(uid string) (*User, error) {
|
||||||
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -40,6 +40,16 @@ message AddFriendReq{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
message ImportFriendReq{
|
||||||
|
string uid = 1;
|
||||||
|
string OperationID = 2;
|
||||||
|
string Token = 3;
|
||||||
|
string OwnerUid = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
message GetFriendApplyReq{
|
message GetFriendApplyReq{
|
||||||
string OperationID = 1;
|
string OperationID = 1;
|
||||||
string Token = 2;
|
string Token = 2;
|
||||||
@ -91,6 +101,7 @@ message AddBlacklistReq{
|
|||||||
string uid = 1;
|
string uid = 1;
|
||||||
string OperationID = 2;
|
string OperationID = 2;
|
||||||
string Token = 3;
|
string Token = 3;
|
||||||
|
string OwnerUid = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -167,4 +178,5 @@ service friend{
|
|||||||
rpc deleteFriend(DeleteFriendReq) returns(CommonResp);
|
rpc deleteFriend(DeleteFriendReq) returns(CommonResp);
|
||||||
rpc addFriendResponse(AddFriendResponseReq) returns(CommonResp);
|
rpc addFriendResponse(AddFriendResponseReq) returns(CommonResp);
|
||||||
rpc setFriendComment(SetFriendCommentReq) returns(CommonResp);
|
rpc setFriendComment(SetFriendCommentReq) returns(CommonResp);
|
||||||
|
rpc ImportFriend(ImportFriendReq) returns(CommonResp);
|
||||||
}
|
}
|
@ -1,16 +1,15 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||||
// source: user/user.proto
|
// source: user/user.proto
|
||||||
|
|
||||||
package user
|
package user // import "user"
|
||||||
|
|
||||||
|
import proto "github.com/golang/protobuf/proto"
|
||||||
|
import fmt "fmt"
|
||||||
|
import math "math"
|
||||||
|
|
||||||
import (
|
import (
|
||||||
context "context"
|
context "golang.org/x/net/context"
|
||||||
fmt "fmt"
|
|
||||||
proto "github.com/golang/protobuf/proto"
|
|
||||||
grpc "google.golang.org/grpc"
|
grpc "google.golang.org/grpc"
|
||||||
codes "google.golang.org/grpc/codes"
|
|
||||||
status "google.golang.org/grpc/status"
|
|
||||||
math "math"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
@ -22,11 +21,11 @@ var _ = math.Inf
|
|||||||
// is compatible with the proto package it is being compiled against.
|
// is compatible with the proto package it is being compiled against.
|
||||||
// A compilation error at this line likely means your copy of the
|
// A compilation error at this line likely means your copy of the
|
||||||
// proto package needs to be updated.
|
// proto package needs to be updated.
|
||||||
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
|
||||||
|
|
||||||
type CommonResp struct {
|
type CommonResp struct {
|
||||||
ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"`
|
ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode" json:"errorCode,omitempty"`
|
||||||
ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"`
|
ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg" json:"errorMsg,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -36,17 +35,16 @@ func (m *CommonResp) Reset() { *m = CommonResp{} }
|
|||||||
func (m *CommonResp) String() string { return proto.CompactTextString(m) }
|
func (m *CommonResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*CommonResp) ProtoMessage() {}
|
func (*CommonResp) ProtoMessage() {}
|
||||||
func (*CommonResp) Descriptor() ([]byte, []int) {
|
func (*CommonResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_ed89022014131a74, []int{0}
|
return fileDescriptor_user_9367ac00c24112e8, []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *CommonResp) XXX_Unmarshal(b []byte) error {
|
func (m *CommonResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_CommonResp.Unmarshal(m, b)
|
return xxx_messageInfo_CommonResp.Unmarshal(m, b)
|
||||||
}
|
}
|
||||||
func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic)
|
return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic)
|
||||||
}
|
}
|
||||||
func (m *CommonResp) XXX_Merge(src proto.Message) {
|
func (dst *CommonResp) XXX_Merge(src proto.Message) {
|
||||||
xxx_messageInfo_CommonResp.Merge(m, src)
|
xxx_messageInfo_CommonResp.Merge(dst, src)
|
||||||
}
|
}
|
||||||
func (m *CommonResp) XXX_Size() int {
|
func (m *CommonResp) XXX_Size() int {
|
||||||
return xxx_messageInfo_CommonResp.Size(m)
|
return xxx_messageInfo_CommonResp.Size(m)
|
||||||
@ -71,10 +69,202 @@ func (m *CommonResp) GetErrorMsg() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type DeleteUsersResp struct {
|
||||||
|
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
|
||||||
|
FailedUidList []string `protobuf:"bytes,2,rep,name=failedUidList" json:"failedUidList,omitempty"`
|
||||||
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
|
XXX_unrecognized []byte `json:"-"`
|
||||||
|
XXX_sizecache int32 `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *DeleteUsersResp) Reset() { *m = DeleteUsersResp{} }
|
||||||
|
func (m *DeleteUsersResp) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*DeleteUsersResp) ProtoMessage() {}
|
||||||
|
func (*DeleteUsersResp) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_user_9367ac00c24112e8, []int{1}
|
||||||
|
}
|
||||||
|
func (m *DeleteUsersResp) XXX_Unmarshal(b []byte) error {
|
||||||
|
return xxx_messageInfo_DeleteUsersResp.Unmarshal(m, b)
|
||||||
|
}
|
||||||
|
func (m *DeleteUsersResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
return xxx_messageInfo_DeleteUsersResp.Marshal(b, m, deterministic)
|
||||||
|
}
|
||||||
|
func (dst *DeleteUsersResp) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_DeleteUsersResp.Merge(dst, src)
|
||||||
|
}
|
||||||
|
func (m *DeleteUsersResp) XXX_Size() int {
|
||||||
|
return xxx_messageInfo_DeleteUsersResp.Size(m)
|
||||||
|
}
|
||||||
|
func (m *DeleteUsersResp) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_DeleteUsersResp.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_DeleteUsersResp proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *DeleteUsersResp) GetCommonResp() *CommonResp {
|
||||||
|
if m != nil {
|
||||||
|
return m.CommonResp
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *DeleteUsersResp) GetFailedUidList() []string {
|
||||||
|
if m != nil {
|
||||||
|
return m.FailedUidList
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type DeleteUsersReq struct {
|
||||||
|
DeleteUidList []string `protobuf:"bytes,2,rep,name=deleteUidList" json:"deleteUidList,omitempty"`
|
||||||
|
Token string `protobuf:"bytes,3,opt,name=token" json:"token,omitempty"`
|
||||||
|
OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"`
|
||||||
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
|
XXX_unrecognized []byte `json:"-"`
|
||||||
|
XXX_sizecache int32 `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *DeleteUsersReq) Reset() { *m = DeleteUsersReq{} }
|
||||||
|
func (m *DeleteUsersReq) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*DeleteUsersReq) ProtoMessage() {}
|
||||||
|
func (*DeleteUsersReq) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_user_9367ac00c24112e8, []int{2}
|
||||||
|
}
|
||||||
|
func (m *DeleteUsersReq) XXX_Unmarshal(b []byte) error {
|
||||||
|
return xxx_messageInfo_DeleteUsersReq.Unmarshal(m, b)
|
||||||
|
}
|
||||||
|
func (m *DeleteUsersReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
return xxx_messageInfo_DeleteUsersReq.Marshal(b, m, deterministic)
|
||||||
|
}
|
||||||
|
func (dst *DeleteUsersReq) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_DeleteUsersReq.Merge(dst, src)
|
||||||
|
}
|
||||||
|
func (m *DeleteUsersReq) XXX_Size() int {
|
||||||
|
return xxx_messageInfo_DeleteUsersReq.Size(m)
|
||||||
|
}
|
||||||
|
func (m *DeleteUsersReq) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_DeleteUsersReq.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_DeleteUsersReq proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *DeleteUsersReq) GetDeleteUidList() []string {
|
||||||
|
if m != nil {
|
||||||
|
return m.DeleteUidList
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *DeleteUsersReq) GetToken() string {
|
||||||
|
if m != nil {
|
||||||
|
return m.Token
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *DeleteUsersReq) GetOperationID() string {
|
||||||
|
if m != nil {
|
||||||
|
return m.OperationID
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetAllUsersUidReq struct {
|
||||||
|
Token string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"`
|
||||||
|
OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"`
|
||||||
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
|
XXX_unrecognized []byte `json:"-"`
|
||||||
|
XXX_sizecache int32 `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *GetAllUsersUidReq) Reset() { *m = GetAllUsersUidReq{} }
|
||||||
|
func (m *GetAllUsersUidReq) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*GetAllUsersUidReq) ProtoMessage() {}
|
||||||
|
func (*GetAllUsersUidReq) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_user_9367ac00c24112e8, []int{3}
|
||||||
|
}
|
||||||
|
func (m *GetAllUsersUidReq) XXX_Unmarshal(b []byte) error {
|
||||||
|
return xxx_messageInfo_GetAllUsersUidReq.Unmarshal(m, b)
|
||||||
|
}
|
||||||
|
func (m *GetAllUsersUidReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
return xxx_messageInfo_GetAllUsersUidReq.Marshal(b, m, deterministic)
|
||||||
|
}
|
||||||
|
func (dst *GetAllUsersUidReq) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_GetAllUsersUidReq.Merge(dst, src)
|
||||||
|
}
|
||||||
|
func (m *GetAllUsersUidReq) XXX_Size() int {
|
||||||
|
return xxx_messageInfo_GetAllUsersUidReq.Size(m)
|
||||||
|
}
|
||||||
|
func (m *GetAllUsersUidReq) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_GetAllUsersUidReq.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_GetAllUsersUidReq proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *GetAllUsersUidReq) GetToken() string {
|
||||||
|
if m != nil {
|
||||||
|
return m.Token
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *GetAllUsersUidReq) GetOperationID() string {
|
||||||
|
if m != nil {
|
||||||
|
return m.OperationID
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
type GetAllUsersUidResp struct {
|
||||||
|
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
|
||||||
|
UidList []string `protobuf:"bytes,2,rep,name=uidList" json:"uidList,omitempty"`
|
||||||
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
|
XXX_unrecognized []byte `json:"-"`
|
||||||
|
XXX_sizecache int32 `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *GetAllUsersUidResp) Reset() { *m = GetAllUsersUidResp{} }
|
||||||
|
func (m *GetAllUsersUidResp) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*GetAllUsersUidResp) ProtoMessage() {}
|
||||||
|
func (*GetAllUsersUidResp) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_user_9367ac00c24112e8, []int{4}
|
||||||
|
}
|
||||||
|
func (m *GetAllUsersUidResp) XXX_Unmarshal(b []byte) error {
|
||||||
|
return xxx_messageInfo_GetAllUsersUidResp.Unmarshal(m, b)
|
||||||
|
}
|
||||||
|
func (m *GetAllUsersUidResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
return xxx_messageInfo_GetAllUsersUidResp.Marshal(b, m, deterministic)
|
||||||
|
}
|
||||||
|
func (dst *GetAllUsersUidResp) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_GetAllUsersUidResp.Merge(dst, src)
|
||||||
|
}
|
||||||
|
func (m *GetAllUsersUidResp) XXX_Size() int {
|
||||||
|
return xxx_messageInfo_GetAllUsersUidResp.Size(m)
|
||||||
|
}
|
||||||
|
func (m *GetAllUsersUidResp) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_GetAllUsersUidResp.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_GetAllUsersUidResp proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *GetAllUsersUidResp) GetCommonResp() *CommonResp {
|
||||||
|
if m != nil {
|
||||||
|
return m.CommonResp
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *GetAllUsersUidResp) GetUidList() []string {
|
||||||
|
if m != nil {
|
||||||
|
return m.UidList
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
type GetUserInfoReq struct {
|
type GetUserInfoReq struct {
|
||||||
UserIDList []string `protobuf:"bytes,1,rep,name=userIDList,proto3" json:"userIDList,omitempty"`
|
UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"`
|
||||||
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
|
Token string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"`
|
||||||
OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"`
|
OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -84,17 +274,16 @@ func (m *GetUserInfoReq) Reset() { *m = GetUserInfoReq{} }
|
|||||||
func (m *GetUserInfoReq) String() string { return proto.CompactTextString(m) }
|
func (m *GetUserInfoReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetUserInfoReq) ProtoMessage() {}
|
func (*GetUserInfoReq) ProtoMessage() {}
|
||||||
func (*GetUserInfoReq) Descriptor() ([]byte, []int) {
|
func (*GetUserInfoReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_ed89022014131a74, []int{1}
|
return fileDescriptor_user_9367ac00c24112e8, []int{5}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error {
|
func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b)
|
return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b)
|
||||||
}
|
}
|
||||||
func (m *GetUserInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
func (m *GetUserInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
return xxx_messageInfo_GetUserInfoReq.Marshal(b, m, deterministic)
|
return xxx_messageInfo_GetUserInfoReq.Marshal(b, m, deterministic)
|
||||||
}
|
}
|
||||||
func (m *GetUserInfoReq) XXX_Merge(src proto.Message) {
|
func (dst *GetUserInfoReq) XXX_Merge(src proto.Message) {
|
||||||
xxx_messageInfo_GetUserInfoReq.Merge(m, src)
|
xxx_messageInfo_GetUserInfoReq.Merge(dst, src)
|
||||||
}
|
}
|
||||||
func (m *GetUserInfoReq) XXX_Size() int {
|
func (m *GetUserInfoReq) XXX_Size() int {
|
||||||
return xxx_messageInfo_GetUserInfoReq.Size(m)
|
return xxx_messageInfo_GetUserInfoReq.Size(m)
|
||||||
@ -127,9 +316,9 @@ func (m *GetUserInfoReq) GetOperationID() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type GetUserInfoResp struct {
|
type GetUserInfoResp struct {
|
||||||
ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"`
|
ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode" json:"errorCode,omitempty"`
|
||||||
ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"`
|
ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg" json:"errorMsg,omitempty"`
|
||||||
Data []*UserInfo `protobuf:"bytes,3,rep,name=Data,proto3" json:"Data,omitempty"`
|
Data []*UserInfo `protobuf:"bytes,3,rep,name=Data" json:"Data,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -139,17 +328,16 @@ func (m *GetUserInfoResp) Reset() { *m = GetUserInfoResp{} }
|
|||||||
func (m *GetUserInfoResp) String() string { return proto.CompactTextString(m) }
|
func (m *GetUserInfoResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetUserInfoResp) ProtoMessage() {}
|
func (*GetUserInfoResp) ProtoMessage() {}
|
||||||
func (*GetUserInfoResp) Descriptor() ([]byte, []int) {
|
func (*GetUserInfoResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_ed89022014131a74, []int{2}
|
return fileDescriptor_user_9367ac00c24112e8, []int{6}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error {
|
func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b)
|
return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b)
|
||||||
}
|
}
|
||||||
func (m *GetUserInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
func (m *GetUserInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
return xxx_messageInfo_GetUserInfoResp.Marshal(b, m, deterministic)
|
return xxx_messageInfo_GetUserInfoResp.Marshal(b, m, deterministic)
|
||||||
}
|
}
|
||||||
func (m *GetUserInfoResp) XXX_Merge(src proto.Message) {
|
func (dst *GetUserInfoResp) XXX_Merge(src proto.Message) {
|
||||||
xxx_messageInfo_GetUserInfoResp.Merge(m, src)
|
xxx_messageInfo_GetUserInfoResp.Merge(dst, src)
|
||||||
}
|
}
|
||||||
func (m *GetUserInfoResp) XXX_Size() int {
|
func (m *GetUserInfoResp) XXX_Size() int {
|
||||||
return xxx_messageInfo_GetUserInfoResp.Size(m)
|
return xxx_messageInfo_GetUserInfoResp.Size(m)
|
||||||
@ -182,14 +370,14 @@ func (m *GetUserInfoResp) GetData() []*UserInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type UserInfo struct {
|
type UserInfo struct {
|
||||||
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"`
|
Uid string `protobuf:"bytes,1,opt,name=uid" json:"uid,omitempty"`
|
||||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
|
||||||
Icon string `protobuf:"bytes,3,opt,name=icon,proto3" json:"icon,omitempty"`
|
Icon string `protobuf:"bytes,3,opt,name=icon" json:"icon,omitempty"`
|
||||||
Gender int32 `protobuf:"varint,4,opt,name=gender,proto3" json:"gender,omitempty"`
|
Gender int32 `protobuf:"varint,4,opt,name=gender" json:"gender,omitempty"`
|
||||||
Mobile string `protobuf:"bytes,5,opt,name=mobile,proto3" json:"mobile,omitempty"`
|
Mobile string `protobuf:"bytes,5,opt,name=mobile" json:"mobile,omitempty"`
|
||||||
Birth string `protobuf:"bytes,6,opt,name=birth,proto3" json:"birth,omitempty"`
|
Birth string `protobuf:"bytes,6,opt,name=birth" json:"birth,omitempty"`
|
||||||
Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"`
|
Email string `protobuf:"bytes,7,opt,name=email" json:"email,omitempty"`
|
||||||
Ex string `protobuf:"bytes,8,opt,name=ex,proto3" json:"ex,omitempty"`
|
Ex string `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -199,17 +387,16 @@ func (m *UserInfo) Reset() { *m = UserInfo{} }
|
|||||||
func (m *UserInfo) String() string { return proto.CompactTextString(m) }
|
func (m *UserInfo) String() string { return proto.CompactTextString(m) }
|
||||||
func (*UserInfo) ProtoMessage() {}
|
func (*UserInfo) ProtoMessage() {}
|
||||||
func (*UserInfo) Descriptor() ([]byte, []int) {
|
func (*UserInfo) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_ed89022014131a74, []int{3}
|
return fileDescriptor_user_9367ac00c24112e8, []int{7}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *UserInfo) XXX_Unmarshal(b []byte) error {
|
func (m *UserInfo) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_UserInfo.Unmarshal(m, b)
|
return xxx_messageInfo_UserInfo.Unmarshal(m, b)
|
||||||
}
|
}
|
||||||
func (m *UserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
func (m *UserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
return xxx_messageInfo_UserInfo.Marshal(b, m, deterministic)
|
return xxx_messageInfo_UserInfo.Marshal(b, m, deterministic)
|
||||||
}
|
}
|
||||||
func (m *UserInfo) XXX_Merge(src proto.Message) {
|
func (dst *UserInfo) XXX_Merge(src proto.Message) {
|
||||||
xxx_messageInfo_UserInfo.Merge(m, src)
|
xxx_messageInfo_UserInfo.Merge(dst, src)
|
||||||
}
|
}
|
||||||
func (m *UserInfo) XXX_Size() int {
|
func (m *UserInfo) XXX_Size() int {
|
||||||
return xxx_messageInfo_UserInfo.Size(m)
|
return xxx_messageInfo_UserInfo.Size(m)
|
||||||
@ -277,8 +464,8 @@ func (m *UserInfo) GetEx() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type LogoutReq struct {
|
type LogoutReq struct {
|
||||||
OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"`
|
OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"`
|
||||||
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
|
Token string `protobuf:"bytes,2,opt,name=token" json:"token,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -288,17 +475,16 @@ func (m *LogoutReq) Reset() { *m = LogoutReq{} }
|
|||||||
func (m *LogoutReq) String() string { return proto.CompactTextString(m) }
|
func (m *LogoutReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*LogoutReq) ProtoMessage() {}
|
func (*LogoutReq) ProtoMessage() {}
|
||||||
func (*LogoutReq) Descriptor() ([]byte, []int) {
|
func (*LogoutReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_ed89022014131a74, []int{4}
|
return fileDescriptor_user_9367ac00c24112e8, []int{8}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *LogoutReq) XXX_Unmarshal(b []byte) error {
|
func (m *LogoutReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_LogoutReq.Unmarshal(m, b)
|
return xxx_messageInfo_LogoutReq.Unmarshal(m, b)
|
||||||
}
|
}
|
||||||
func (m *LogoutReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
func (m *LogoutReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
return xxx_messageInfo_LogoutReq.Marshal(b, m, deterministic)
|
return xxx_messageInfo_LogoutReq.Marshal(b, m, deterministic)
|
||||||
}
|
}
|
||||||
func (m *LogoutReq) XXX_Merge(src proto.Message) {
|
func (dst *LogoutReq) XXX_Merge(src proto.Message) {
|
||||||
xxx_messageInfo_LogoutReq.Merge(m, src)
|
xxx_messageInfo_LogoutReq.Merge(dst, src)
|
||||||
}
|
}
|
||||||
func (m *LogoutReq) XXX_Size() int {
|
func (m *LogoutReq) XXX_Size() int {
|
||||||
return xxx_messageInfo_LogoutReq.Size(m)
|
return xxx_messageInfo_LogoutReq.Size(m)
|
||||||
@ -324,15 +510,16 @@ func (m *LogoutReq) GetToken() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type UpdateUserInfoReq struct {
|
type UpdateUserInfoReq struct {
|
||||||
Icon string `protobuf:"bytes,1,opt,name=icon,proto3" json:"icon,omitempty"`
|
Icon string `protobuf:"bytes,1,opt,name=icon" json:"icon,omitempty"`
|
||||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
|
||||||
Gender int32 `protobuf:"varint,3,opt,name=gender,proto3" json:"gender,omitempty"`
|
Gender int32 `protobuf:"varint,3,opt,name=gender" json:"gender,omitempty"`
|
||||||
Mobile string `protobuf:"bytes,4,opt,name=mobile,proto3" json:"mobile,omitempty"`
|
Mobile string `protobuf:"bytes,4,opt,name=mobile" json:"mobile,omitempty"`
|
||||||
Birth string `protobuf:"bytes,5,opt,name=birth,proto3" json:"birth,omitempty"`
|
Birth string `protobuf:"bytes,5,opt,name=birth" json:"birth,omitempty"`
|
||||||
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
|
Email string `protobuf:"bytes,6,opt,name=email" json:"email,omitempty"`
|
||||||
Ex string `protobuf:"bytes,7,opt,name=ex,proto3" json:"ex,omitempty"`
|
Ex string `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"`
|
||||||
Token string `protobuf:"bytes,8,opt,name=token,proto3" json:"token,omitempty"`
|
Token string `protobuf:"bytes,8,opt,name=token" json:"token,omitempty"`
|
||||||
OperationID string `protobuf:"bytes,9,opt,name=OperationID,proto3" json:"OperationID,omitempty"`
|
OperationID string `protobuf:"bytes,9,opt,name=OperationID" json:"OperationID,omitempty"`
|
||||||
|
Uid string `protobuf:"bytes,10,opt,name=Uid" json:"Uid,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -342,17 +529,16 @@ func (m *UpdateUserInfoReq) Reset() { *m = UpdateUserInfoReq{} }
|
|||||||
func (m *UpdateUserInfoReq) String() string { return proto.CompactTextString(m) }
|
func (m *UpdateUserInfoReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*UpdateUserInfoReq) ProtoMessage() {}
|
func (*UpdateUserInfoReq) ProtoMessage() {}
|
||||||
func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) {
|
func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_ed89022014131a74, []int{5}
|
return fileDescriptor_user_9367ac00c24112e8, []int{9}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error {
|
func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b)
|
return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b)
|
||||||
}
|
}
|
||||||
func (m *UpdateUserInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
func (m *UpdateUserInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
return xxx_messageInfo_UpdateUserInfoReq.Marshal(b, m, deterministic)
|
return xxx_messageInfo_UpdateUserInfoReq.Marshal(b, m, deterministic)
|
||||||
}
|
}
|
||||||
func (m *UpdateUserInfoReq) XXX_Merge(src proto.Message) {
|
func (dst *UpdateUserInfoReq) XXX_Merge(src proto.Message) {
|
||||||
xxx_messageInfo_UpdateUserInfoReq.Merge(m, src)
|
xxx_messageInfo_UpdateUserInfoReq.Merge(dst, src)
|
||||||
}
|
}
|
||||||
func (m *UpdateUserInfoReq) XXX_Size() int {
|
func (m *UpdateUserInfoReq) XXX_Size() int {
|
||||||
return xxx_messageInfo_UpdateUserInfoReq.Size(m)
|
return xxx_messageInfo_UpdateUserInfoReq.Size(m)
|
||||||
@ -426,8 +612,19 @@ func (m *UpdateUserInfoReq) GetOperationID() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *UpdateUserInfoReq) GetUid() string {
|
||||||
|
if m != nil {
|
||||||
|
return m.Uid
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterType((*CommonResp)(nil), "user.CommonResp")
|
proto.RegisterType((*CommonResp)(nil), "user.CommonResp")
|
||||||
|
proto.RegisterType((*DeleteUsersResp)(nil), "user.DeleteUsersResp")
|
||||||
|
proto.RegisterType((*DeleteUsersReq)(nil), "user.DeleteUsersReq")
|
||||||
|
proto.RegisterType((*GetAllUsersUidReq)(nil), "user.GetAllUsersUidReq")
|
||||||
|
proto.RegisterType((*GetAllUsersUidResp)(nil), "user.GetAllUsersUidResp")
|
||||||
proto.RegisterType((*GetUserInfoReq)(nil), "user.GetUserInfoReq")
|
proto.RegisterType((*GetUserInfoReq)(nil), "user.GetUserInfoReq")
|
||||||
proto.RegisterType((*GetUserInfoResp)(nil), "user.GetUserInfoResp")
|
proto.RegisterType((*GetUserInfoResp)(nil), "user.GetUserInfoResp")
|
||||||
proto.RegisterType((*UserInfo)(nil), "user.UserInfo")
|
proto.RegisterType((*UserInfo)(nil), "user.UserInfo")
|
||||||
@ -435,67 +632,34 @@ func init() {
|
|||||||
proto.RegisterType((*UpdateUserInfoReq)(nil), "user.UpdateUserInfoReq")
|
proto.RegisterType((*UpdateUserInfoReq)(nil), "user.UpdateUserInfoReq")
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
|
||||||
proto.RegisterFile("user/user.proto", fileDescriptor_ed89022014131a74)
|
|
||||||
}
|
|
||||||
|
|
||||||
var fileDescriptor_ed89022014131a74 = []byte{
|
|
||||||
// 416 bytes of a gzipped FileDescriptorProto
|
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0x4d, 0x8b, 0xd4, 0x40,
|
|
||||||
0x10, 0xa5, 0x27, 0x1f, 0x9b, 0x54, 0x20, 0xbb, 0x16, 0xab, 0x36, 0x83, 0x48, 0xc8, 0x29, 0xa7,
|
|
||||||
0x15, 0xd6, 0x9b, 0x7b, 0x73, 0x06, 0x65, 0x60, 0x45, 0x08, 0xec, 0xc5, 0x5b, 0xc6, 0x94, 0x99,
|
|
||||||
0xe0, 0x24, 0x1d, 0x3b, 0x3d, 0x30, 0x37, 0xff, 0x92, 0xff, 0xc8, 0xbf, 0x22, 0xdd, 0xc9, 0x4c,
|
|
||||||
0x32, 0x33, 0xd1, 0x8b, 0x97, 0x50, 0xef, 0x75, 0xa8, 0xaa, 0xf7, 0xaa, 0x0a, 0xae, 0x77, 0x2d,
|
|
||||||
0xc9, 0x37, 0xfa, 0x73, 0xd7, 0x48, 0xa1, 0x04, 0xda, 0x3a, 0x8e, 0x3f, 0x00, 0x2c, 0x44, 0x55,
|
|
||||||
0x89, 0x3a, 0xa5, 0xb6, 0xc1, 0x57, 0xe0, 0x93, 0x94, 0x42, 0x2e, 0x44, 0x4e, 0x9c, 0x45, 0x2c,
|
|
||||||
0x71, 0xd2, 0x81, 0xc0, 0x39, 0x78, 0x06, 0x7c, 0x6a, 0x0b, 0x3e, 0x8b, 0x58, 0xe2, 0xa7, 0x47,
|
|
||||||
0x1c, 0x6f, 0x20, 0xfc, 0x48, 0xea, 0xa9, 0x25, 0xb9, 0xaa, 0xbf, 0x89, 0x94, 0x7e, 0xe0, 0x6b,
|
|
||||||
0x00, 0x5d, 0x61, 0xb5, 0x7c, 0x2c, 0x5b, 0xc5, 0x59, 0x64, 0x25, 0x7e, 0x3a, 0x62, 0xf0, 0x16,
|
|
||||||
0x1c, 0x25, 0xbe, 0x53, 0xdd, 0xa7, 0xea, 0x00, 0x46, 0x10, 0x7c, 0x6e, 0x48, 0x66, 0xaa, 0x14,
|
|
||||||
0xf5, 0x6a, 0xc9, 0x2d, 0xf3, 0x36, 0xa6, 0x62, 0x01, 0xd7, 0x27, 0x95, 0xfe, 0xa7, 0x6d, 0x8c,
|
|
||||||
0xc1, 0x5e, 0x66, 0x2a, 0xe3, 0x56, 0x64, 0x25, 0xc1, 0x7d, 0x78, 0x67, 0xfc, 0x39, 0xe6, 0x36,
|
|
||||||
0x6f, 0xf1, 0x2f, 0x06, 0xde, 0x81, 0xc2, 0x1b, 0xb0, 0x76, 0x65, 0x6e, 0x8a, 0xf8, 0xa9, 0x0e,
|
|
||||||
0x11, 0xc1, 0xae, 0xb3, 0x8a, 0xfa, 0xd4, 0x26, 0xd6, 0x5c, 0xf9, 0x55, 0xd4, 0x7d, 0xfb, 0x26,
|
|
||||||
0xc6, 0x17, 0xe0, 0x16, 0x54, 0xe7, 0x24, 0xb9, 0x6d, 0x3a, 0xec, 0x91, 0xe6, 0x2b, 0xb1, 0x2e,
|
|
||||||
0xb7, 0xc4, 0x1d, 0xf3, 0x77, 0x8f, 0xb4, 0x3f, 0xeb, 0x52, 0xaa, 0x0d, 0x77, 0x3b, 0x7f, 0x0c,
|
|
||||||
0xd0, 0x2c, 0x55, 0x59, 0xb9, 0xe5, 0x57, 0x1d, 0x6b, 0x00, 0x86, 0x30, 0xa3, 0x3d, 0xf7, 0x0c,
|
|
||||||
0x35, 0xa3, 0x7d, 0xbc, 0x00, 0xff, 0x51, 0x14, 0x62, 0xa7, 0xf4, 0x20, 0xce, 0x2c, 0x65, 0x17,
|
|
||||||
0x96, 0x4e, 0x8f, 0x22, 0xfe, 0xcd, 0xe0, 0xd9, 0x53, 0x93, 0x67, 0x8a, 0xc6, 0x63, 0x3d, 0x48,
|
|
||||||
0x63, 0x23, 0x69, 0x53, 0x16, 0x0c, 0x72, 0xad, 0xbf, 0xc8, 0xb5, 0xa7, 0xe5, 0x3a, 0x93, 0x72,
|
|
||||||
0xdd, 0x4b, 0xb9, 0x57, 0x07, 0xb9, 0x43, 0xff, 0xde, 0x3f, 0x56, 0xc9, 0xbf, 0xd0, 0x7d, 0xff,
|
|
||||||
0x13, 0xcc, 0x11, 0xe0, 0x3b, 0x08, 0x8a, 0x61, 0xa5, 0xf0, 0xb6, 0x5b, 0x83, 0xd3, 0x7d, 0x9e,
|
|
||||||
0x3f, 0x9f, 0x60, 0xdb, 0x06, 0x1f, 0x20, 0x3c, 0x35, 0x09, 0x5f, 0xf6, 0x5b, 0x74, 0x6e, 0xdd,
|
|
||||||
0xfc, 0xa6, 0x7b, 0x18, 0xee, 0xed, 0x7d, 0xf0, 0xc5, 0xd7, 0xd4, 0x83, 0xfe, 0xac, 0x5d, 0x73,
|
|
||||||
0x97, 0x6f, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x6d, 0x34, 0xa2, 0xaa, 0x03, 0x00, 0x00,
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reference imports to suppress errors if they are not otherwise used.
|
// Reference imports to suppress errors if they are not otherwise used.
|
||||||
var _ context.Context
|
var _ context.Context
|
||||||
var _ grpc.ClientConnInterface
|
var _ grpc.ClientConn
|
||||||
|
|
||||||
// This is a compile-time assertion to ensure that this generated file
|
// This is a compile-time assertion to ensure that this generated file
|
||||||
// is compatible with the grpc package it is being compiled against.
|
// is compatible with the grpc package it is being compiled against.
|
||||||
const _ = grpc.SupportPackageIsVersion6
|
const _ = grpc.SupportPackageIsVersion4
|
||||||
|
|
||||||
|
// Client API for User service
|
||||||
|
|
||||||
// UserClient is the client API for User service.
|
|
||||||
//
|
|
||||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
|
|
||||||
type UserClient interface {
|
type UserClient interface {
|
||||||
GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error)
|
GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error)
|
||||||
UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*CommonResp, error)
|
UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*CommonResp, error)
|
||||||
|
DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error)
|
||||||
|
GetAllUsersUid(ctx context.Context, in *GetAllUsersUidReq, opts ...grpc.CallOption) (*GetAllUsersUidResp, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type userClient struct {
|
type userClient struct {
|
||||||
cc grpc.ClientConnInterface
|
cc *grpc.ClientConn
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewUserClient(cc grpc.ClientConnInterface) UserClient {
|
func NewUserClient(cc *grpc.ClientConn) UserClient {
|
||||||
return &userClient{cc}
|
return &userClient{cc}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *userClient) GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error) {
|
func (c *userClient) GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error) {
|
||||||
out := new(GetUserInfoResp)
|
out := new(GetUserInfoResp)
|
||||||
err := c.cc.Invoke(ctx, "/user.user/getUserInfo", in, out, opts...)
|
err := grpc.Invoke(ctx, "/user.user/getUserInfo", in, out, c.cc, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -504,28 +668,38 @@ func (c *userClient) GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts .
|
|||||||
|
|
||||||
func (c *userClient) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*CommonResp, error) {
|
func (c *userClient) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*CommonResp, error) {
|
||||||
out := new(CommonResp)
|
out := new(CommonResp)
|
||||||
err := c.cc.Invoke(ctx, "/user.user/UpdateUserInfo", in, out, opts...)
|
err := grpc.Invoke(ctx, "/user.user/UpdateUserInfo", in, out, c.cc, opts...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// UserServer is the server API for User service.
|
func (c *userClient) DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error) {
|
||||||
|
out := new(DeleteUsersResp)
|
||||||
|
err := grpc.Invoke(ctx, "/user.user/DeleteUsers", in, out, c.cc, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *userClient) GetAllUsersUid(ctx context.Context, in *GetAllUsersUidReq, opts ...grpc.CallOption) (*GetAllUsersUidResp, error) {
|
||||||
|
out := new(GetAllUsersUidResp)
|
||||||
|
err := grpc.Invoke(ctx, "/user.user/GetAllUsersUid", in, out, c.cc, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Server API for User service
|
||||||
|
|
||||||
type UserServer interface {
|
type UserServer interface {
|
||||||
GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error)
|
GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error)
|
||||||
UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*CommonResp, error)
|
UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*CommonResp, error)
|
||||||
}
|
DeleteUsers(context.Context, *DeleteUsersReq) (*DeleteUsersResp, error)
|
||||||
|
GetAllUsersUid(context.Context, *GetAllUsersUidReq) (*GetAllUsersUidResp, error)
|
||||||
// UnimplementedUserServer can be embedded to have forward compatible implementations.
|
|
||||||
type UnimplementedUserServer struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*UnimplementedUserServer) GetUserInfo(ctx context.Context, req *GetUserInfoReq) (*GetUserInfoResp, error) {
|
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method GetUserInfo not implemented")
|
|
||||||
}
|
|
||||||
func (*UnimplementedUserServer) UpdateUserInfo(ctx context.Context, req *UpdateUserInfoReq) (*CommonResp, error) {
|
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method UpdateUserInfo not implemented")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func RegisterUserServer(s *grpc.Server, srv UserServer) {
|
func RegisterUserServer(s *grpc.Server, srv UserServer) {
|
||||||
@ -568,6 +742,42 @@ func _User_UpdateUserInfo_Handler(srv interface{}, ctx context.Context, dec func
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _User_DeleteUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(DeleteUsersReq)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(UserServer).DeleteUsers(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/user.user/DeleteUsers",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(UserServer).DeleteUsers(ctx, req.(*DeleteUsersReq))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _User_GetAllUsersUid_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(GetAllUsersUidReq)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(UserServer).GetAllUsersUid(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/user.user/GetAllUsersUid",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(UserServer).GetAllUsersUid(ctx, req.(*GetAllUsersUidReq))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
var _User_serviceDesc = grpc.ServiceDesc{
|
var _User_serviceDesc = grpc.ServiceDesc{
|
||||||
ServiceName: "user.user",
|
ServiceName: "user.user",
|
||||||
HandlerType: (*UserServer)(nil),
|
HandlerType: (*UserServer)(nil),
|
||||||
@ -580,7 +790,56 @@ var _User_serviceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "UpdateUserInfo",
|
MethodName: "UpdateUserInfo",
|
||||||
Handler: _User_UpdateUserInfo_Handler,
|
Handler: _User_UpdateUserInfo_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "DeleteUsers",
|
||||||
|
Handler: _User_DeleteUsers_Handler,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
MethodName: "GetAllUsersUid",
|
||||||
|
Handler: _User_GetAllUsersUid_Handler,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Streams: []grpc.StreamDesc{},
|
Streams: []grpc.StreamDesc{},
|
||||||
Metadata: "user/user.proto",
|
Metadata: "user/user.proto",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_9367ac00c24112e8) }
|
||||||
|
|
||||||
|
var fileDescriptor_user_9367ac00c24112e8 = []byte{
|
||||||
|
// 560 bytes of a gzipped FileDescriptorProto
|
||||||
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x54, 0x4d, 0x6f, 0xd3, 0x40,
|
||||||
|
0x10, 0x95, 0xed, 0x7c, 0x79, 0x22, 0x92, 0x74, 0x55, 0x60, 0x15, 0x21, 0x14, 0x59, 0x1c, 0x72,
|
||||||
|
0x2a, 0x28, 0xdc, 0xe8, 0x09, 0x12, 0x51, 0x45, 0x14, 0x55, 0xb2, 0xe4, 0x0b, 0x27, 0x9c, 0xee,
|
||||||
|
0x34, 0x5d, 0xe1, 0x78, 0x8d, 0xbd, 0x91, 0x7a, 0xe4, 0x27, 0xf1, 0xd7, 0xf8, 0x07, 0x68, 0xc7,
|
||||||
|
0x71, 0xe2, 0xaf, 0x72, 0xa0, 0x17, 0x6b, 0xe7, 0xed, 0xfa, 0xbd, 0x7d, 0x33, 0xb3, 0x03, 0xe3,
|
||||||
|
0x7d, 0x86, 0xe9, 0x5b, 0xf3, 0xb9, 0x48, 0x52, 0xa5, 0x15, 0xeb, 0x98, 0xb5, 0xf7, 0x19, 0x60,
|
||||||
|
0xa9, 0x76, 0x3b, 0x15, 0xfb, 0x98, 0x25, 0xec, 0x15, 0xb8, 0x98, 0xa6, 0x2a, 0x5d, 0x2a, 0x81,
|
||||||
|
0xdc, 0x9a, 0x59, 0xf3, 0xae, 0x7f, 0x02, 0xd8, 0x14, 0x06, 0x14, 0x7c, 0xcd, 0xb6, 0xdc, 0x9e,
|
||||||
|
0x59, 0x73, 0xd7, 0x3f, 0xc6, 0x9e, 0x84, 0xf1, 0x0a, 0x23, 0xd4, 0x18, 0x64, 0x98, 0x66, 0x44,
|
||||||
|
0xf6, 0x0e, 0xe0, 0xf6, 0x48, 0x4d, 0x6c, 0xc3, 0xc5, 0xe4, 0x82, 0x6e, 0x70, 0x92, 0xf4, 0x4b,
|
||||||
|
0x67, 0xd8, 0x1b, 0x78, 0x76, 0x17, 0xca, 0x08, 0x45, 0x20, 0xc5, 0xb5, 0xcc, 0x34, 0xb7, 0x67,
|
||||||
|
0xce, 0xdc, 0xf5, 0xab, 0xa0, 0x17, 0xc3, 0xa8, 0x22, 0xf5, 0xd3, 0xfc, 0x27, 0x72, 0xa4, 0xfa,
|
||||||
|
0x5f, 0x05, 0x64, 0xe7, 0xd0, 0xd5, 0xea, 0x07, 0xc6, 0xdc, 0xa1, 0xbb, 0xe7, 0x01, 0x9b, 0xc1,
|
||||||
|
0xf0, 0x26, 0xc1, 0x34, 0xd4, 0x52, 0xc5, 0xeb, 0x15, 0xef, 0xd0, 0x5e, 0x19, 0xf2, 0xbe, 0xc0,
|
||||||
|
0xd9, 0x15, 0xea, 0x8f, 0x51, 0x44, 0x7a, 0x81, 0x14, 0x46, 0xf2, 0x48, 0x66, 0xd7, 0xc8, 0x54,
|
||||||
|
0x89, 0x2c, 0x17, 0x2a, 0x43, 0xde, 0x77, 0x60, 0x75, 0xb2, 0xff, 0x4a, 0x15, 0x87, 0xfe, 0xbe,
|
||||||
|
0x62, 0xb6, 0x08, 0xbd, 0x7b, 0x18, 0x5d, 0xa1, 0x36, 0xf4, 0xeb, 0xf8, 0x4e, 0x99, 0xbb, 0xbe,
|
||||||
|
0x06, 0x30, 0x54, 0xeb, 0x15, 0x1d, 0xb7, 0xe8, 0x78, 0x09, 0x79, 0xdc, 0xcb, 0x4d, 0xd3, 0x4b,
|
||||||
|
0x39, 0x31, 0x0a, 0xc6, 0x15, 0xa5, 0xa7, 0x34, 0x10, 0xf3, 0xa0, 0xb3, 0x0a, 0x75, 0xc8, 0x9d,
|
||||||
|
0x99, 0x33, 0x1f, 0x2e, 0x46, 0xb9, 0xf9, 0x23, 0x37, 0xed, 0x79, 0xbf, 0x2d, 0x18, 0x14, 0x10,
|
||||||
|
0x9b, 0x80, 0xb3, 0x97, 0x82, 0x44, 0x5c, 0xdf, 0x2c, 0x19, 0x83, 0x4e, 0x1c, 0xee, 0xf0, 0x40,
|
||||||
|
0x4d, 0x6b, 0x83, 0xc9, 0x5b, 0x55, 0xd4, 0x9c, 0xd6, 0xec, 0x05, 0xf4, 0xb6, 0x18, 0x0b, 0x4c,
|
||||||
|
0xa9, 0xda, 0x5d, 0xff, 0x10, 0x19, 0x7c, 0xa7, 0x36, 0x32, 0x42, 0xde, 0xa5, 0xd3, 0x87, 0xc8,
|
||||||
|
0xe4, 0x67, 0x23, 0x53, 0x7d, 0xcf, 0x7b, 0x79, 0x7e, 0x28, 0x30, 0x28, 0xee, 0x42, 0x19, 0xf1,
|
||||||
|
0x7e, 0x8e, 0x52, 0xc0, 0x46, 0x60, 0xe3, 0x03, 0x1f, 0x10, 0x64, 0xe3, 0x83, 0xb7, 0x04, 0xf7,
|
||||||
|
0x5a, 0x6d, 0xd5, 0x5e, 0x9b, 0x42, 0xd4, 0x52, 0x6a, 0x35, 0x52, 0xda, 0x5e, 0x0a, 0xef, 0x8f,
|
||||||
|
0x05, 0x67, 0x41, 0x22, 0xc2, 0xbc, 0xe5, 0x8b, 0xb2, 0x16, 0xd6, 0xac, 0x92, 0xb5, 0xb6, 0x14,
|
||||||
|
0x9c, 0xec, 0x3a, 0x8f, 0xd8, 0xed, 0xb4, 0xdb, 0xed, 0xb6, 0xda, 0xed, 0x35, 0xed, 0xf6, 0x0b,
|
||||||
|
0xbb, 0xa7, 0xfb, 0x0f, 0xfe, 0xd1, 0x4a, 0x6e, 0xd3, 0xf7, 0x04, 0x9c, 0x40, 0x0a, 0x0e, 0x79,
|
||||||
|
0x31, 0x03, 0x29, 0x16, 0xbf, 0x6c, 0xa0, 0x09, 0xc5, 0x3e, 0xc0, 0x70, 0x7b, 0xea, 0x32, 0x76,
|
||||||
|
0x9e, 0x77, 0x46, 0xb5, 0xc5, 0xa7, 0xcf, 0x5b, 0xd0, 0x2c, 0x61, 0x97, 0x30, 0xaa, 0xe6, 0x8d,
|
||||||
|
0xbd, 0x3c, 0x34, 0x56, 0x3d, 0x9b, 0xd3, 0xc6, 0x73, 0x33, 0xc2, 0xa5, 0x39, 0x53, 0x08, 0x57,
|
||||||
|
0x47, 0x4f, 0x21, 0x5c, 0x9f, 0x7d, 0x4b, 0x7a, 0x84, 0xa5, 0x67, 0x5e, 0x08, 0x37, 0x26, 0xc9,
|
||||||
|
0x94, 0xb7, 0x6f, 0x64, 0xc9, 0xa7, 0xe1, 0x37, 0xd7, 0x6c, 0x5d, 0x9a, 0xcf, 0xa6, 0x47, 0x53,
|
||||||
|
0xfb, 0xfd, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x78, 0x0f, 0x5a, 0xd9, 0xc8, 0x05, 0x00, 0x00,
|
||||||
|
}
|
||||||
|
@ -6,7 +6,25 @@ message CommonResp{
|
|||||||
int32 errorCode = 1;
|
int32 errorCode = 1;
|
||||||
string errorMsg = 2;
|
string errorMsg = 2;
|
||||||
}
|
}
|
||||||
|
message DeleteUsersResp{
|
||||||
|
CommonResp commonResp = 1;
|
||||||
|
repeated string failedUidList = 2;
|
||||||
|
}
|
||||||
|
message DeleteUsersReq{
|
||||||
|
repeated string deleteUidList = 2;
|
||||||
|
string token = 3;
|
||||||
|
string OperationID = 4;
|
||||||
|
}
|
||||||
|
message GetAllUsersUidReq{
|
||||||
|
string token = 2;
|
||||||
|
string operationID = 3;
|
||||||
|
|
||||||
|
}
|
||||||
|
message GetAllUsersUidResp{
|
||||||
|
CommonResp commonResp = 1;
|
||||||
|
repeated string uidList = 2;
|
||||||
|
|
||||||
|
}
|
||||||
message GetUserInfoReq{
|
message GetUserInfoReq{
|
||||||
repeated string userIDList = 1;
|
repeated string userIDList = 1;
|
||||||
string token = 2;
|
string token = 2;
|
||||||
@ -44,9 +62,12 @@ message UpdateUserInfoReq{
|
|||||||
string ex = 7;
|
string ex = 7;
|
||||||
string token = 8;
|
string token = 8;
|
||||||
string OperationID = 9;
|
string OperationID = 9;
|
||||||
|
string Uid = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
service user {
|
service user {
|
||||||
rpc getUserInfo(GetUserInfoReq) returns(GetUserInfoResp);
|
rpc getUserInfo(GetUserInfoReq) returns(GetUserInfoResp);
|
||||||
rpc UpdateUserInfo(UpdateUserInfoReq) returns(CommonResp);
|
rpc UpdateUserInfo(UpdateUserInfoReq) returns(CommonResp);
|
||||||
|
rpc DeleteUsers(DeleteUsersReq)returns(DeleteUsersResp);
|
||||||
|
rpc GetAllUsersUid(GetAllUsersUidReq)returns(GetAllUsersUidResp);
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@ func NewContentStructString(isDisplay int32, ID string, text string) string {
|
|||||||
c := Content{IsDisplay: isDisplay, ID: ID, Text: text}
|
c := Content{IsDisplay: isDisplay, ID: ID, Text: text}
|
||||||
return c.contentToString()
|
return c.contentToString()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Content) contentToString() string {
|
func (c *Content) contentToString() string {
|
||||||
data, _ := json.Marshal(c)
|
data, _ := json.Marshal(c)
|
||||||
dataString := string(data)
|
dataString := string(data)
|
||||||
@ -62,6 +63,13 @@ type NotificationContent struct {
|
|||||||
DefaultTips string `json:"defaultTips"`
|
DefaultTips string `json:"defaultTips"`
|
||||||
Detail string `json:"detail"`
|
Detail string `json:"detail"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *NotificationContent) ContentToString() string {
|
||||||
|
data, _ := json.Marshal(c)
|
||||||
|
dataString := string(data)
|
||||||
|
return dataString
|
||||||
|
}
|
||||||
|
|
||||||
type KickGroupMemberApiReq struct {
|
type KickGroupMemberApiReq struct {
|
||||||
GroupID string `json:"groupID"`
|
GroupID string `json:"groupID"`
|
||||||
UidList []string `json:"uidList"`
|
UidList []string `json:"uidList"`
|
||||||
|
@ -17,6 +17,13 @@ func (s *friendServer) AddBlacklist(ctx context.Context, req *pbFriend.AddBlackl
|
|||||||
log.Error(req.Token, req.OperationID, "err=%s,parse token failed", err.Error())
|
log.Error(req.Token, req.OperationID, "err=%s,parse token failed", err.Error())
|
||||||
return &pbFriend.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: config.ErrParseToken.ErrMsg}, nil
|
return &pbFriend.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: config.ErrParseToken.ErrMsg}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isMagagerFlag := 0
|
||||||
|
tokenUid := claims.UID
|
||||||
|
if tokenUid == config.Config.AppManagerUid {
|
||||||
|
isMagagerFlag = 1
|
||||||
|
}
|
||||||
|
if isMagagerFlag == 0 {
|
||||||
err = im_mysql_model.InsertInToUserBlackList(claims.UID, req.Uid)
|
err = im_mysql_model.InsertInToUserBlackList(claims.UID, req.Uid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(req.Token, req.OperationID, "err=%s,Failed to add blacklist", err.Error())
|
log.Error(req.Token, req.OperationID, "err=%s,Failed to add blacklist", err.Error())
|
||||||
@ -24,4 +31,13 @@ func (s *friendServer) AddBlacklist(ctx context.Context, req *pbFriend.AddBlackl
|
|||||||
}
|
}
|
||||||
log.Info(req.Token, req.OperationID, "rpc add blacklist success return,uid=%s", req.Uid)
|
log.Info(req.Token, req.OperationID, "rpc add blacklist success return,uid=%s", req.Uid)
|
||||||
return &pbFriend.CommonResp{}, nil
|
return &pbFriend.CommonResp{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
err = im_mysql_model.InsertInToUserBlackList(req.OwnerUid, req.Uid)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(req.Token, req.OperationID, "err=%s,Failed to add blacklist", err.Error())
|
||||||
|
return &pbFriend.CommonResp{ErrorCode: config.ErrMysql.ErrCode, ErrorMsg: config.ErrMysql.ErrMsg}, nil
|
||||||
|
}
|
||||||
|
log.Info(req.Token, req.OperationID, "rpc add blacklist success return,uid=%s", req.Uid)
|
||||||
|
return &pbFriend.CommonResp{}, nil
|
||||||
}
|
}
|
||||||
|
@ -51,3 +51,66 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq
|
|||||||
}
|
}
|
||||||
return &pbFriend.CommonResp{}, nil
|
return &pbFriend.CommonResp{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFriendReq) (*pbFriend.CommonResp, error) {
|
||||||
|
log.Info(req.Token, req.OperationID, "ImportFriendis server,userid=%s", req.OwnerUid)
|
||||||
|
//Parse token, to find current user information
|
||||||
|
claims, err := utils.ParseToken(req.Token)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(req.Token, req.OperationID, "err=%s,parse token failed", err.Error())
|
||||||
|
return &pbFriend.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: config.ErrParseToken.ErrMsg}, nil
|
||||||
|
}
|
||||||
|
if claims.UID != config.Config.AppManagerUid {
|
||||||
|
log.Error(req.Token, req.OperationID, "not magager uid", claims.UID, config.Config.AppManagerUid)
|
||||||
|
return &pbFriend.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: config.ErrParseToken.ErrMsg}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err = im_mysql_model.FindUserByUID(req.Uid); err != nil {
|
||||||
|
log.Error(req.Token, req.OperationID, "this user not exists,cant not add friend", req.Uid)
|
||||||
|
return &pbFriend.CommonResp{ErrorCode: config.ErrAddFriend.ErrCode, ErrorMsg: config.ErrSearchUserInfo.ErrMsg}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err = im_mysql_model.FindUserByUID(req.OwnerUid); err != nil {
|
||||||
|
log.Error(req.Token, req.OperationID, "this user not exists,cant not add friend", req.OwnerUid)
|
||||||
|
return &pbFriend.CommonResp{ErrorCode: config.ErrAddFriend.ErrCode, ErrorMsg: config.ErrSearchUserInfo.ErrMsg}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = im_mysql_model.FindFriendRelationshipFromFriend(req.OwnerUid, req.Uid)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
log.Error("", req.OperationID, err.Error())
|
||||||
|
}
|
||||||
|
//Establish two single friendship
|
||||||
|
err = im_mysql_model.InsertToFriend(req.OwnerUid, req.Uid, 1)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(req.Token, req.OperationID, "err=%s,create friendship failed", err.Error())
|
||||||
|
}
|
||||||
|
err = im_mysql_model.InsertToFriend(req.Uid, req.OwnerUid, 1)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(req.Token, req.OperationID, "err=%s,create friendship failed", err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
|
logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
|
||||||
|
SendID: req.OwnerUid,
|
||||||
|
RecvID: req.Uid,
|
||||||
|
Content: content_struct.NewContentStructString(0, "", " add you as a friend."),
|
||||||
|
SendTime: utils.GetCurrentTimestampBySecond(),
|
||||||
|
MsgFrom: constant.UserMsgType, //Notification message identification
|
||||||
|
ContentType: constant.AcceptFriendApplicationTip, //Add friend flag
|
||||||
|
SessionType: constant.SingleChatType,
|
||||||
|
OperationID: req.OperationID,
|
||||||
|
})
|
||||||
|
|
||||||
|
logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
|
||||||
|
SendID: req.Uid,
|
||||||
|
RecvID: req.OwnerUid,
|
||||||
|
Content: content_struct.NewContentStructString(0, "", " add you as a friend."),
|
||||||
|
SendTime: utils.GetCurrentTimestampBySecond(),
|
||||||
|
MsgFrom: constant.UserMsgType, //Notification message identification
|
||||||
|
ContentType: constant.AcceptFriendApplicationTip, //Add friend flag
|
||||||
|
SessionType: constant.SingleChatType,
|
||||||
|
OperationID: req.OperationID,
|
||||||
|
})
|
||||||
|
|
||||||
|
return &pbFriend.CommonResp{}, nil
|
||||||
|
}
|
||||||
|
@ -7,7 +7,10 @@ import (
|
|||||||
"Open_IM/src/common/db/mysql_model/im_mysql_model"
|
"Open_IM/src/common/db/mysql_model/im_mysql_model"
|
||||||
"Open_IM/src/common/log"
|
"Open_IM/src/common/log"
|
||||||
"Open_IM/src/grpc-etcdv3/getcdv3"
|
"Open_IM/src/grpc-etcdv3/getcdv3"
|
||||||
|
pbChat "Open_IM/src/proto/chat"
|
||||||
pbGroup "Open_IM/src/proto/group"
|
pbGroup "Open_IM/src/proto/group"
|
||||||
|
"Open_IM/src/push/content_struct"
|
||||||
|
"Open_IM/src/push/logic"
|
||||||
"Open_IM/src/utils"
|
"Open_IM/src/utils"
|
||||||
"context"
|
"context"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
@ -82,6 +85,13 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
|
|||||||
return &pbGroup.CreateGroupResp{ErrorCode: config.ErrCreateGroup.ErrCode, ErrorMsg: config.ErrCreateGroup.ErrMsg}, nil
|
return &pbGroup.CreateGroupResp{ErrorCode: config.ErrCreateGroup.ErrCode, ErrorMsg: config.ErrCreateGroup.ErrMsg}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isMagagerFlag := 0
|
||||||
|
tokenUid := claims.UID
|
||||||
|
if tokenUid == config.Config.AppManagerUid {
|
||||||
|
isMagagerFlag = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if isMagagerFlag == 0 {
|
||||||
//Add the group owner to the group first, otherwise the group creation will fail
|
//Add the group owner to the group first, otherwise the group creation will fail
|
||||||
us, err := im_mysql_model.FindUserByUID(claims.UID)
|
us, err := im_mysql_model.FindUserByUID(claims.UID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -99,6 +109,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
|
|||||||
log.Error("", "", "create mongo group member failed, db.DB.AddGroupMember fail [err: %s]", err.Error())
|
log.Error("", "", "create mongo group member failed, db.DB.AddGroupMember fail [err: %s]", err.Error())
|
||||||
return &pbGroup.CreateGroupResp{ErrorCode: config.ErrCreateGroup.ErrCode, ErrorMsg: config.ErrCreateGroup.ErrMsg}, nil
|
return &pbGroup.CreateGroupResp{ErrorCode: config.ErrCreateGroup.ErrCode, ErrorMsg: config.ErrCreateGroup.ErrMsg}, nil
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Binding group id and member id
|
//Binding group id and member id
|
||||||
for _, user := range req.MemberList {
|
for _, user := range req.MemberList {
|
||||||
@ -116,17 +127,33 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
|
|||||||
log.Error("", "", "add mongo group member failed, db.DB.AddGroupMember fail [err: %s]", err.Error())
|
log.Error("", "", "add mongo group member failed, db.DB.AddGroupMember fail [err: %s]", err.Error())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if isMagagerFlag == 1 {
|
||||||
|
|
||||||
|
//type NotificationContent struct {
|
||||||
|
// IsDisplay int32 `json:"isDisplay"`
|
||||||
|
// DefaultTips string `json:"defaultTips"`
|
||||||
|
// Detail string `json:"detail"`
|
||||||
|
//} n := NotificationContent{
|
||||||
|
// IsDisplay: 1,
|
||||||
|
// DefaultTips: "You have joined the group chat:" + createGroupResp.Data.GroupName,
|
||||||
|
// Detail: createGroupResp.Data.GroupId,
|
||||||
|
// }
|
||||||
|
|
||||||
////Push message when create group chat
|
////Push message when create group chat
|
||||||
//logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
|
n := content_struct.NotificationContent{1, req.GroupName, groupId}
|
||||||
// SendID: claims.UID,
|
logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
|
||||||
// RecvID: groupId,
|
SendID: claims.UID,
|
||||||
// Content: content_struct.NewContentStructString(0, "", req.String()),
|
RecvID: groupId,
|
||||||
// SendTime: utils.GetCurrentTimestampBySecond(),
|
Content: n.ContentToString(),
|
||||||
// MsgFrom: constant.SysMsgType, //Notification message identification
|
SendTime: utils.GetCurrentTimestampByNano(),
|
||||||
// ContentType: constant.CreateGroupTip, //Add friend flag
|
MsgFrom: constant.SysMsgType, //Notification message identification
|
||||||
// SessionType: constant.GroupChatType,
|
ContentType: constant.CreateGroupTip, //Add friend flag
|
||||||
// OperationID: req.OperationID,
|
SessionType: constant.GroupChatType,
|
||||||
//})
|
OperationID: req.OperationID,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
log.Info(req.Token, req.OperationID, "rpc create group success return")
|
log.Info(req.Token, req.OperationID, "rpc create group success return")
|
||||||
return &pbGroup.CreateGroupResp{GroupID: groupId}, nil
|
return &pbGroup.CreateGroupResp{GroupID: groupId}, nil
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,12 @@ package group
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"Open_IM/src/common/config"
|
"Open_IM/src/common/config"
|
||||||
|
"Open_IM/src/common/constant"
|
||||||
"Open_IM/src/common/db"
|
"Open_IM/src/common/db"
|
||||||
|
pbChat "Open_IM/src/proto/chat"
|
||||||
|
"Open_IM/src/push/content_struct"
|
||||||
|
"Open_IM/src/push/logic"
|
||||||
|
"encoding/json"
|
||||||
|
|
||||||
imdb "Open_IM/src/common/db/mysql_model/im_mysql_model"
|
imdb "Open_IM/src/common/db/mysql_model/im_mysql_model"
|
||||||
"Open_IM/src/common/log"
|
"Open_IM/src/common/log"
|
||||||
@ -59,7 +64,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
|
|||||||
}
|
}
|
||||||
log.Info(claims.UID, req.OperationID, "recv req: ", req.String())
|
log.Info(claims.UID, req.OperationID, "recv req: ", req.String())
|
||||||
|
|
||||||
if !imdb.IsExistGroupMember(req.GroupID, claims.UID) {
|
if !imdb.IsExistGroupMember(req.GroupID, claims.UID) && claims.UID != config.Config.AppManagerUid {
|
||||||
log.Error(req.Token, req.OperationID, "err= invite user not in group")
|
log.Error(req.Token, req.OperationID, "err= invite user not in group")
|
||||||
return &pbGroup.InviteUserToGroupResp{ErrorCode: config.ErrAccess.ErrCode, ErrorMsg: config.ErrAccess.ErrMsg}, nil
|
return &pbGroup.InviteUserToGroupResp{ErrorCode: config.ErrAccess.ErrCode, ErrorMsg: config.ErrAccess.ErrMsg}, nil
|
||||||
}
|
}
|
||||||
@ -94,16 +99,6 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
|
|||||||
resp.Id2Result = append(resp.Id2Result, &resultNode)
|
resp.Id2Result = append(resp.Id2Result, &resultNode)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
err = imdb.InsertGroupRequest(req.GroupID, fromUserInfo.UID, fromUserInfo.Name, fromUserInfo.Icon, toUserInfo.UID, req.Reason, "invited", 1)
|
|
||||||
if err != nil {
|
|
||||||
log.Error(v, req.OperationID, "InsertGroupRequest failed, err: ", err.Error(), "params: ",
|
|
||||||
req.GroupID, fromUserInfo.UID, fromUserInfo.Name, fromUserInfo.Icon, toUserInfo.UID, req.Reason)
|
|
||||||
resultNode.Result = -1
|
|
||||||
resp.Id2Result = append(resp.Id2Result, &resultNode)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
err = imdb.InsertGroupMember(req.GroupID, toUserInfo.UID, toUserInfo.Name, toUserInfo.Icon, 0)
|
err = imdb.InsertGroupMember(req.GroupID, toUserInfo.UID, toUserInfo.Name, toUserInfo.Icon, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -122,22 +117,42 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite
|
|||||||
}
|
}
|
||||||
resp.ErrorCode = 0
|
resp.ErrorCode = 0
|
||||||
resp.ErrorMsg = "ok"
|
resp.ErrorMsg = "ok"
|
||||||
/*
|
|
||||||
var chatMsg pbChat.WSToMsgSvrChatMsg
|
if claims.UID == config.Config.AppManagerUid {
|
||||||
chatMsg.SendID = claims.UID
|
var iu inviteUserToGroupReq
|
||||||
chatMsg.RecvID = req.GroupID
|
iu.GroupID = req.GroupID
|
||||||
content, _ := json.Marshal(req)
|
iu.OperationID = req.OperationID
|
||||||
chatMsg.Content = string(content)
|
iu.Reason = req.Reason
|
||||||
chatMsg.SendTime = utils.GetCurrentTimestampBySecond()
|
iu.UidList = req.UidList
|
||||||
chatMsg.MsgFrom = constant.UserMsgType
|
n := content_struct.NotificationContent{1, req.GroupID, iu.ContentToString()}
|
||||||
chatMsg.ContentType = constant.InviteUserToGroupTip
|
logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
|
||||||
chatMsg.SessionType = constant.GroupChatType
|
SendID: claims.UID,
|
||||||
logic.SendMsgByWS(&chatMsg)
|
RecvID: req.GroupID,
|
||||||
*/
|
Content: n.ContentToString(),
|
||||||
|
SendTime: utils.GetCurrentTimestampByNano(),
|
||||||
|
MsgFrom: constant.UserMsgType,
|
||||||
|
ContentType: constant.InviteUserToGroupTip,
|
||||||
|
SessionType: constant.GroupChatType,
|
||||||
|
OperationID: req.OperationID,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
return &resp, nil
|
return &resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type inviteUserToGroupReq struct {
|
||||||
|
GroupID string `json:"groupID"`
|
||||||
|
UidList []string `json:"uidList"`
|
||||||
|
Reason string `json:"reason"`
|
||||||
|
OperationID string `json:"operationID"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *inviteUserToGroupReq) ContentToString() string {
|
||||||
|
data, _ := json.Marshal(c)
|
||||||
|
dataString := string(data)
|
||||||
|
return dataString
|
||||||
|
}
|
||||||
|
|
||||||
func (s *groupServer) GetGroupAllMember(ctx context.Context, req *pbGroup.GetGroupAllMemberReq) (*pbGroup.GetGroupAllMemberResp, error) {
|
func (s *groupServer) GetGroupAllMember(ctx context.Context, req *pbGroup.GetGroupAllMemberReq) (*pbGroup.GetGroupAllMemberResp, error) {
|
||||||
claims, err := utils.ParseToken(req.Token)
|
claims, err := utils.ParseToken(req.Token)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -209,6 +224,28 @@ func (s *groupServer) GetGroupMemberList(ctx context.Context, req *pbGroup.GetGr
|
|||||||
return &resp, nil
|
return &resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type groupMemberFullInfo struct {
|
||||||
|
GroupId string `json:"groupID"`
|
||||||
|
UserId string `json:"userId"`
|
||||||
|
Role int `json:"role"`
|
||||||
|
JoinTime uint64 `json:"joinTime"`
|
||||||
|
NickName string `json:"nickName"`
|
||||||
|
FaceUrl string `json:"faceUrl"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type kickGroupMemberApiReq struct {
|
||||||
|
GroupID string `json:"groupID"`
|
||||||
|
UidListInfo []groupMemberFullInfo `json:"uidListInfo"`
|
||||||
|
Reason string `json:"reason"`
|
||||||
|
OperationID string `json:"operationID"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *kickGroupMemberApiReq) ContentToString() string {
|
||||||
|
data, _ := json.Marshal(c)
|
||||||
|
dataString := string(data)
|
||||||
|
return dataString
|
||||||
|
}
|
||||||
|
|
||||||
func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGroupMemberReq) (*pbGroup.KickGroupMemberResp, error) {
|
func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGroupMemberReq) (*pbGroup.KickGroupMemberResp, error) {
|
||||||
claims, err := utils.ParseToken(req.Token)
|
claims, err := utils.ParseToken(req.Token)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -230,6 +267,12 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if flag != 1 {
|
||||||
|
if claims.UID == config.Config.AppManagerUid {
|
||||||
|
flag = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if flag != 1 {
|
if flag != 1 {
|
||||||
log.Error(claims.UID, req.OperationID, "no access kick")
|
log.Error(claims.UID, req.OperationID, "no access kick")
|
||||||
return &pbGroup.KickGroupMemberResp{ErrorCode: config.ErrAccess.ErrCode, ErrorMsg: config.ErrAccess.ErrMsg}, nil
|
return &pbGroup.KickGroupMemberResp{ErrorCode: config.ErrAccess.ErrCode, ErrorMsg: config.ErrAccess.ErrMsg}, nil
|
||||||
@ -262,29 +305,48 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
var kq kickGroupMemberApiReq
|
||||||
|
|
||||||
/*
|
kq.GroupID = req.GroupID
|
||||||
var chatMsg pbChat.WSToMsgSvrChatMsg
|
kq.OperationID = req.OperationID
|
||||||
chatMsg.SendID = claims.UID
|
kq.Reason = req.Reason
|
||||||
chatMsg.RecvID = req.GroupID
|
|
||||||
content, _ := json.Marshal(req)
|
|
||||||
chatMsg.Content = string(content)
|
|
||||||
chatMsg.SendTime = utils.GetCurrentTimestampBySecond()
|
|
||||||
chatMsg.MsgFrom = constant.UserMsgType
|
|
||||||
chatMsg.ContentType = constant.KickGroupMemberTip
|
|
||||||
chatMsg.SessionType = constant.GroupChatType
|
|
||||||
logic.SendMsgByWS(&chatMsg)
|
|
||||||
|
|
||||||
for _, v := range req.UidList {
|
var gf groupMemberFullInfo
|
||||||
kickChatMsg := chatMsg
|
for _, v := range req.UidListInfo {
|
||||||
kickChatMsg.RecvID = v
|
gf.UserId = v.UserId
|
||||||
kickChatMsg.SendTime = utils.GetCurrentTimestampBySecond()
|
gf.GroupId = req.GroupID
|
||||||
kickChatMsg.SessionType = constant.SingleChatType
|
kq.UidListInfo = append(kq.UidListInfo, gf)
|
||||||
logic.SendMsgByWS(&kickChatMsg)
|
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
|
n := content_struct.NotificationContent{1, req.GroupID, kq.ContentToString()}
|
||||||
|
|
||||||
|
if claims.UID == config.Config.AppManagerUid {
|
||||||
|
log.Info("", req.OperationID, claims.UID, req.GroupID)
|
||||||
|
logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
|
||||||
|
SendID: claims.UID,
|
||||||
|
RecvID: req.GroupID,
|
||||||
|
Content: n.ContentToString(),
|
||||||
|
SendTime: utils.GetCurrentTimestampByNano(),
|
||||||
|
MsgFrom: constant.UserMsgType,
|
||||||
|
ContentType: constant.KickGroupMemberTip,
|
||||||
|
SessionType: constant.GroupChatType,
|
||||||
|
OperationID: req.OperationID,
|
||||||
|
})
|
||||||
|
|
||||||
|
for _, v := range req.UidListInfo {
|
||||||
|
log.Info("", req.OperationID, claims.UID, v.UserId)
|
||||||
|
logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
|
||||||
|
SendID: claims.UID,
|
||||||
|
RecvID: v.UserId,
|
||||||
|
Content: n.ContentToString(),
|
||||||
|
SendTime: utils.GetCurrentTimestampBySecond(),
|
||||||
|
MsgFrom: constant.UserMsgType,
|
||||||
|
ContentType: constant.KickGroupMemberTip,
|
||||||
|
SessionType: constant.SingleChatType,
|
||||||
|
OperationID: req.OperationID,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
resp.ErrorCode = 0
|
resp.ErrorCode = 0
|
||||||
return &resp, nil
|
return &resp, nil
|
||||||
}
|
}
|
||||||
|
61
src/rpc/user/user/management_user.go
Normal file
61
src/rpc/user/user/management_user.go
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
** description("").
|
||||||
|
** copyright('open-im,www.open-im.io').
|
||||||
|
** author("fg,Gordon@tuoyun.net").
|
||||||
|
** time(2021/9/15 10:28).
|
||||||
|
*/
|
||||||
|
package user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"Open_IM/src/common/config"
|
||||||
|
"Open_IM/src/common/db/mysql_model/im_mysql_model"
|
||||||
|
"Open_IM/src/common/log"
|
||||||
|
pbUser "Open_IM/src/proto/user"
|
||||||
|
"Open_IM/src/utils"
|
||||||
|
"context"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (s *userServer) DeleteUsers(_ context.Context, req *pbUser.DeleteUsersReq) (*pbUser.DeleteUsersResp, error) {
|
||||||
|
log.InfoByKv("rpc DeleteUsers arrived server", req.OperationID, "args", req.String())
|
||||||
|
var resp pbUser.DeleteUsersResp
|
||||||
|
c, err := utils.ParseToken(req.Token)
|
||||||
|
if err != nil {
|
||||||
|
log.ErrorByKv("parse token failed", req.OperationID, "err", err.Error())
|
||||||
|
return &pbUser.DeleteUsersResp{CommonResp: &pbUser.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: err.Error()}, FailedUidList: req.DeleteUidList}, nil
|
||||||
|
}
|
||||||
|
if c.UID != config.Config.AppManagerUid {
|
||||||
|
log.ErrorByKv(" Authentication failed", req.OperationID, "args", c)
|
||||||
|
return &pbUser.DeleteUsersResp{CommonResp: &pbUser.CommonResp{ErrorCode: 401, ErrorMsg: "not authorized"}, FailedUidList: req.DeleteUidList}, nil
|
||||||
|
}
|
||||||
|
for _, uid := range req.DeleteUidList {
|
||||||
|
err = im_mysql_model.UserDelete(uid)
|
||||||
|
if err != nil {
|
||||||
|
resp.CommonResp.ErrorCode = 201
|
||||||
|
resp.CommonResp.ErrorMsg = "some uid deleted failed"
|
||||||
|
resp.FailedUidList = append(resp.FailedUidList, uid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return &resp, nil
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *userServer) GetAllUsersUid(_ context.Context, req *pbUser.GetAllUsersUidReq) (*pbUser.GetAllUsersUidResp, error) {
|
||||||
|
log.InfoByKv("rpc GetAllUsersUid arrived server", req.OperationID, "args", req.String())
|
||||||
|
c, err := utils.ParseToken(req.Token)
|
||||||
|
if err != nil {
|
||||||
|
log.InfoByKv("parse token failed", req.OperationID, "err", err.Error())
|
||||||
|
return &pbUser.GetAllUsersUidResp{CommonResp: &pbUser.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: err.Error()}}, nil
|
||||||
|
}
|
||||||
|
if c.UID != config.Config.AppManagerUid {
|
||||||
|
log.ErrorByKv(" Authentication failed", req.OperationID, "args", c)
|
||||||
|
return &pbUser.GetAllUsersUidResp{CommonResp: &pbUser.CommonResp{ErrorCode: 401, ErrorMsg: "not authorized"}}, nil
|
||||||
|
}
|
||||||
|
uidList, err := im_mysql_model.SelectAllUID()
|
||||||
|
if err != nil {
|
||||||
|
log.ErrorByKv("db get failed", req.OperationID, "err", err.Error())
|
||||||
|
return &pbUser.GetAllUsersUidResp{CommonResp: &pbUser.CommonResp{ErrorCode: config.ErrMysql.ErrCode, ErrorMsg: err.Error()}}, nil
|
||||||
|
} else {
|
||||||
|
return &pbUser.GetAllUsersUidResp{CommonResp: &pbUser.CommonResp{ErrorCode: 0, ErrorMsg: ""}, UidList: uidList}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -22,7 +22,15 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
|
|||||||
log.Error(req.Token, req.OperationID, "err=%s,parse token failed", err.Error())
|
log.Error(req.Token, req.OperationID, "err=%s,parse token failed", err.Error())
|
||||||
return &pbUser.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: err.Error()}, nil
|
return &pbUser.CommonResp{ErrorCode: config.ErrParseToken.ErrCode, ErrorMsg: err.Error()}, nil
|
||||||
}
|
}
|
||||||
err = im_mysql_model.UpDateUserInfo(claims.UID, req.Name, req.Icon, req.Mobile, req.Birth, req.Email, req.Ex, req.Gender)
|
|
||||||
|
ownerUid := ""
|
||||||
|
if claims.UID == config.Config.AppManagerUid {
|
||||||
|
ownerUid = req.Uid
|
||||||
|
} else {
|
||||||
|
ownerUid = claims.UID
|
||||||
|
}
|
||||||
|
|
||||||
|
err = im_mysql_model.UpDateUserInfo(ownerUid, req.Name, req.Icon, req.Mobile, req.Birth, req.Email, req.Ex, req.Gender)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(req.Token, req.OperationID, "update user some attribute failed,err=%s", err.Error())
|
log.Error(req.Token, req.OperationID, "update user some attribute failed,err=%s", err.Error())
|
||||||
return &pbUser.CommonResp{ErrorCode: config.ErrModifyUserInfo.ErrCode, ErrorMsg: config.ErrModifyUserInfo.ErrMsg}, nil
|
return &pbUser.CommonResp{ErrorCode: config.ErrModifyUserInfo.ErrCode, ErrorMsg: config.ErrModifyUserInfo.ErrMsg}, nil
|
||||||
@ -43,7 +51,7 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
|
|||||||
log.ErrorByKv("get friend list rpc server failed", req.OperationID, "err", err.Error(), "req", req.String())
|
log.ErrorByKv("get friend list rpc server failed", req.OperationID, "err", err.Error(), "req", req.String())
|
||||||
|
|
||||||
}
|
}
|
||||||
self, err := im_mysql_model.FindUserByUID(claims.UID)
|
self, err := im_mysql_model.FindUserByUID(ownerUid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.ErrorByKv("get self info failed", req.OperationID, "err", err.Error(), "req", req.String())
|
log.ErrorByKv("get self info failed", req.OperationID, "err", err.Error(), "req", req.String())
|
||||||
}
|
}
|
||||||
@ -53,12 +61,12 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
|
|||||||
}
|
}
|
||||||
for _, v := range RpcResp.Data {
|
for _, v := range RpcResp.Data {
|
||||||
logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
|
logic.SendMsgByWS(&pbChat.WSToMsgSvrChatMsg{
|
||||||
SendID: claims.UID,
|
SendID: ownerUid,
|
||||||
RecvID: v.Uid,
|
RecvID: v.Uid,
|
||||||
SenderNickName: name,
|
SenderNickName: name,
|
||||||
SenderFaceURL: faceUrl,
|
SenderFaceURL: faceUrl,
|
||||||
Content: claims.UID + "'s info has changed",
|
Content: ownerUid + "'s info has changed",
|
||||||
SendTime: utils.GetCurrentTimestampBySecond(),
|
SendTime: utils.GetCurrentTimestampByNano(),
|
||||||
MsgFrom: constant.SysMsgType,
|
MsgFrom: constant.SysMsgType,
|
||||||
ContentType: constant.SetSelfInfoTip,
|
ContentType: constant.SetSelfInfoTip,
|
||||||
SessionType: constant.SingleChatType,
|
SessionType: constant.SingleChatType,
|
||||||
|
@ -8,6 +8,7 @@ package utils
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"math/rand"
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -53,3 +54,11 @@ func JsonStringToStruct(s string, args interface{}) error {
|
|||||||
err := json.Unmarshal([]byte(s), args)
|
err := json.Unmarshal([]byte(s), args)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetMsgID(sendID string) string {
|
||||||
|
t := int64ToString(GetCurrentTimestampByNano())
|
||||||
|
return Md5(t + sendID + int64ToString(rand.Int63n(GetCurrentTimestampByNano())))
|
||||||
|
}
|
||||||
|
func int64ToString(i int64) string {
|
||||||
|
return strconv.FormatInt(i, 10)
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user