pull/1427/head
withchao 2 years ago
parent 371a592c0e
commit 9e8791a4f4

@ -104,19 +104,6 @@ func Start(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) e
gs.conversationRpcClient = conversationRpcClient gs.conversationRpcClient = conversationRpcClient
gs.msgRpcClient = msgRpcClient gs.msgRpcClient = msgRpcClient
pbgroup.RegisterGroupServer(server, &gs) pbgroup.RegisterGroupServer(server, &gs)
//pbgroup.RegisterGroupServer(server, &groupServer{
// db: database,
// User: userRpcClient,
// Notification: notification.NewGroupNotificationSender(database, &msgRpcClient, &userRpcClient, func(ctx context.Context, userIDs []string) ([]notification.CommonUser, error) {
// users, err := userRpcClient.GetUsersInfo(ctx, userIDs)
// if err != nil {
// return nil, err
// }
// return utils.Slice(users, func(e *sdkws.UserInfo) notification.CommonUser { return e }), nil
// }),
// conversationRpcClient: conversationRpcClient,
// msgRpcClient: msgRpcClient,
//})
return nil return nil
} }
@ -1569,7 +1556,7 @@ func (s *groupServer) GetGroupMemberRoleLevel(ctx context.Context, req *pbgroup.
func (s *groupServer) GetGroupUsersReqApplicationList(ctx context.Context, req *pbgroup.GetGroupUsersReqApplicationListReq) (*pbgroup.GetGroupUsersReqApplicationListResp, error) { func (s *groupServer) GetGroupUsersReqApplicationList(ctx context.Context, req *pbgroup.GetGroupUsersReqApplicationListReq) (*pbgroup.GetGroupUsersReqApplicationListResp, error) {
resp := &pbgroup.GetGroupUsersReqApplicationListResp{} resp := &pbgroup.GetGroupUsersReqApplicationListResp{}
total, requests, err := s.db.FindGroupRequests(ctx, req.GroupID, req.UserIDs) requests, err := s.db.FindGroupRequests(ctx, req.GroupID, req.UserIDs)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -1610,7 +1597,7 @@ func (s *groupServer) GetGroupUsersReqApplicationList(ctx context.Context, req *
} }
return convert.Db2PbGroupRequest(e, nil, convert.Db2PbGroupInfo(groupMap[e.GroupID], ownerUserID, groupMemberNum[e.GroupID])) return convert.Db2PbGroupRequest(e, nil, convert.Db2PbGroupInfo(groupMap[e.GroupID], ownerUserID, groupMemberNum[e.GroupID]))
}) })
resp.Total = total resp.Total = int64(len(resp.GroupRequests))
return resp, nil return resp, nil
} }

@ -63,7 +63,7 @@ type GroupDatabase interface {
// GroupRequest // GroupRequest
CreateGroupRequest(ctx context.Context, requests []*relationtb.GroupRequestModel) error CreateGroupRequest(ctx context.Context, requests []*relationtb.GroupRequestModel) error
TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relationtb.GroupRequestModel, error) TakeGroupRequest(ctx context.Context, groupID string, userID string) (*relationtb.GroupRequestModel, error)
FindGroupRequests(ctx context.Context, groupID string, userIDs []string) (int64, []*relationtb.GroupRequestModel, error) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) ([]*relationtb.GroupRequestModel, error)
PageGroupRequestUser(ctx context.Context, userID string, pagination pagination.Pagination) (int64, []*relationtb.GroupRequestModel, error) PageGroupRequestUser(ctx context.Context, userID string, pagination pagination.Pagination) (int64, []*relationtb.GroupRequestModel, error)
// 获取群总数 // 获取群总数
@ -381,7 +381,7 @@ func (g *groupDatabase) CountRangeEverydayTotal(ctx context.Context, start time.
return g.groupDB.CountRangeEverydayTotal(ctx, start, end) return g.groupDB.CountRangeEverydayTotal(ctx, start, end)
} }
func (g *groupDatabase) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) (int64, []*relationtb.GroupRequestModel, error) { func (g *groupDatabase) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) ([]*relationtb.GroupRequestModel, error) {
return g.groupRequestDB.FindGroupRequests(ctx, groupID, userIDs) return g.groupRequestDB.FindGroupRequests(ctx, groupID, userIDs)
} }

