mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-12-03 19:02:31 +08:00
update user command get all notification
This commit is contained in:
parent
623f66687e
commit
4f2800052f
4
go.mod
4
go.mod
@ -156,3 +156,7 @@ require (
|
|||||||
golang.org/x/crypto v0.14.0 // indirect
|
golang.org/x/crypto v0.14.0 // indirect
|
||||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||||
)
|
)
|
||||||
|
replace (
|
||||||
|
github.com/OpenIMSDK/protocol v0.0.42 => github.com/AndrewZuo01/protocol v0.0.0-20240105021040-57f7d4a07674
|
||||||
|
|
||||||
|
)
|
||||||
@ -83,6 +83,7 @@ func NewGinRouter(discov discoveryregistry.SvcDiscoveryRegistry, rdb redis.Unive
|
|||||||
userRouterGroup.POST("/process_user_command_delete", ParseToken, u.ProcessUserCommandDelete)
|
userRouterGroup.POST("/process_user_command_delete", ParseToken, u.ProcessUserCommandDelete)
|
||||||
userRouterGroup.POST("/process_user_command_update", ParseToken, u.ProcessUserCommandUpdate)
|
userRouterGroup.POST("/process_user_command_update", ParseToken, u.ProcessUserCommandUpdate)
|
||||||
userRouterGroup.POST("/process_user_command_get", ParseToken, u.ProcessUserCommandGet)
|
userRouterGroup.POST("/process_user_command_get", ParseToken, u.ProcessUserCommandGet)
|
||||||
|
userRouterGroup.POST("/process_user_command_get_all", ParseToken, u.ProcessUserCommandGetAll)
|
||||||
|
|
||||||
userRouterGroup.POST("/add_notification_account", ParseToken, u.AddNotificationAccount)
|
userRouterGroup.POST("/add_notification_account", ParseToken, u.AddNotificationAccount)
|
||||||
userRouterGroup.POST("/update_notification_account", ParseToken, u.UpdateNotificationAccountInfo)
|
userRouterGroup.POST("/update_notification_account", ParseToken, u.UpdateNotificationAccountInfo)
|
||||||
|
|||||||
@ -221,6 +221,11 @@ func (u *UserApi) ProcessUserCommandGet(c *gin.Context) {
|
|||||||
a2r.Call(user.UserClient.ProcessUserCommandGet, u.Client, c)
|
a2r.Call(user.UserClient.ProcessUserCommandGet, u.Client, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ProcessUserCommandGet user general function get all
|
||||||
|
func (u *UserApi) ProcessUserCommandGetAll(c *gin.Context) {
|
||||||
|
a2r.Call(user.UserClient.ProcessUserCommandGetAll, u.Client, c)
|
||||||
|
}
|
||||||
|
|
||||||
func (u *UserApi) AddNotificationAccount(c *gin.Context) {
|
func (u *UserApi) AddNotificationAccount(c *gin.Context) {
|
||||||
a2r.Call(user.UserClient.AddNotificationAccount, u.Client, c)
|
a2r.Call(user.UserClient.AddNotificationAccount, u.Client, c)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -442,7 +442,30 @@ func (s *userServer) ProcessUserCommandGet(ctx context.Context, req *pbuser.Proc
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Return the response with the slice
|
// Return the response with the slice
|
||||||
return &pbuser.ProcessUserCommandGetResp{KVArray: commandInfoSlice}, nil
|
return &pbuser.ProcessUserCommandGetResp{CommandResp: commandInfoSlice}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *userServer) ProcessUserCommandGetAll(ctx context.Context, req *pbuser.ProcessUserCommandGetAllReq) (*pbuser.ProcessUserCommandGetAllResp, error) {
|
||||||
|
// Fetch user commands from the database
|
||||||
|
commands, err := s.UserDatabase.GetAllUserCommands(ctx, req.UserID)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize commandInfoSlice as an empty slice
|
||||||
|
commandInfoSlice := make([]*pbuser.AllCommandInfoResp, 0, len(commands))
|
||||||
|
|
||||||
|
for _, command := range commands {
|
||||||
|
// No need to use index since command is already a pointer
|
||||||
|
commandInfoSlice = append(commandInfoSlice, &pbuser.AllCommandInfoResp{
|
||||||
|
Uuid: command.Uuid,
|
||||||
|
Value: command.Value,
|
||||||
|
CreateTime: command.CreateTime,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Return the response with the slice
|
||||||
|
return &pbuser.ProcessUserCommandGetAllResp{CommandResp: commandInfoSlice}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *userServer) AddNotificationAccount(ctx context.Context, req *pbuser.AddNotificationAccountReq) (*pbuser.AddNotificationAccountResp, error) {
|
func (s *userServer) AddNotificationAccount(ctx context.Context, req *pbuser.AddNotificationAccountReq) (*pbuser.AddNotificationAccountResp, error) {
|
||||||
|
|||||||
@ -78,6 +78,7 @@ type UserDatabase interface {
|
|||||||
DeleteUserCommand(ctx context.Context, userID string, Type int32, UUID string) error
|
DeleteUserCommand(ctx context.Context, userID string, Type int32, UUID string) error
|
||||||
UpdateUserCommand(ctx context.Context, userID string, Type int32, UUID string, value string) error
|
UpdateUserCommand(ctx context.Context, userID string, Type int32, UUID string, value string) error
|
||||||
GetUserCommands(ctx context.Context, userID string, Type int32) ([]*user.CommandInfoResp, error)
|
GetUserCommands(ctx context.Context, userID string, Type int32) ([]*user.CommandInfoResp, error)
|
||||||
|
GetAllUserCommands(ctx context.Context, userID string) ([]*user.AllCommandInfoResp, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type userDatabase struct {
|
type userDatabase struct {
|
||||||
@ -259,3 +260,7 @@ func (u *userDatabase) GetUserCommands(ctx context.Context, userID string, Type
|
|||||||
commands, err := u.userDB.GetUserCommand(ctx, userID, Type)
|
commands, err := u.userDB.GetUserCommand(ctx, userID, Type)
|
||||||
return commands, err
|
return commands, err
|
||||||
}
|
}
|
||||||
|
func (u *userDatabase) GetAllUserCommands(ctx context.Context, userID string) ([]*user.AllCommandInfoResp, error) {
|
||||||
|
commands, err := u.userDB.GetAllUserCommand(ctx, userID)
|
||||||
|
return commands, err
|
||||||
|
}
|
||||||
|
|||||||
@ -163,7 +163,45 @@ func (u *UserMgo) GetUserCommand(ctx context.Context, userID string, Type int32)
|
|||||||
|
|
||||||
return commands, nil
|
return commands, nil
|
||||||
}
|
}
|
||||||
|
func (u *UserMgo) GetAllUserCommand(ctx context.Context, userID string) ([]*user.AllCommandInfoResp, error) {
|
||||||
|
collection := u.coll.Database().Collection("userCommands")
|
||||||
|
filter := bson.M{"userID": userID}
|
||||||
|
|
||||||
|
cursor, err := collection.Find(ctx, filter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer cursor.Close(ctx)
|
||||||
|
|
||||||
|
// Initialize commands as a slice of pointers
|
||||||
|
commands := []*user.AllCommandInfoResp{}
|
||||||
|
|
||||||
|
for cursor.Next(ctx) {
|
||||||
|
var document struct {
|
||||||
|
UUID string `bson:"uuid"`
|
||||||
|
Value string `bson:"value"`
|
||||||
|
CreateTime int64 `bson:"createTime"`
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := cursor.Decode(&document); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
commandInfo := &user.AllCommandInfoResp{ // Change here: use a pointer to the struct
|
||||||
|
Uuid: document.UUID,
|
||||||
|
Value: document.Value,
|
||||||
|
CreateTime: document.CreateTime,
|
||||||
|
}
|
||||||
|
|
||||||
|
commands = append(commands, commandInfo)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := cursor.Err(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return commands, nil
|
||||||
|
}
|
||||||
func (u *UserMgo) CountRangeEverydayTotal(ctx context.Context, start time.Time, end time.Time) (map[string]int64, error) {
|
func (u *UserMgo) CountRangeEverydayTotal(ctx context.Context, start time.Time, end time.Time) (map[string]int64, error) {
|
||||||
pipeline := bson.A{
|
pipeline := bson.A{
|
||||||
bson.M{
|
bson.M{
|
||||||
|
|||||||
@ -67,4 +67,5 @@ type UserModelInterface interface {
|
|||||||
DeleteUserCommand(ctx context.Context, userID string, Type int32, UUID string) error
|
DeleteUserCommand(ctx context.Context, userID string, Type int32, UUID string) error
|
||||||
UpdateUserCommand(ctx context.Context, userID string, Type int32, UUID string, value string) error
|
UpdateUserCommand(ctx context.Context, userID string, Type int32, UUID string, value string) error
|
||||||
GetUserCommand(ctx context.Context, userID string, Type int32) ([]*user.CommandInfoResp, error)
|
GetUserCommand(ctx context.Context, userID string, Type int32) ([]*user.CommandInfoResp, error)
|
||||||
|
GetAllUserCommand(ctx context.Context, userID string) ([]*user.AllCommandInfoResp, error)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -107,17 +107,17 @@ func (u *UserNotificationSender) UserCommandUpdateNotification(
|
|||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
tips *sdkws.UserCommandUpdateTips,
|
tips *sdkws.UserCommandUpdateTips,
|
||||||
) error {
|
) error {
|
||||||
return u.Notification(ctx, tips.FromUserID, tips.ToUserID, constant.UserStatusChangeNotification, tips)
|
return u.Notification(ctx, tips.FromUserID, tips.ToUserID, constant.UserCommandUpdateNotification, tips)
|
||||||
}
|
}
|
||||||
func (u *UserNotificationSender) UserCommandAddNotification(
|
func (u *UserNotificationSender) UserCommandAddNotification(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
tips *sdkws.UserCommandAddTips,
|
tips *sdkws.UserCommandAddTips,
|
||||||
) error {
|
) error {
|
||||||
return u.Notification(ctx, tips.FromUserID, tips.ToUserID, constant.UserStatusChangeNotification, tips)
|
return u.Notification(ctx, tips.FromUserID, tips.ToUserID, constant.UserCommandAddNotification, tips)
|
||||||
}
|
}
|
||||||
func (u *UserNotificationSender) UserCommandDeleteNotification(
|
func (u *UserNotificationSender) UserCommandDeleteNotification(
|
||||||
ctx context.Context,
|
ctx context.Context,
|
||||||
tips *sdkws.UserCommandDeleteTips,
|
tips *sdkws.UserCommandDeleteTips,
|
||||||
) error {
|
) error {
|
||||||
return u.Notification(ctx, tips.FromUserID, tips.ToUserID, constant.UserStatusChangeNotification, tips)
|
return u.Notification(ctx, tips.FromUserID, tips.ToUserID, constant.UserCommandDeleteNotification, tips)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user