orgization

This commit is contained in:
wangchuxiao 2022-09-20 11:08:46 +08:00 committed by Xinwei Xiong(cubxxw-openim)
parent 3651292186
commit c82e35f55c
7 changed files with 312 additions and 87 deletions

View File

@ -174,7 +174,7 @@ func main() {
organizationGroup.POST("/get_department_member", organization.GetDepartmentMember) organizationGroup.POST("/get_department_member", organization.GetDepartmentMember)
organizationGroup.POST("/delete_user_in_department", organization.DeleteUserInDepartment) organizationGroup.POST("/delete_user_in_department", organization.DeleteUserInDepartment)
organizationGroup.POST("/get_user_in_organization", organization.GetUserInOrganization)
} }
go apiThird.MinioInit() go apiThird.MinioInit()

View File

@ -441,3 +441,40 @@ func DeleteUserInDepartment(c *gin.Context) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "api return ", apiResp) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "api return ", apiResp)
c.JSON(http.StatusOK, apiResp) c.JSON(http.StatusOK, apiResp)
} }
func GetUserInOrganization(c *gin.Context) {
req := api.GetUserInOrganizationReq{}
if err := c.BindJSON(&req); err != nil {
log.NewError(req.OperationID, "BindJSON failed ", err.Error())
c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()})
return
}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req)
err, _ := token_verify.ParseTokenGetUserID(c.Request.Header.Get("token"), req.OperationID)
if err != nil {
errMsg := "ParseTokenGetUserID failed " + err.Error() + c.Request.Header.Get("token")
log.NewError(req.OperationID, errMsg, errMsg)
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOrganizationName, req.OperationID)
if etcdConn == nil {
errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil"
log.NewError(req.OperationID, errMsg)
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
reqPb := &rpc.GetUserInOrganizationReq{}
client := rpc.NewOrganizationClient(etcdConn)
respPb, err := client.GetUserInOrganization(context.Background(), reqPb)
if err != nil {
errMsg := "rpc DeleteUserInDepartment failed " + err.Error() + reqPb.String()
log.NewError(req.OperationID, errMsg)
c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg})
return
}
apiResp := api.GetUserInOrganizationResp{CommResp: api.CommResp{ErrCode: respPb.ErrCode, ErrMsg: respPb.ErrMsg}, OrganizationUserList: respPb.OrganizationUsers}
apiResp.Data = jsonData.JsonDataList(apiResp.OrganizationUserList)
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "api return ", apiResp)
c.JSON(http.StatusOK, apiResp)
}

View File

@ -488,3 +488,22 @@ func (s *organizationServer) GetDepartmentRelatedGroupIDList(ctx context.Context
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
return resp, nil return resp, nil
} }
func (s *organizationServer) GetUserInOrganization(_ context.Context, req *rpc.GetUserInOrganizationReq) (resp *rpc.GetUserInOrganizationResp, err error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
resp = &rpc.GetUserInOrganizationResp{}
organizationUserList, err := imdb.GetOrganizationUsers(req.UserIDList)
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList)
resp.ErrCode = constant.ErrDB.ErrCode
resp.ErrMsg = err.Error()
return resp, nil
}
for _, v := range organizationUserList {
organizationUser := &open_im_sdk.OrganizationUser{}
utils.CopyStructFields(organizationUser, v)
resp.OrganizationUsers = append(resp.OrganizationUsers, organizationUser)
}
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
return resp, nil
}

View File