@ -2,8 +2,10 @@ package newmgo
import ( import (
"context" "context"
"github.com/openimsdk/open-im-server/v3/pkg/common/db/newmgo/mgotool"
"github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation" "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation"
"github.com/openimsdk/open-im-server/v3/pkg/common/pagination" "github.com/openimsdk/open-im-server/v3/pkg/common/pagination"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo"
) )
@ -16,36 +18,29 @@ type GroupRequestMgo struct {
} }
func (g *GroupRequestMgo) Create(ctx context.Context, groupRequests []*relation.GroupRequestModel) (err error) { func (g *GroupRequestMgo) Create(ctx context.Context, groupRequests []*relation.GroupRequestModel) (err error) {
//TODO implement me return mgotool.InsertMany(ctx, g.coll, groupRequests)
panic("implement me")
} }
func (g *GroupRequestMgo) Delete(ctx context.Context, groupID string, userID string) (err error) { func (g *GroupRequestMgo) Delete(ctx context.Context, groupID string, userID string) (err error) {
//TODO implement me return mgotool.DeleteOne(ctx, g.coll, bson.M{"group_id": groupID, "user_id": userID})
panic("implement me")
} }
func (g *GroupRequestMgo) UpdateHandler(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32) (err error) { func (g *GroupRequestMgo) UpdateHandler(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32) (err error) {
//TODO implement me return mgotool.UpdateOne(ctx, g.coll, bson.M{"group_id": groupID, "user_id": userID}, bson.M{"$set": bson.M{"handle_msg": handledMsg, "handle_result": handleResult}}, true)
panic("implement me")
} }
func (g *GroupRequestMgo) Take(ctx context.Context, groupID string, userID string) (groupRequest *relation.GroupRequestModel, err error) { func (g *GroupRequestMgo) Take(ctx context.Context, groupID string, userID string) (groupRequest *relation.GroupRequestModel, err error) {
//TODO implement me return mgotool.FindOne[*relation.GroupRequestModel](ctx, g.coll, bson.M{"group_id": groupID, "user_id": userID})
panic("implement me")
} }
func (g *GroupRequestMgo) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) (int64, []*relation.GroupRequestModel, error) { func (g *GroupRequestMgo) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) ([]*relation.GroupRequestModel, error) {
//TODO implement me return mgotool.Find[*relation.GroupRequestModel](ctx, g.coll, bson.M{"group_id": groupID, "user_id": bson.M{"$in": userIDs}})
panic("implement me")
} }
func (g *GroupRequestMgo) Page(ctx context.Context, userID string, pagination pagination.Pagination) (total int64, groups []*relation.GroupRequestModel, err error) { func (g *GroupRequestMgo) Page(ctx context.Context, userID string, pagination pagination.Pagination) (total int64, groups []*relation.GroupRequestModel, err error) {
//TODO implement me return mgotool.FindPage[*relation.GroupRequestModel](ctx, g.coll, bson.M{"user_id": userID}, pagination)
panic("implement me")
} }
func (g *GroupRequestMgo) PageGroup(ctx context.Context, groupIDs []string, pagination pagination.Pagination) (total int64, groups []*relation.GroupRequestModel, err error) { func (g *GroupRequestMgo) PageGroup(ctx context.Context, groupIDs []string, pagination pagination.Pagination) (total int64, groups []*relation.GroupRequestModel, err error) {
//TODO implement me return mgotool.FindPage[*relation.GroupRequestModel](ctx, g.coll, bson.M{"group_id": bson.M{"$in": groupIDs}}, pagination)
panic("implement me")
} }