@ -108,3 +108,14 @@ type DeleteUserInDepartmentReq struct {
type DeleteUserInDepartmentResp struct { type DeleteUserInDepartmentResp struct {
CommResp CommResp
} }
type GetUserInOrganizationReq struct {
OperationID string `json:"operationID" binding:"required"`
UserIDList []string `json:"userIDList" binding:"required"`
}
type GetUserInOrganizationResp struct {
CommResp
OrganizationUserList []*open_im_sdk.OrganizationUser `json:"organizationUserList"`
Data []map[string]interface{} `json:"data" swaggerignore:"true"`
}

View File

@ -89,6 +89,12 @@ func GetOrganizationUser(userID string) (error, *db.OrganizationUser) {
return err, &organizationUser return err, &organizationUser
} }
func GetOrganizationUsers(userIDList []string) ([]*db.OrganizationUser, error) {
var organizationUserList []*db.OrganizationUser
err := db.DB.MysqlDB.DefaultGormDB().Table("organization_users").Where("user_id in (?)", userIDList).Find(&organizationUserList).Error
return organizationUserList, err
}
func UpdateOrganizationUser(organizationUser *db.OrganizationUser, args map[string]interface{}) error { func UpdateOrganizationUser(organizationUser *db.OrganizationUser, args map[string]interface{}) error {
dbConn, err := db.DB.MysqlDB.DefaultGormDB() dbConn, err := db.DB.MysqlDB.DefaultGormDB()
if err != nil { if err != nil {

View File

@ -37,7 +37,7 @@ func (m *CreateDepartmentReq) Reset() { *m = CreateDepartmentReq{} }
func (m *CreateDepartmentReq) String() string { return proto.CompactTextString(m) } func (m *CreateDepartmentReq) String() string { return proto.CompactTextString(m) }
func (*CreateDepartmentReq) ProtoMessage() {} func (*CreateDepartmentReq) ProtoMessage() {}
func (*CreateDepartmentReq) Descriptor() ([]byte, []int) { func (*CreateDepartmentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{0} return fileDescriptor_organization_a66b64589e547186, []int{0}
} }
func (m *CreateDepartmentReq) XXX_Unmarshal(b []byte) error { func (m *CreateDepartmentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateDepartmentReq.Unmarshal(m, b) return xxx_messageInfo_CreateDepartmentReq.Unmarshal(m, b)
@ -91,7 +91,7 @@ func (m *CreateDepartmentResp) Reset() { *m = CreateDepartmentResp{} }
func (m *CreateDepartmentResp) String() string { return proto.CompactTextString(m) } func (m *CreateDepartmentResp) String() string { return proto.CompactTextString(m) }
func (*CreateDepartmentResp) ProtoMessage() {} func (*CreateDepartmentResp) ProtoMessage() {}
func (*CreateDepartmentResp) Descriptor() ([]byte, []int) { func (*CreateDepartmentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{1} return fileDescriptor_organization_a66b64589e547186, []int{1}
} }
func (m *CreateDepartmentResp) XXX_Unmarshal(b []byte) error { func (m *CreateDepartmentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateDepartmentResp.Unmarshal(m, b) return xxx_messageInfo_CreateDepartmentResp.Unmarshal(m, b)
@ -145,7 +145,7 @@ func (m *UpdateDepartmentReq) Reset() { *m = UpdateDepartmentReq{} }
func (m *UpdateDepartmentReq) String() string { return proto.CompactTextString(m) } func (m *UpdateDepartmentReq) String() string { return proto.CompactTextString(m) }
func (*UpdateDepartmentReq) ProtoMessage() {} func (*UpdateDepartmentReq) ProtoMessage() {}
func (*UpdateDepartmentReq) Descriptor() ([]byte, []int) { func (*UpdateDepartmentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{2} return fileDescriptor_organization_a66b64589e547186, []int{2}
} }
func (m *UpdateDepartmentReq) XXX_Unmarshal(b []byte) error { func (m *UpdateDepartmentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateDepartmentReq.Unmarshal(m, b) return xxx_messageInfo_UpdateDepartmentReq.Unmarshal(m, b)
@ -198,7 +198,7 @@ func (m *UpdateDepartmentResp) Reset() { *m = UpdateDepartmentResp{} }
func (m *UpdateDepartmentResp) String() string { return proto.CompactTextString(m) } func (m *UpdateDepartmentResp) String() string { return proto.CompactTextString(m) }
func (*UpdateDepartmentResp) ProtoMessage() {} func (*UpdateDepartmentResp) ProtoMessage() {}
func (*UpdateDepartmentResp) Descriptor() ([]byte, []int) { func (*UpdateDepartmentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{3} return fileDescriptor_organization_a66b64589e547186, []int{3}
} }
func (m *UpdateDepartmentResp) XXX_Unmarshal(b []byte) error { func (m *UpdateDepartmentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateDepartmentResp.Unmarshal(m, b) return xxx_messageInfo_UpdateDepartmentResp.Unmarshal(m, b)
@ -245,7 +245,7 @@ func (m *GetSubDepartmentReq) Reset() { *m = GetSubDepartmentReq{} }
func (m *GetSubDepartmentReq) String() string { return proto.CompactTextString(m) } func (m *GetSubDepartmentReq) String() string { return proto.CompactTextString(m) }
func (*GetSubDepartmentReq) ProtoMessage() {} func (*GetSubDepartmentReq) ProtoMessage() {}
func (*GetSubDepartmentReq) Descriptor() ([]byte, []int) { func (*GetSubDepartmentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{4} return fileDescriptor_organization_a66b64589e547186, []int{4}
} }
func (m *GetSubDepartmentReq) XXX_Unmarshal(b []byte) error { func (m *GetSubDepartmentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSubDepartmentReq.Unmarshal(m, b) return xxx_messageInfo_GetSubDepartmentReq.Unmarshal(m, b)
@ -299,7 +299,7 @@ func (m *GetSubDepartmentResp) Reset() { *m = GetSubDepartmentResp{} }
func (m *GetSubDepartmentResp) String() string { return proto.CompactTextString(m) } func (m *GetSubDepartmentResp) String() string { return proto.CompactTextString(m) }
func (*GetSubDepartmentResp) ProtoMessage() {} func (*GetSubDepartmentResp) ProtoMessage() {}
func (*GetSubDepartmentResp) Descriptor() ([]byte, []int) { func (*GetSubDepartmentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{5} return fileDescriptor_organization_a66b64589e547186, []int{5}
} }
func (m *GetSubDepartmentResp) XXX_Unmarshal(b []byte) error { func (m *GetSubDepartmentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSubDepartmentResp.Unmarshal(m, b) return xxx_messageInfo_GetSubDepartmentResp.Unmarshal(m, b)
@ -353,7 +353,7 @@ func (m *DeleteDepartmentReq) Reset() { *m = DeleteDepartmentReq{} }
func (m *DeleteDepartmentReq) String() string { return proto.CompactTextString(m) } func (m *DeleteDepartmentReq) String() string { return proto.CompactTextString(m) }
func (*DeleteDepartmentReq) ProtoMessage() {} func (*DeleteDepartmentReq) ProtoMessage() {}
func (*DeleteDepartmentReq) Descriptor() ([]byte, []int) { func (*DeleteDepartmentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{6} return fileDescriptor_organization_a66b64589e547186, []int{6}
} }
func (m *DeleteDepartmentReq) XXX_Unmarshal(b []byte) error { func (m *DeleteDepartmentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteDepartmentReq.Unmarshal(m, b) return xxx_messageInfo_DeleteDepartmentReq.Unmarshal(m, b)
@ -406,7 +406,7 @@ func (m *DeleteDepartmentResp) Reset() { *m = DeleteDepartmentResp{} }
func (m *DeleteDepartmentResp) String() string { return proto.CompactTextString(m) } func (m *DeleteDepartmentResp) String() string { return proto.CompactTextString(m) }
func (*DeleteDepartmentResp) ProtoMessage() {} func (*DeleteDepartmentResp) ProtoMessage() {}
func (*DeleteDepartmentResp) Descriptor() ([]byte, []int) { func (*DeleteDepartmentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{7} return fileDescriptor_organization_a66b64589e547186, []int{7}
} }
func (m *DeleteDepartmentResp) XXX_Unmarshal(b []byte) error { func (m *DeleteDepartmentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteDepartmentResp.Unmarshal(m, b) return xxx_messageInfo_DeleteDepartmentResp.Unmarshal(m, b)
@ -452,7 +452,7 @@ func (m *GetDepartmentParentIDListReq) Reset() { *m = GetDepartmentParen
func (m *GetDepartmentParentIDListReq) String() string { return proto.CompactTextString(m) } func (m *GetDepartmentParentIDListReq) String() string { return proto.CompactTextString(m) }
func (*GetDepartmentParentIDListReq) ProtoMessage() {} func (*GetDepartmentParentIDListReq) ProtoMessage() {}
func (*GetDepartmentParentIDListReq) Descriptor() ([]byte, []int) { func (*GetDepartmentParentIDListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{8} return fileDescriptor_organization_a66b64589e547186, []int{8}
} }
func (m *GetDepartmentParentIDListReq) XXX_Unmarshal(b []byte) error { func (m *GetDepartmentParentIDListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetDepartmentParentIDListReq.Unmarshal(m, b) return xxx_messageInfo_GetDepartmentParentIDListReq.Unmarshal(m, b)
@ -499,7 +499,7 @@ func (m *GetDepartmentParentIDListResp) Reset() { *m = GetDepartmentPare
func (m *GetDepartmentParentIDListResp) String() string { return proto.CompactTextString(m) } func (m *GetDepartmentParentIDListResp) String() string { return proto.CompactTextString(m) }
func (*GetDepartmentParentIDListResp) ProtoMessage() {} func (*GetDepartmentParentIDListResp) ProtoMessage() {}
func (*GetDepartmentParentIDListResp) Descriptor() ([]byte, []int) { func (*GetDepartmentParentIDListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{9} return fileDescriptor_organization_a66b64589e547186, []int{9}
} }
func (m *GetDepartmentParentIDListResp) XXX_Unmarshal(b []byte) error { func (m *GetDepartmentParentIDListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetDepartmentParentIDListResp.Unmarshal(m, b) return xxx_messageInfo_GetDepartmentParentIDListResp.Unmarshal(m, b)
@ -554,7 +554,7 @@ func (m *CreateOrganizationUserReq) Reset() { *m = CreateOrganizationUse
func (m *CreateOrganizationUserReq) String() string { return proto.CompactTextString(m) } func (m *CreateOrganizationUserReq) String() string { return proto.CompactTextString(m) }
func (*CreateOrganizationUserReq) ProtoMessage() {} func (*CreateOrganizationUserReq) ProtoMessage() {}
func (*CreateOrganizationUserReq) Descriptor() ([]byte, []int) { func (*CreateOrganizationUserReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{10} return fileDescriptor_organization_a66b64589e547186, []int{10}
} }
func (m *CreateOrganizationUserReq) XXX_Unmarshal(b []byte) error { func (m *CreateOrganizationUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateOrganizationUserReq.Unmarshal(m, b) return xxx_messageInfo_CreateOrganizationUserReq.Unmarshal(m, b)
@ -614,7 +614,7 @@ func (m *CreateOrganizationUserResp) Reset() { *m = CreateOrganizationUs
func (m *CreateOrganizationUserResp) String() string { return proto.CompactTextString(m) } func (m *CreateOrganizationUserResp) String() string { return proto.CompactTextString(m) }
func (*CreateOrganizationUserResp) ProtoMessage() {} func (*CreateOrganizationUserResp) ProtoMessage() {}
func (*CreateOrganizationUserResp) Descriptor() ([]byte, []int) { func (*CreateOrganizationUserResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{11} return fileDescriptor_organization_a66b64589e547186, []int{11}
} }
func (m *CreateOrganizationUserResp) XXX_Unmarshal(b []byte) error { func (m *CreateOrganizationUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateOrganizationUserResp.Unmarshal(m, b) return xxx_messageInfo_CreateOrganizationUserResp.Unmarshal(m, b)
@ -661,7 +661,7 @@ func (m *UpdateOrganizationUserReq) Reset() { *m = UpdateOrganizationUse
func (m *UpdateOrganizationUserReq) String() string { return proto.CompactTextString(m) } func (m *UpdateOrganizationUserReq) String() string { return proto.CompactTextString(m) }
func (*UpdateOrganizationUserReq) ProtoMessage() {} func (*UpdateOrganizationUserReq) ProtoMessage() {}
func (*UpdateOrganizationUserReq) Descriptor() ([]byte, []int) { func (*UpdateOrganizationUserReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{12} return fileDescriptor_organization_a66b64589e547186, []int{12}
} }
func (m *UpdateOrganizationUserReq) XXX_Unmarshal(b []byte) error { func (m *UpdateOrganizationUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateOrganizationUserReq.Unmarshal(m, b) return xxx_messageInfo_UpdateOrganizationUserReq.Unmarshal(m, b)
@ -714,7 +714,7 @@ func (m *UpdateOrganizationUserResp) Reset() { *m = UpdateOrganizationUs
func (m *UpdateOrganizationUserResp) String() string { return proto.CompactTextString(m) } func (m *UpdateOrganizationUserResp) String() string { return proto.CompactTextString(m) }
func (*UpdateOrganizationUserResp) ProtoMessage() {} func (*UpdateOrganizationUserResp) ProtoMessage() {}
func (*UpdateOrganizationUserResp) Descriptor() ([]byte, []int) { func (*UpdateOrganizationUserResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{13} return fileDescriptor_organization_a66b64589e547186, []int{13}
} }
func (m *UpdateOrganizationUserResp) XXX_Unmarshal(b []byte) error { func (m *UpdateOrganizationUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateOrganizationUserResp.Unmarshal(m, b) return xxx_messageInfo_UpdateOrganizationUserResp.Unmarshal(m, b)
@ -761,7 +761,7 @@ func (m *CreateDepartmentMemberReq) Reset() { *m = CreateDepartmentMembe
func (m *CreateDepartmentMemberReq) String() string { return proto.CompactTextString(m) } func (m *CreateDepartmentMemberReq) String() string { return proto.CompactTextString(m) }
func (*CreateDepartmentMemberReq) ProtoMessage() {} func (*CreateDepartmentMemberReq) ProtoMessage() {}
func (*CreateDepartmentMemberReq) Descriptor() ([]byte, []int) { func (*CreateDepartmentMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{14} return fileDescriptor_organization_a66b64589e547186, []int{14}
} }
func (m *CreateDepartmentMemberReq) XXX_Unmarshal(b []byte) error { func (m *CreateDepartmentMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateDepartmentMemberReq.Unmarshal(m, b) return xxx_messageInfo_CreateDepartmentMemberReq.Unmarshal(m, b)
@ -814,7 +814,7 @@ func (m *CreateDepartmentMemberResp) Reset() { *m = CreateDepartmentMemb
func (m *CreateDepartmentMemberResp) String() string { return proto.CompactTextString(m) } func (m *CreateDepartmentMemberResp) String() string { return proto.CompactTextString(m) }
func (*CreateDepartmentMemberResp) ProtoMessage() {} func (*CreateDepartmentMemberResp) ProtoMessage() {}
func (*CreateDepartmentMemberResp) Descriptor() ([]byte, []int) { func (*CreateDepartmentMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{15} return fileDescriptor_organization_a66b64589e547186, []int{15}
} }
func (m *CreateDepartmentMemberResp) XXX_Unmarshal(b []byte) error { func (m *CreateDepartmentMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateDepartmentMemberResp.Unmarshal(m, b) return xxx_messageInfo_CreateDepartmentMemberResp.Unmarshal(m, b)
@ -861,7 +861,7 @@ func (m *GetUserInDepartmentReq) Reset() { *m = GetUserInDepartmentReq{}
func (m *GetUserInDepartmentReq) String() string { return proto.CompactTextString(m) } func (m *GetUserInDepartmentReq) String() string { return proto.CompactTextString(m) }
func (*GetUserInDepartmentReq) ProtoMessage() {} func (*GetUserInDepartmentReq) ProtoMessage() {}
func (*GetUserInDepartmentReq) Descriptor() ([]byte, []int) { func (*GetUserInDepartmentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{16} return fileDescriptor_organization_a66b64589e547186, []int{16}
} }
func (m *GetUserInDepartmentReq) XXX_Unmarshal(b []byte) error { func (m *GetUserInDepartmentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserInDepartmentReq.Unmarshal(m, b) return xxx_messageInfo_GetUserInDepartmentReq.Unmarshal(m, b)
@ -915,7 +915,7 @@ func (m *GetUserInDepartmentResp) Reset() { *m = GetUserInDepartmentResp
func (m *GetUserInDepartmentResp) String() string { return proto.CompactTextString(m) } func (m *GetUserInDepartmentResp) String() string { return proto.CompactTextString(m) }
func (*GetUserInDepartmentResp) ProtoMessage() {} func (*GetUserInDepartmentResp) ProtoMessage() {}
func (*GetUserInDepartmentResp) Descriptor() ([]byte, []int) { func (*GetUserInDepartmentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{17} return fileDescriptor_organization_a66b64589e547186, []int{17}
} }
func (m *GetUserInDepartmentResp) XXX_Unmarshal(b []byte) error { func (m *GetUserInDepartmentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserInDepartmentResp.Unmarshal(m, b) return xxx_messageInfo_GetUserInDepartmentResp.Unmarshal(m, b)
@ -969,7 +969,7 @@ func (m *UpdateUserInDepartmentReq) Reset() { *m = UpdateUserInDepartmen
func (m *UpdateUserInDepartmentReq) String() string { return proto.CompactTextString(m) } func (m *UpdateUserInDepartmentReq) String() string { return proto.CompactTextString(m) }
func (*UpdateUserInDepartmentReq) ProtoMessage() {} func (*UpdateUserInDepartmentReq) ProtoMessage() {}
func (*UpdateUserInDepartmentReq) Descriptor() ([]byte, []int) { func (*UpdateUserInDepartmentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{18} return fileDescriptor_organization_a66b64589e547186, []int{18}
} }
func (m *UpdateUserInDepartmentReq) XXX_Unmarshal(b []byte) error { func (m *UpdateUserInDepartmentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateUserInDepartmentReq.Unmarshal(m, b) return xxx_messageInfo_UpdateUserInDepartmentReq.Unmarshal(m, b)
@ -1022,7 +1022,7 @@ func (m *UpdateUserInDepartmentResp) Reset() { *m = UpdateUserInDepartme
func (m *UpdateUserInDepartmentResp) String() string { return proto.CompactTextString(m) } func (m *UpdateUserInDepartmentResp) String() string { return proto.CompactTextString(m) }
func (*UpdateUserInDepartmentResp) ProtoMessage() {} func (*UpdateUserInDepartmentResp) ProtoMessage() {}
func (*UpdateUserInDepartmentResp) Descriptor() ([]byte, []int) { func (*UpdateUserInDepartmentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{19} return fileDescriptor_organization_a66b64589e547186, []int{19}
} }
func (m *UpdateUserInDepartmentResp) XXX_Unmarshal(b []byte) error { func (m *UpdateUserInDepartmentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateUserInDepartmentResp.Unmarshal(m, b) return xxx_messageInfo_UpdateUserInDepartmentResp.Unmarshal(m, b)
@ -1070,7 +1070,7 @@ func (m *DeleteUserInDepartmentReq) Reset() { *m = DeleteUserInDepartmen
func (m *DeleteUserInDepartmentReq) String() string { return proto.CompactTextString(m) } func (m *DeleteUserInDepartmentReq) String() string { return proto.CompactTextString(m) }
func (*DeleteUserInDepartmentReq) ProtoMessage() {} func (*DeleteUserInDepartmentReq) ProtoMessage() {}
func (*DeleteUserInDepartmentReq) Descriptor() ([]byte, []int) { func (*DeleteUserInDepartmentReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{20} return fileDescriptor_organization_a66b64589e547186, []int{20}
} }
func (m *DeleteUserInDepartmentReq) XXX_Unmarshal(b []byte) error { func (m *DeleteUserInDepartmentReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteUserInDepartmentReq.Unmarshal(m, b) return xxx_messageInfo_DeleteUserInDepartmentReq.Unmarshal(m, b)
@ -1130,7 +1130,7 @@ func (m *DeleteUserInDepartmentResp) Reset() { *m = DeleteUserInDepartme
func (m *DeleteUserInDepartmentResp) String() string { return proto.CompactTextString(m) } func (m *DeleteUserInDepartmentResp) String() string { return proto.CompactTextString(m) }
func (*DeleteUserInDepartmentResp) ProtoMessage() {} func (*DeleteUserInDepartmentResp) ProtoMessage() {}
func (*DeleteUserInDepartmentResp) Descriptor() ([]byte, []int) { func (*DeleteUserInDepartmentResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{21} return fileDescriptor_organization_a66b64589e547186, []int{21}
} }
func (m *DeleteUserInDepartmentResp) XXX_Unmarshal(b []byte) error { func (m *DeleteUserInDepartmentResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteUserInDepartmentResp.Unmarshal(m, b) return xxx_messageInfo_DeleteUserInDepartmentResp.Unmarshal(m, b)
@ -1177,7 +1177,7 @@ func (m *DeleteOrganizationUserReq) Reset() { *m = DeleteOrganizationUse
func (m *DeleteOrganizationUserReq) String() string { return proto.CompactTextString(m) } func (m *DeleteOrganizationUserReq) String() string { return proto.CompactTextString(m) }
func (*DeleteOrganizationUserReq) ProtoMessage() {} func (*DeleteOrganizationUserReq) ProtoMessage() {}
func (*DeleteOrganizationUserReq) Descriptor() ([]byte, []int) { func (*DeleteOrganizationUserReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{22} return fileDescriptor_organization_a66b64589e547186, []int{22}
} }
func (m *DeleteOrganizationUserReq) XXX_Unmarshal(b []byte) error { func (m *DeleteOrganizationUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteOrganizationUserReq.Unmarshal(m, b) return xxx_messageInfo_DeleteOrganizationUserReq.Unmarshal(m, b)
@ -1230,7 +1230,7 @@ func (m *DeleteOrganizationUserResp) Reset() { *m = DeleteOrganizationUs
func (m *DeleteOrganizationUserResp) String() string { return proto.CompactTextString(m) } func (m *DeleteOrganizationUserResp) String() string { return proto.CompactTextString(m) }
func (*DeleteOrganizationUserResp) ProtoMessage() {} func (*DeleteOrganizationUserResp) ProtoMessage() {}
func (*DeleteOrganizationUserResp) Descriptor() ([]byte, []int) { func (*DeleteOrganizationUserResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{23} return fileDescriptor_organization_a66b64589e547186, []int{23}
} }
func (m *DeleteOrganizationUserResp) XXX_Unmarshal(b []byte) error { func (m *DeleteOrganizationUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteOrganizationUserResp.Unmarshal(m, b) return xxx_messageInfo_DeleteOrganizationUserResp.Unmarshal(m, b)
@ -1277,7 +1277,7 @@ func (m *GetDepartmentMemberReq) Reset() { *m = GetDepartmentMemberReq{}
func (m *GetDepartmentMemberReq) String() string { return proto.CompactTextString(m) } func (m *GetDepartmentMemberReq) String() string { return proto.CompactTextString(m) }
func (*GetDepartmentMemberReq) ProtoMessage() {} func (*GetDepartmentMemberReq) ProtoMessage() {}
func (*GetDepartmentMemberReq) Descriptor() ([]byte, []int) { func (*GetDepartmentMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{24} return fileDescriptor_organization_a66b64589e547186, []int{24}
} }
func (m *GetDepartmentMemberReq) XXX_Unmarshal(b []byte) error { func (m *GetDepartmentMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetDepartmentMemberReq.Unmarshal(m, b) return xxx_messageInfo_GetDepartmentMemberReq.Unmarshal(m, b)
@ -1331,7 +1331,7 @@ func (m *GetDepartmentMemberResp) Reset() { *m = GetDepartmentMemberResp
func (m *GetDepartmentMemberResp) String() string { return proto.CompactTextString(m) } func (m *GetDepartmentMemberResp) String() string { return proto.CompactTextString(m) }
func (*GetDepartmentMemberResp) ProtoMessage() {} func (*GetDepartmentMemberResp) ProtoMessage() {}
func (*GetDepartmentMemberResp) Descriptor() ([]byte, []int) { func (*GetDepartmentMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{25} return fileDescriptor_organization_a66b64589e547186, []int{25}
} }
func (m *GetDepartmentMemberResp) XXX_Unmarshal(b []byte) error { func (m *GetDepartmentMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetDepartmentMemberResp.Unmarshal(m, b) return xxx_messageInfo_GetDepartmentMemberResp.Unmarshal(m, b)
@ -1384,7 +1384,7 @@ func (m *GetDepartmentRelatedGroupIDListReq) Reset() { *m = GetDepartmen
func (m *GetDepartmentRelatedGroupIDListReq) String() string { return proto.CompactTextString(m) } func (m *GetDepartmentRelatedGroupIDListReq) String() string { return proto.CompactTextString(m) }
func (*GetDepartmentRelatedGroupIDListReq) ProtoMessage() {} func (*GetDepartmentRelatedGroupIDListReq) ProtoMessage() {}
func (*GetDepartmentRelatedGroupIDListReq) Descriptor() ([]byte, []int) { func (*GetDepartmentRelatedGroupIDListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{26} return fileDescriptor_organization_a66b64589e547186, []int{26}
} }
func (m *GetDepartmentRelatedGroupIDListReq) XXX_Unmarshal(b []byte) error { func (m *GetDepartmentRelatedGroupIDListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetDepartmentRelatedGroupIDListReq.Unmarshal(m, b) return xxx_messageInfo_GetDepartmentRelatedGroupIDListReq.Unmarshal(m, b)
@ -1431,7 +1431,7 @@ func (m *GetDepartmentRelatedGroupIDListResp) Reset() { *m = GetDepartme
func (m *GetDepartmentRelatedGroupIDListResp) String() string { return proto.CompactTextString(m) } func (m *GetDepartmentRelatedGroupIDListResp) String() string { return proto.CompactTextString(m) }
func (*GetDepartmentRelatedGroupIDListResp) ProtoMessage() {} func (*GetDepartmentRelatedGroupIDListResp) ProtoMessage() {}
func (*GetDepartmentRelatedGroupIDListResp) Descriptor() ([]byte, []int) { func (*GetDepartmentRelatedGroupIDListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_2845c40b2de0bcf0, []int{27} return fileDescriptor_organization_a66b64589e547186, []int{27}
} }
func (m *GetDepartmentRelatedGroupIDListResp) XXX_Unmarshal(b []byte) error { func (m *GetDepartmentRelatedGroupIDListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetDepartmentRelatedGroupIDListResp.Unmarshal(m, b) return xxx_messageInfo_GetDepartmentRelatedGroupIDListResp.Unmarshal(m, b)
@ -1472,6 +1472,106 @@ func (m *GetDepartmentRelatedGroupIDListResp) GetGroupIDList() []string {
return nil return nil
} }
type GetUserInOrganizationReq struct {
UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetUserInOrganizationReq) Reset() { *m = GetUserInOrganizationReq{} }
func (m *GetUserInOrganizationReq) String() string { return proto.CompactTextString(m) }
func (*GetUserInOrganizationReq) ProtoMessage() {}
func (*GetUserInOrganizationReq) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_a66b64589e547186, []int{28}
}
func (m *GetUserInOrganizationReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserInOrganizationReq.Unmarshal(m, b)
}
func (m *GetUserInOrganizationReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetUserInOrganizationReq.Marshal(b, m, deterministic)
}
func (dst *GetUserInOrganizationReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetUserInOrganizationReq.Merge(dst, src)
}
func (m *GetUserInOrganizationReq) XXX_Size() int {
return xxx_messageInfo_GetUserInOrganizationReq.Size(m)
}
func (m *GetUserInOrganizationReq) XXX_DiscardUnknown() {
xxx_messageInfo_GetUserInOrganizationReq.DiscardUnknown(m)
}
var xxx_messageInfo_GetUserInOrganizationReq proto.InternalMessageInfo
func (m *GetUserInOrganizationReq) GetUserIDList() []string {
if m != nil {
return m.UserIDList
}
return nil
}
func (m *GetUserInOrganizationReq) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
type GetUserInOrganizationResp struct {
ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"`
OrganizationUsers []*sdk_ws.OrganizationUser `protobuf:"bytes,3,rep,name=organizationUsers" json:"organizationUsers,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetUserInOrganizationResp) Reset() { *m = GetUserInOrganizationResp{} }
func (m *GetUserInOrganizationResp) String() string { return proto.CompactTextString(m) }
func (*GetUserInOrganizationResp) ProtoMessage() {}
func (*GetUserInOrganizationResp) Descriptor() ([]byte, []int) {
return fileDescriptor_organization_a66b64589e547186, []int{29}
}
func (m *GetUserInOrganizationResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserInOrganizationResp.Unmarshal(m, b)
}
func (m *GetUserInOrganizationResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetUserInOrganizationResp.Marshal(b, m, deterministic)
}
func (dst *GetUserInOrganizationResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetUserInOrganizationResp.Merge(dst, src)
}
func (m *GetUserInOrganizationResp) XXX_Size() int {
return xxx_messageInfo_GetUserInOrganizationResp.Size(m)
}
func (m *GetUserInOrganizationResp) XXX_DiscardUnknown() {
xxx_messageInfo_GetUserInOrganizationResp.DiscardUnknown(m)
}
var xxx_messageInfo_GetUserInOrganizationResp proto.InternalMessageInfo
func (m *GetUserInOrganizationResp) GetErrCode() int32 {
if m != nil {
return m.ErrCode
}
return 0
}
func (m *GetUserInOrganizationResp) GetErrMsg() string {
if m != nil {
return m.ErrMsg
}
return ""
}
func (m *GetUserInOrganizationResp) GetOrganizationUsers() []*sdk_ws.OrganizationUser {
if m != nil {
return m.OrganizationUsers
}
return nil
}
func init() { func init() {
proto.RegisterType((*CreateDepartmentReq)(nil), "organization.CreateDepartmentReq") proto.RegisterType((*CreateDepartmentReq)(nil), "organization.CreateDepartmentReq")
proto.RegisterType((*CreateDepartmentResp)(nil), "organization.CreateDepartmentResp") proto.RegisterType((*CreateDepartmentResp)(nil), "organization.CreateDepartmentResp")
@ -1501,6 +1601,8 @@ func init() {
proto.RegisterType((*GetDepartmentMemberResp)(nil), "organization.GetDepartmentMemberResp") proto.RegisterType((*GetDepartmentMemberResp)(nil), "organization.GetDepartmentMemberResp")
proto.RegisterType((*GetDepartmentRelatedGroupIDListReq)(nil), "organization.GetDepartmentRelatedGroupIDListReq") proto.RegisterType((*GetDepartmentRelatedGroupIDListReq)(nil), "organization.GetDepartmentRelatedGroupIDListReq")
proto.RegisterType((*GetDepartmentRelatedGroupIDListResp)(nil), "organization.GetDepartmentRelatedGroupIDListResp") proto.RegisterType((*GetDepartmentRelatedGroupIDListResp)(nil), "organization.GetDepartmentRelatedGroupIDListResp")
proto.RegisterType((*GetUserInOrganizationReq)(nil), "organization.GetUserInOrganizationReq")
proto.RegisterType((*GetUserInOrganizationResp)(nil), "organization.GetUserInOrganizationResp")
} }
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@ -1528,6 +1630,7 @@ type OrganizationClient interface {
UpdateUserInDepartment(ctx context.Context, in *UpdateUserInDepartmentReq, opts ...grpc.CallOption) (*UpdateUserInDepartmentResp, error) UpdateUserInDepartment(ctx context.Context, in *UpdateUserInDepartmentReq, opts ...grpc.CallOption) (*UpdateUserInDepartmentResp, error)
GetDepartmentMember(ctx context.Context, in *GetDepartmentMemberReq, opts ...grpc.CallOption) (*GetDepartmentMemberResp, error) GetDepartmentMember(ctx context.Context, in *GetDepartmentMemberReq, opts ...grpc.CallOption) (*GetDepartmentMemberResp, error)
GetDepartmentRelatedGroupIDList(ctx context.Context, in *GetDepartmentRelatedGroupIDListReq, opts ...grpc.CallOption) (*GetDepartmentRelatedGroupIDListResp, error) GetDepartmentRelatedGroupIDList(ctx context.Context, in *GetDepartmentRelatedGroupIDListReq, opts ...grpc.CallOption) (*GetDepartmentRelatedGroupIDListResp, error)
GetUserInOrganization(ctx context.Context, in *GetUserInOrganizationReq, opts ...grpc.CallOption) (*GetUserInOrganizationResp, error)
} }
type organizationClient struct { type organizationClient struct {
@ -1664,6 +1767,15 @@ func (c *organizationClient) GetDepartmentRelatedGroupIDList(ctx context.Context
return out, nil return out, nil
} }
func (c *organizationClient) GetUserInOrganization(ctx context.Context, in *GetUserInOrganizationReq, opts ...grpc.CallOption) (*GetUserInOrganizationResp, error) {
out := new(GetUserInOrganizationResp)
err := grpc.Invoke(ctx, "/organization.organization/GetUserInOrganization", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Organization service // Server API for Organization service
type OrganizationServer interface { type OrganizationServer interface {
@ -1681,6 +1793,7 @@ type OrganizationServer interface {
UpdateUserInDepartment(context.Context, *UpdateUserInDepartmentReq) (*UpdateUserInDepartmentResp, error) UpdateUserInDepartment(context.Context, *UpdateUserInDepartmentReq) (*UpdateUserInDepartmentResp, error)
GetDepartmentMember(context.Context, *GetDepartmentMemberReq) (*GetDepartmentMemberResp, error) GetDepartmentMember(context.Context, *GetDepartmentMemberReq) (*GetDepartmentMemberResp, error)
GetDepartmentRelatedGroupIDList(context.Context, *GetDepartmentRelatedGroupIDListReq) (*GetDepartmentRelatedGroupIDListResp, error) GetDepartmentRelatedGroupIDList(context.Context, *GetDepartmentRelatedGroupIDListReq) (*GetDepartmentRelatedGroupIDListResp, error)
GetUserInOrganization(context.Context, *GetUserInOrganizationReq) (*GetUserInOrganizationResp, error)
} }
func RegisterOrganizationServer(s *grpc.Server, srv OrganizationServer) { func RegisterOrganizationServer(s *grpc.Server, srv OrganizationServer) {
@ -1939,6 +2052,24 @@ func _Organization_GetDepartmentRelatedGroupIDList_Handler(srv interface{}, ctx
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _Organization_GetUserInOrganization_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetUserInOrganizationReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(OrganizationServer).GetUserInOrganization(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/organization.organization/GetUserInOrganization",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(OrganizationServer).GetUserInOrganization(ctx, req.(*GetUserInOrganizationReq))
}
return interceptor(ctx, in, info, handler)
}
var _Organization_serviceDesc = grpc.ServiceDesc{ var _Organization_serviceDesc = grpc.ServiceDesc{
ServiceName: "organization.organization", ServiceName: "organization.organization",
HandlerType: (*OrganizationServer)(nil), HandlerType: (*OrganizationServer)(nil),
@ -1999,70 +2130,78 @@ var _Organization_serviceDesc = grpc.ServiceDesc{
MethodName: "GetDepartmentRelatedGroupIDList", MethodName: "GetDepartmentRelatedGroupIDList",
Handler: _Organization_GetDepartmentRelatedGroupIDList_Handler, Handler: _Organization_GetDepartmentRelatedGroupIDList_Handler,
}, },
{
MethodName: "GetUserInOrganization",
Handler: _Organization_GetUserInOrganization_Handler,
},
}, },
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "organization/organization.proto", Metadata: "organization/organization.proto",
} }
func init() { func init() {
proto.RegisterFile("organization/organization.proto", fileDescriptor_organization_2845c40b2de0bcf0) proto.RegisterFile("organization/organization.proto", fileDescriptor_organization_a66b64589e547186)
} }
var fileDescriptor_organization_2845c40b2de0bcf0 = []byte{ var fileDescriptor_organization_a66b64589e547186 = []byte{
// 869 bytes of a gzipped FileDescriptorProto // 938 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4f, 0x4f, 0x13, 0x41, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4f, 0x4f, 0xe3, 0x46,
0x14, 0xcf, 0x52, 0x44, 0x78, 0x25, 0xa6, 0x19, 0x48, 0x6d, 0x57, 0x91, 0xb2, 0x40, 0x68, 0x30, 0x14, 0x97, 0x09, 0xa5, 0xf0, 0x88, 0xaa, 0x74, 0xa0, 0xa9, 0xe3, 0x16, 0x08, 0x06, 0x4a, 0x44,
0x69, 0x15, 0x8f, 0xde, 0xa4, 0xa6, 0x34, 0x11, 0x6b, 0xd6, 0x70, 0xc0, 0x4b, 0xb3, 0xb5, 0x63, 0xa5, 0xa4, 0xa5, 0xc7, 0xde, 0x4a, 0xaa, 0x10, 0xa9, 0x34, 0xad, 0x2b, 0x0e, 0x54, 0x95, 0x22,
0xd3, 0x14, 0xba, 0xc3, 0xcc, 0x56, 0x22, 0x1f, 0xc0, 0xab, 0x27, 0x2f, 0xc6, 0x4f, 0xe0, 0xc9, 0xa7, 0x99, 0xcd, 0x46, 0x81, 0x78, 0x98, 0x71, 0x16, 0x2d, 0x1f, 0x60, 0xaf, 0x7b, 0xda, 0xcb,
0xcf, 0xe1, 0xc5, 0xaf, 0x64, 0x76, 0xb7, 0xb4, 0xb3, 0x33, 0x6f, 0xdb, 0xb2, 0x2d, 0x86, 0xe3, 0x6a, 0x0f, 0x7b, 0xde, 0xd3, 0x5e, 0xf7, 0x2b, 0xec, 0xa7, 0x5a, 0x79, 0x6c, 0x92, 0xf1, 0xcc,
0xbc, 0x9d, 0xf9, 0xbd, 0xf7, 0x7e, 0x6f, 0xe6, 0xfd, 0x59, 0xd8, 0x74, 0x79, 0xdb, 0xe9, 0x75, 0x38, 0x31, 0x4e, 0x58, 0x71, 0x9c, 0xe7, 0x79, 0x7f, 0x7e, 0xef, 0xbd, 0x79, 0x7f, 0x0c, 0x3b,
0xae, 0x1c, 0xaf, 0xe3, 0xf6, 0xca, 0xf2, 0xa2, 0xc4, 0xb8, 0xeb, 0xb9, 0x64, 0x55, 0x96, 0x99, 0x1e, 0xed, 0xb9, 0xc3, 0xfe, 0xad, 0xeb, 0xf7, 0xbd, 0x61, 0x4d, 0x3c, 0x54, 0x09, 0xf5, 0x7c,
0x5b, 0x75, 0x46, 0x7b, 0x8d, 0xda, 0x71, 0x99, 0x75, 0xdb, 0xe5, 0x60, 0x43, 0x59, 0xb4, 0xba, 0x0f, 0xe5, 0x45, 0x9a, 0xb5, 0xdb, 0x22, 0x78, 0xd8, 0x6e, 0x9e, 0xd5, 0xc8, 0xa0, 0x57, 0xe3,
0x8d, 0x4b, 0x51, 0xbe, 0x14, 0xe1, 0x01, 0xeb, 0x87, 0x01, 0x6b, 0x87, 0x9c, 0x3a, 0x1e, 0xad, 0x17, 0x6a, 0xac, 0x3b, 0x68, 0xdf, 0xb0, 0xda, 0x0d, 0x0b, 0x19, 0xec, 0xd7, 0x06, 0x6c, 0x9c,
0x50, 0xe6, 0x70, 0xef, 0x9c, 0xf6, 0x3c, 0x9b, 0x5e, 0x90, 0xd7, 0xf0, 0xa0, 0x35, 0x14, 0xd4, 0x50, 0xec, 0xfa, 0xb8, 0x8e, 0x89, 0x4b, 0xfd, 0x2b, 0x3c, 0xf4, 0x1d, 0x7c, 0x8d, 0x7e, 0x87,
0x7a, 0x9f, 0xdc, 0x9c, 0x51, 0x30, 0x8a, 0xe9, 0x83, 0x8d, 0x92, 0xa0, 0xfc, 0x33, 0xe5, 0x0d, 0xaf, 0xba, 0x63, 0x42, 0x73, 0xf8, 0xc4, 0x33, 0x8d, 0xb2, 0x51, 0x59, 0x3f, 0xde, 0xaa, 0x32,
0x87, 0x75, 0x1a, 0xcc, 0xe1, 0xce, 0xb9, 0x28, 0x49, 0x27, 0x95, 0x43, 0xa4, 0x00, 0x69, 0x97, 0x4c, 0x9f, 0x61, 0xda, 0x76, 0x49, 0xbf, 0x4d, 0x5c, 0xea, 0x5e, 0xb1, 0xaa, 0xc0, 0x29, 0x31,
0x51, 0x1e, 0x98, 0x53, 0xab, 0xe4, 0x16, 0x0a, 0x46, 0x71, 0xc5, 0x96, 0x45, 0xc4, 0x84, 0x65, 0xa1, 0x32, 0xac, 0x7b, 0x04, 0x53, 0x6e, 0x4e, 0xb3, 0x6e, 0x2e, 0x95, 0x8d, 0xca, 0x9a, 0x23,
0x97, 0x9d, 0x08, 0xca, 0x6b, 0x95, 0x5c, 0x2a, 0xf8, 0x3c, 0x5c, 0x5b, 0xdf, 0x0c, 0x58, 0xd7, 0x92, 0x90, 0x05, 0xab, 0x1e, 0x39, 0x67, 0x98, 0x36, 0xeb, 0x66, 0x8e, 0x7f, 0x1e, 0x9f, 0xed,
0x8d, 0x13, 0x8c, 0xe4, 0xe0, 0x3e, 0xe5, 0xfc, 0xd0, 0x6d, 0xd1, 0xc0, 0xac, 0x7b, 0xf6, 0xf5, 0x97, 0x06, 0x6c, 0xaa, 0xc6, 0x31, 0x82, 0x4c, 0xf8, 0x12, 0x53, 0x7a, 0xe2, 0x75, 0x31, 0x37,
0x92, 0x64, 0x61, 0x89, 0x72, 0x7e, 0x2c, 0xda, 0x03, 0x5d, 0x83, 0x15, 0xe2, 0x4f, 0x2a, 0x81, 0xeb, 0x0b, 0xe7, 0xee, 0x88, 0x8a, 0xb0, 0x82, 0x29, 0x3d, 0x63, 0xbd, 0x48, 0x57, 0x74, 0xd2,
0x3f, 0x01, 0x5d, 0x27, 0xac, 0x75, 0x37, 0xe9, 0x3a, 0x82, 0x75, 0xdd, 0xb6, 0x24, 0x6c, 0x59, 0xe0, 0xc9, 0x65, 0xc0, 0xc3, 0xdd, 0x75, 0x4e, 0xba, 0x8f, 0xd3, 0x5d, 0xa7, 0xb0, 0xa9, 0xda,
0x97, 0xb0, 0x56, 0xa5, 0xde, 0xfb, 0x7e, 0x33, 0xea, 0xa5, 0x05, 0xab, 0x92, 0xc1, 0x95, 0x00, 0x96, 0xc5, 0x5b, 0xf6, 0x0d, 0x6c, 0x34, 0xb0, 0xff, 0xcf, 0xa8, 0x13, 0x47, 0x69, 0x43, 0x5e,
0x6d, 0xc5, 0x8e, 0xc8, 0xe6, 0x10, 0x71, 0x5d, 0xf3, 0xec, 0x11, 0x7f, 0xd3, 0x11, 0x5e, 0x2e, 0x30, 0xb8, 0xce, 0xa5, 0xad, 0x39, 0x31, 0xda, 0x02, 0x22, 0xae, 0x6a, 0x9e, 0x3f, 0xe2, 0x7f,
0x55, 0x48, 0xdd, 0x28, 0x24, 0xfe, 0x21, 0x9f, 0x8a, 0x0a, 0x3d, 0xa3, 0x6a, 0xc0, 0x6f, 0x9f, 0xf4, 0x99, 0x6f, 0xe6, 0xca, 0xb9, 0x7b, 0x85, 0x24, 0x60, 0x0a, 0x5c, 0x51, 0xc7, 0x97, 0x58,
0x8a, 0x23, 0x58, 0xd7, 0x15, 0x27, 0x8a, 0x66, 0x0b, 0x1e, 0x57, 0xa9, 0x37, 0x82, 0x79, 0xe7, 0x0e, 0xf8, 0xc3, 0xbb, 0xe2, 0x14, 0x36, 0x55, 0xc5, 0x99, 0xa2, 0xd9, 0x85, 0xef, 0x1b, 0xd8,
0xf0, 0xc0, 0x40, 0xdf, 0xbf, 0xb9, 0xf9, 0x62, 0xf5, 0x61, 0x63, 0x8c, 0x96, 0x44, 0x21, 0xb4, 0x9f, 0x88, 0xf9, 0xcb, 0xa5, 0xdc, 0xc0, 0x00, 0xdf, 0xc2, 0xb0, 0xd8, 0x23, 0xd8, 0x9a, 0xa2,
0x60, 0x95, 0x49, 0x28, 0x41, 0x00, 0x57, 0xec, 0x88, 0xcc, 0xfa, 0x63, 0x40, 0x3e, 0xcc, 0x11, 0x25, 0x53, 0x08, 0x6d, 0xc8, 0x13, 0x41, 0x0a, 0x0f, 0xe0, 0x9a, 0x13, 0xa3, 0xd9, 0x1f, 0x0d,
0x75, 0x29, 0xf5, 0xf9, 0x1c, 0xfa, 0xae, 0xd5, 0x21, 0xe3, 0x2a, 0xe2, 0xc1, 0xcb, 0xdc, 0x46, 0x28, 0x85, 0x35, 0xa2, 0x25, 0x94, 0xbe, 0xc0, 0x87, 0x01, 0xb4, 0x16, 0x14, 0x3c, 0x89, 0x1c,
0xae, 0x81, 0x86, 0xa0, 0x1d, 0x9e, 0x2d, 0xa6, 0xe4, 0x09, 0x40, 0x4d, 0xd8, 0xb4, 0xdd, 0x11, 0xbd, 0xcc, 0x3d, 0x4d, 0x1a, 0x28, 0x12, 0x14, 0xe6, 0xf9, 0x62, 0x8a, 0xb6, 0x01, 0x9a, 0xcc,
0x1e, 0xe5, 0xb9, 0xc5, 0x82, 0x51, 0x5c, 0xb6, 0x25, 0x89, 0xf5, 0x16, 0xcc, 0x38, 0x5f, 0x12, 0xc1, 0xbd, 0x3e, 0xf3, 0x31, 0x35, 0x97, 0xcb, 0x46, 0x65, 0xd5, 0x11, 0x28, 0xf6, 0x9f, 0x60,
0x45, 0xfe, 0x97, 0x01, 0xf9, 0x30, 0x25, 0xdc, 0x7d, 0x72, 0x7c, 0xe7, 0xe3, 0x6c, 0x4d, 0xec, 0x25, 0x61, 0xc9, 0x14, 0xf9, 0x77, 0x06, 0x94, 0xc2, 0x92, 0xf0, 0xf8, 0x9d, 0x13, 0x80, 0x4f,
0xbc, 0x5a, 0x3d, 0x8e, 0xe9, 0x79, 0x73, 0xe8, 0x7c, 0x4b, 0x11, 0x8f, 0x71, 0x5e, 0x43, 0xd0, 0xb2, 0x35, 0x33, 0x78, 0xb9, 0x7b, 0x9c, 0xe1, 0xab, 0xce, 0x18, 0x7c, 0x57, 0x22, 0x4f, 0x01,
0x0e, 0xcf, 0xee, 0x7c, 0x9c, 0xad, 0x89, 0x9c, 0xef, 0x41, 0xb6, 0x4a, 0xbd, 0x00, 0xbc, 0x17, 0xaf, 0x48, 0x50, 0x98, 0xe7, 0x07, 0x9f, 0x64, 0x6b, 0x26, 0xf0, 0x43, 0x28, 0x36, 0xb0, 0xcf,
0xcd, 0x5c, 0x59, 0x58, 0xea, 0x87, 0x36, 0x84, 0xef, 0x7c, 0xb0, 0x9a, 0xd1, 0xfe, 0x9f, 0x06, 0x85, 0x0f, 0xe3, 0x95, 0xab, 0x08, 0x2b, 0xa3, 0xd0, 0x86, 0xf0, 0x9d, 0x47, 0xa7, 0x39, 0xed,
0x3c, 0x44, 0x15, 0x26, 0x7a, 0xf8, 0x75, 0xc8, 0xf4, 0x15, 0xa4, 0x41, 0xbd, 0xc6, 0x82, 0xa3, 0x7f, 0x63, 0xc0, 0xb7, 0x5a, 0x85, 0x99, 0x1e, 0x7e, 0x0b, 0x0a, 0x23, 0x49, 0x52, 0xd4, 0xaf,
0x29, 0xd5, 0x0e, 0x4b, 0x0f, 0x01, 0xa3, 0xe4, 0xee, 0xdd, 0x85, 0x38, 0x5b, 0x13, 0xdd, 0x85, 0x75, 0xc1, 0x51, 0x94, 0x2a, 0xcc, 0xc2, 0x43, 0xd0, 0xb9, 0xe4, 0xf1, 0xe5, 0x42, 0x92, 0xad,
0xef, 0x06, 0xe4, 0xc3, 0x52, 0xf2, 0xdf, 0xee, 0x83, 0x56, 0x53, 0x16, 0xf5, 0x9a, 0xe2, 0xfb, 0x99, 0x72, 0xe1, 0x95, 0x01, 0xa5, 0xb0, 0x95, 0x7c, 0xb6, 0x7c, 0x50, 0x7a, 0xca, 0xb2, 0xda,
0x19, 0x67, 0x56, 0x22, 0x3f, 0x2f, 0xae, 0xdd, 0xc4, 0x92, 0xdd, 0xed, 0x5c, 0xfb, 0xa1, 0x0b, 0x53, 0x02, 0x9c, 0x49, 0x66, 0x65, 0xc2, 0x79, 0x7d, 0x07, 0x53, 0x57, 0xec, 0x1e, 0x26, 0xed,
0x73, 0xca, 0x59, 0x57, 0xc1, 0xb3, 0xc5, 0xf2, 0xd5, 0xed, 0x37, 0x1c, 0xbf, 0xc3, 0x27, 0x3c, 0xc7, 0x10, 0x16, 0x54, 0xb3, 0x6e, 0xf9, 0xb3, 0xd5, 0xd5, 0xab, 0x87, 0x1f, 0x38, 0xde, 0x87,
0x9f, 0x04, 0x44, 0x3e, 0x42, 0xce, 0x67, 0x58, 0x45, 0x93, 0x1a, 0xb1, 0xbd, 0x98, 0xa7, 0xac, 0x4f, 0x78, 0x31, 0x05, 0x08, 0xfd, 0x0f, 0x66, 0xe0, 0x61, 0x59, 0x9a, 0x30, 0x88, 0x1d, 0x26,
0x19, 0x10, 0x0b, 0x64, 0x71, 0xb0, 0x22, 0x16, 0xdb, 0xf4, 0xcc, 0xf1, 0x68, 0xab, 0xca, 0xdd, 0x3c, 0x65, 0xc5, 0x80, 0x44, 0x41, 0x36, 0x05, 0x3b, 0x66, 0xb1, 0x83, 0x2f, 0x5d, 0x1f, 0x77,
0x3e, 0x1b, 0xf5, 0x37, 0x0a, 0x2d, 0x86, 0x4e, 0xcb, 0xbe, 0x9c, 0x00, 0x06, 0xcd, 0xc6, 0x42, 0x1b, 0xd4, 0x1b, 0x91, 0xc9, 0x7c, 0x23, 0xb9, 0xc5, 0x50, 0xdd, 0x72, 0x24, 0x16, 0x80, 0x68,
0xd0, 0x6c, 0x68, 0x72, 0xeb, 0x0b, 0x6c, 0x4f, 0xd4, 0x99, 0x88, 0xb1, 0x02, 0xa4, 0xdb, 0x23, 0xd8, 0x58, 0xe2, 0xc3, 0x86, 0x42, 0xb7, 0x9f, 0xc3, 0xde, 0x4c, 0x9d, 0x99, 0x3c, 0x56, 0x86,
0x90, 0x41, 0xb3, 0x23, 0x8b, 0x0e, 0xfe, 0xa6, 0x21, 0x32, 0xe0, 0x91, 0x53, 0xc8, 0xa8, 0x55, 0xf5, 0xde, 0x44, 0x48, 0x34, 0xec, 0x88, 0x24, 0xfb, 0x3f, 0x30, 0xc7, 0x35, 0x56, 0x4c, 0xb8,
0x83, 0x6c, 0x95, 0x22, 0x73, 0x21, 0x32, 0xdc, 0x99, 0xd6, 0xa4, 0x2d, 0x82, 0xf9, 0xd0, 0xea, 0x00, 0xe4, 0x36, 0x40, 0x98, 0xd1, 0x9c, 0xd9, 0xe0, 0xcc, 0x02, 0x25, 0xc5, 0x00, 0xf7, 0xd6,
0x30, 0xa1, 0x42, 0x23, 0x83, 0x90, 0x0a, 0x8d, 0xce, 0x23, 0xa7, 0x90, 0x51, 0x7b, 0x7c, 0x15, 0x80, 0x52, 0x82, 0xf8, 0x4c, 0x78, 0xfe, 0x86, 0xaf, 0xe5, 0x09, 0x81, 0x45, 0xa1, 0x4f, 0x35,
0x1a, 0x99, 0x3e, 0x54, 0x68, 0x74, 0x4c, 0x38, 0x85, 0x8c, 0xda, 0x34, 0xab, 0xd0, 0x48, 0x37, 0x5f, 0xa8, 0xdc, 0xc7, 0x1f, 0xf2, 0x10, 0xdb, 0x70, 0xd1, 0x05, 0x14, 0xe4, 0xb6, 0x89, 0x76,
0xaf, 0x42, 0xa3, 0x7d, 0xb7, 0x07, 0xf9, 0xd8, 0xfe, 0x96, 0xec, 0x6b, 0xb6, 0xc5, 0xb6, 0xdb, 0xab, 0xb1, 0xc5, 0x58, 0xb3, 0xdd, 0x5a, 0xf6, 0xac, 0x2b, 0x8c, 0x04, 0xa2, 0xe5, 0x6d, 0x4a,
0xe6, 0xd3, 0xa9, 0xf7, 0x0a, 0x46, 0xba, 0x90, 0xc5, 0x3b, 0x42, 0xb2, 0x87, 0x05, 0x11, 0xc9, 0x16, 0xad, 0xd9, 0x04, 0x65, 0xd1, 0xda, 0x85, 0xec, 0x02, 0x0a, 0xf2, 0x92, 0x23, 0x8b, 0xd6,
0x7c, 0x66, 0x71, 0xba, 0x8d, 0xa1, 0x32, 0xbc, 0x03, 0x53, 0x95, 0xc5, 0xf6, 0x94, 0xaa, 0xb2, 0xac, 0x5f, 0xb2, 0x68, 0xed, 0x9e, 0x74, 0x01, 0x05, 0x79, 0x6b, 0x90, 0x45, 0x6b, 0xd6, 0x19,
0x31, 0x0d, 0x5d, 0x17, 0xb2, 0x78, 0xea, 0x54, 0x95, 0xc5, 0xe6, 0x74, 0x55, 0xd9, 0x98, 0x4c, 0x59, 0xb4, 0x76, 0xf1, 0xf0, 0x79, 0x7a, 0xe8, 0x07, 0x7c, 0x74, 0xa4, 0xd8, 0x96, 0xb8, 0x6f,
0x3c, 0xa4, 0x51, 0x4d, 0x23, 0x38, 0x8d, 0x48, 0x02, 0xc6, 0x69, 0x44, 0x93, 0x65, 0x33, 0x98, 0x58, 0x3f, 0xa6, 0xbe, 0xcb, 0x08, 0x1a, 0x40, 0x51, 0x3f, 0x12, 0xa3, 0x43, 0x5d, 0x10, 0x35,
0x9e, 0xd5, 0xa2, 0x46, 0x76, 0xb4, 0xb8, 0x23, 0xe5, 0xd8, 0xdc, 0x9d, 0x62, 0x97, 0xcc, 0x9e, 0xa5, 0xdf, 0xaa, 0xa4, 0xbb, 0x18, 0x2a, 0xd3, 0x8f, 0xa0, 0xb2, 0xb2, 0xc4, 0xa1, 0x5a, 0x56,
0xa6, 0x06, 0x65, 0x0f, 0xd3, 0x54, 0x9c, 0x6e, 0xa3, 0x7c, 0x2f, 0x26, 0x29, 0x8b, 0x6d, 0xb1, 0x36, 0x65, 0xa2, 0x1d, 0x40, 0x51, 0xdf, 0x3b, 0x64, 0x65, 0x89, 0x4d, 0x4d, 0x56, 0x36, 0xa5,
0xf0, 0x7b, 0x81, 0x2a, 0x0b, 0xd9, 0xd3, 0xe2, 0xb4, 0x33, 0xe6, 0xd5, 0x8c, 0x82, 0xb4, 0x3b, 0x15, 0x8d, 0xdd, 0x28, 0xd7, 0x51, 0xbd, 0x1b, 0x35, 0x1d, 0x48, 0xef, 0x46, 0x6d, 0xb7, 0xe8,
0xc5, 0x2e, 0xc1, 0xc8, 0x57, 0x03, 0x36, 0x27, 0x24, 0x71, 0xf2, 0x6c, 0x0c, 0x14, 0x5a, 0x67, 0xf0, 0xdf, 0x07, 0x72, 0x57, 0x47, 0xfb, 0x4a, 0xdc, 0x35, 0xf3, 0x88, 0x75, 0x90, 0xe2, 0x96,
0xcc, 0xe7, 0x37, 0x3c, 0x21, 0xd8, 0xab, 0x8d, 0x0f, 0x8f, 0x4a, 0x91, 0xff, 0x78, 0x2f, 0xe5, 0xe8, 0x3d, 0x45, 0x8d, 0xd6, 0x7b, 0x3a, 0x4d, 0x95, 0x74, 0x17, 0xc5, 0xbc, 0x98, 0xa5, 0x2c,
0x45, 0x73, 0x29, 0xf8, 0x49, 0xf7, 0xe2, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x63, 0xff, 0x09, 0x71, 0xc6, 0xd4, 0xe7, 0x85, 0x56, 0x59, 0xe8, 0x3d, 0x25, 0x4e, 0xfb, 0x53, 0x5e, 0xcd, 0x24,
0x1d, 0xf8, 0x13, 0x00, 0x00, 0x48, 0x07, 0x29, 0x6e, 0x31, 0x82, 0x5e, 0x18, 0xb0, 0x33, 0xa3, 0x8b, 0xa1, 0x9f, 0xa6, 0x88,
0xd2, 0x36, 0x5a, 0xeb, 0xe7, 0x7b, 0x72, 0x30, 0x82, 0x9e, 0xc2, 0x37, 0xda, 0x9e, 0x83, 0x7e,
0x48, 0x48, 0x03, 0xa9, 0xef, 0x59, 0x87, 0xa9, 0xee, 0x31, 0xf2, 0xdb, 0xd6, 0xbf, 0xdf, 0x55,
0x63, 0xbf, 0x4c, 0x7f, 0x15, 0x0f, 0x9d, 0x15, 0xfe, 0x3f, 0xf4, 0x97, 0x4f, 0x01, 0x00, 0x00,
0xff, 0xff, 0xd0, 0x99, 0xbc, 0xd7, 0x63, 0x15, 0x00, 0x00,
} }

View File

@ -171,6 +171,17 @@ message GetDepartmentRelatedGroupIDListResp {
repeated string groupIDList = 3; repeated string groupIDList = 3;
} }
message GetUserInOrganizationReq{
repeated string userIDList = 1;
string operationID = 2;
}
message GetUserInOrganizationResp{
int32 errCode = 1;
string errMsg = 2;
repeated server_api_params.OrganizationUser organizationUsers = 3;
}
service organization{ service organization{
rpc CreateDepartment(CreateDepartmentReq) returns(CreateDepartmentResp); rpc CreateDepartment(CreateDepartmentReq) returns(CreateDepartmentResp);
rpc UpdateDepartment(UpdateDepartmentReq) returns(UpdateDepartmentResp); rpc UpdateDepartment(UpdateDepartmentReq) returns(UpdateDepartmentResp);
@ -189,6 +200,8 @@ service organization{
rpc UpdateUserInDepartment(UpdateUserInDepartmentReq) returns(UpdateUserInDepartmentResp); rpc UpdateUserInDepartment(UpdateUserInDepartmentReq) returns(UpdateUserInDepartmentResp);
rpc GetDepartmentMember(GetDepartmentMemberReq) returns(GetDepartmentMemberResp); rpc GetDepartmentMember(GetDepartmentMemberReq) returns(GetDepartmentMemberResp);
rpc GetDepartmentRelatedGroupIDList(GetDepartmentRelatedGroupIDListReq) returns(GetDepartmentRelatedGroupIDListResp); rpc GetDepartmentRelatedGroupIDList(GetDepartmentRelatedGroupIDListReq) returns(GetDepartmentRelatedGroupIDListResp);
rpc GetUserInOrganization(GetUserInOrganizationReq) returns(GetUserInOrganizationResp);
} }