@ -14,105 +14,106 @@
package relation package relation
import ( //
"context" //import (
// "context"
"github.com/OpenIMSDK/tools/ormutil" //
// "github.com/OpenIMSDK/tools/ormutil"
"gorm.io/gorm" //
// "gorm.io/gorm"
"github.com/OpenIMSDK/tools/utils" //
// "github.com/OpenIMSDK/tools/utils"
"github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation" //
) // "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation"
//)
type GroupRequestGorm struct { //
*MetaDB //type GroupRequestGorm struct {
} // *MetaDB
//}
func NewGroupRequest(db *gorm.DB) relation.GroupRequestModelInterface { //
return &GroupRequestGorm{ //func NewGroupRequest(db *gorm.DB) relation.GroupRequestModelInterface {
NewMetaDB(db, &relation.GroupRequestModel{}), // return &GroupRequestGorm{
} // NewMetaDB(db, &relation.GroupRequestModel{}),
} // }
//}
func (g *GroupRequestGorm) NewTx(tx any) relation.GroupRequestModelInterface { //
return &GroupRequestGorm{NewMetaDB(tx.(*gorm.DB), &relation.GroupRequestModel{})} //func (g *GroupRequestGorm) NewTx(tx any) relation.GroupRequestModelInterface {
} // return &GroupRequestGorm{NewMetaDB(tx.(*gorm.DB), &relation.GroupRequestModel{})}
//}
func (g *GroupRequestGorm) Create(ctx context.Context, groupRequests []*relation.GroupRequestModel) (err error) { //
return utils.Wrap(g.DB.WithContext(ctx).Create(&groupRequests).Error, utils.GetSelfFuncName()) //func (g *GroupRequestGorm) Create(ctx context.Context, groupRequests []*relation.GroupRequestModel) (err error) {
} // return utils.Wrap(g.DB.WithContext(ctx).Create(&groupRequests).Error, utils.GetSelfFuncName())
//}
func (g *GroupRequestGorm) Delete(ctx context.Context, groupID string, userID string) (err error) { //
return utils.Wrap( //func (g *GroupRequestGorm) Delete(ctx context.Context, groupID string, userID string) (err error) {
g.DB.WithContext(ctx). // return utils.Wrap(
Where("group_id = ? and user_id = ? ", groupID, userID). // g.DB.WithContext(ctx).
Delete(&relation.GroupRequestModel{}). // Where("group_id = ? and user_id = ? ", groupID, userID).
Error, // Delete(&relation.GroupRequestModel{}).
utils.GetSelfFuncName(), // Error,
) // utils.GetSelfFuncName(),
} // )
//}
func (g *GroupRequestGorm) UpdateHandler( //
ctx context.Context, //func (g *GroupRequestGorm) UpdateHandler(
groupID string, // ctx context.Context,
userID string, // groupID string,
handledMsg string, // userID string,
handleResult int32, // handledMsg string,
) (err error) { // handleResult int32,
return utils.Wrap( //) (err error) {
g.DB.WithContext(ctx). // return utils.Wrap(
Model(&relation.GroupRequestModel{}). // g.DB.WithContext(ctx).
Where("group_id = ? and user_id = ? ", groupID, userID). // Model(&relation.GroupRequestModel{}).
Updates(map[string]any{ // Where("group_id = ? and user_id = ? ", groupID, userID).
"handle_msg": handledMsg, // Updates(map[string]any{
"handle_result": handleResult, // "handle_msg": handledMsg,
}). // "handle_result": handleResult,
Error, // }).
utils.GetSelfFuncName(), // Error,
) // utils.GetSelfFuncName(),
} // )
//}
func (g *GroupRequestGorm) Take( //
ctx context.Context, //func (g *GroupRequestGorm) Take(
groupID string, // ctx context.Context,
userID string, // groupID string,
) (groupRequest *relation.GroupRequestModel, err error) { // userID string,
groupRequest = &relation.GroupRequestModel{} //) (groupRequest *relation.GroupRequestModel, err error) {
return groupRequest, utils.Wrap( // groupRequest = &relation.GroupRequestModel{}
g.DB.WithContext(ctx).Where("group_id = ? and user_id = ? ", groupID, userID).Take(groupRequest).Error, // return groupRequest, utils.Wrap(
utils.GetSelfFuncName(), // g.DB.WithContext(ctx).Where("group_id = ? and user_id = ? ", groupID, userID).Take(groupRequest).Error,
) // utils.GetSelfFuncName(),
} // )
//}
func (g *GroupRequestGorm) Page( //
ctx context.Context, //func (g *GroupRequestGorm) Page(
userID string, // ctx context.Context,
pageNumber, showNumber int32, // userID string,
) (total uint32, groups []*relation.GroupRequestModel, err error) { // pageNumber, showNumber int32,
return ormutil.GormSearch[relation.GroupRequestModel]( //) (total uint32, groups []*relation.GroupRequestModel, err error) {
g.DB.WithContext(ctx).Where("user_id = ?", userID), // return ormutil.GormSearch[relation.GroupRequestModel](
nil, // g.DB.WithContext(ctx).Where("user_id = ?", userID),
"", // nil,
pageNumber, // "",
showNumber, // pageNumber,
) // showNumber,
} // )
//}
func (g *GroupRequestGorm) PageGroup( //
ctx context.Context, //func (g *GroupRequestGorm) PageGroup(
groupIDs []string, // ctx context.Context,
pageNumber, showNumber int32, // groupIDs []string,
) (total uint32, groups []*relation.GroupRequestModel, err error) { // pageNumber, showNumber int32,
return ormutil.GormPage[relation.GroupRequestModel]( //) (total uint32, groups []*relation.GroupRequestModel, err error) {
g.DB.WithContext(ctx).Where("group_id in ?", groupIDs), // return ormutil.GormPage[relation.GroupRequestModel](
pageNumber, // g.DB.WithContext(ctx).Where("group_id in ?", groupIDs),
showNumber, // pageNumber,
) // showNumber,
} // )
//}
func (g *GroupRequestGorm) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) (total int64, groupRequests []*relation.GroupRequestModel, err error) { //
err = g.DB.WithContext(ctx).Where("group_id = ? and user_id in ?", groupID, userIDs).Find(&groupRequests).Error //func (g *GroupRequestGorm) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) (total int64, groupRequests []*relation.GroupRequestModel, err error) {
return int64(len(groupRequests)), groupRequests, utils.Wrap(err, utils.GetSelfFuncName()) // err = g.DB.WithContext(ctx).Where("group_id = ? and user_id in ?", groupID, userIDs).Find(&groupRequests).Error
} // return int64(len(groupRequests)), groupRequests, utils.Wrap(err, utils.GetSelfFuncName())
//}

@ -57,12 +57,11 @@ func (GroupRequestModel) TableName() string {
} }
type GroupRequestModelInterface interface { type GroupRequestModelInterface interface {
//NewTx(tx any) GroupRequestModelInterface
Create(ctx context.Context, groupRequests []*GroupRequestModel) (err error) Create(ctx context.Context, groupRequests []*GroupRequestModel) (err error)
Delete(ctx context.Context, groupID string, userID string) (err error) Delete(ctx context.Context, groupID string, userID string) (err error)
UpdateHandler(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32) (err error) UpdateHandler(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32) (err error)
Take(ctx context.Context, groupID string, userID string) (groupRequest *GroupRequestModel, err error) Take(ctx context.Context, groupID string, userID string) (groupRequest *GroupRequestModel, err error)
FindGroupRequests(ctx context.Context, groupID string, userIDs []string) (int64, []*GroupRequestModel, error) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) ([]*GroupRequestModel, error)
Page(ctx context.Context, userID string, pagination pagination.Pagination) (total int64, groups []*GroupRequestModel, err error) Page(ctx context.Context, userID string, pagination pagination.Pagination) (total int64, groups []*GroupRequestModel, err error)
PageGroup(ctx context.Context, groupIDs []string, pagination pagination.Pagination) (total int64, groups []*GroupRequestModel, err error) PageGroup(ctx context.Context, groupIDs []string, pagination pagination.Pagination) (total int64, groups []*GroupRequestModel, err error)
} }

Loading…
Cancel
Save