diff --git a/internal/demo/register/onboarding_process.go b/internal/demo/register/onboarding_process.go index 647fbe3c5..f96312b37 100644 --- a/internal/demo/register/onboarding_process.go +++ b/internal/demo/register/onboarding_process.go @@ -21,7 +21,8 @@ import ( "time" ) -func onboardingProcess(operationID, userID, userName string) { +func onboardingProcess(operationID, userID, userName, faceURL string) { + log.NewInfo(operationID, utils.GetSelfFuncName(), userName, userID, faceURL) if err := createOrganizationUser(operationID, userID, userName); err != nil { log.NewError(operationID, utils.GetSelfFuncName(), "createOrganizationUser failed", err.Error()) } @@ -39,8 +40,7 @@ func onboardingProcess(operationID, userID, userName string) { if err != nil { log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) } - log.NewInfo(operationID, utils.GetSelfFuncName(), groupIDList) - joinGroups(operationID, userID, userName, groupIDList) + joinGroups(operationID, userID, userName, faceURL, groupIDList) log.NewInfo(operationID, utils.GetSelfFuncName(), "fineshed") oaNotification(operationID, userID) } @@ -157,7 +157,7 @@ func GetDepartmentGroupIDList(operationID, departmentID string) ([]string, error return getDepartmentParentIDListResp.GroupIDList, nil } -func joinGroups(operationID, userID, userName string, groupIDList []string) { +func joinGroups(operationID, userID, userName, faceURL string, groupIDList []string) { defer func() { log.NewInfo(operationID, utils.GetSelfFuncName(), userID, groupIDList) }() @@ -185,12 +185,12 @@ func joinGroups(operationID, userID, userName string, groupIDList []string) { log.NewError(req.OperationID, utils.GetSelfFuncName(), resp) continue } - onboardingProcessNotification(operationID, userID, groupID, userName) + onboardingProcessNotification(operationID, userID, groupID, userName, faceURL) } } // welcome user join department notification -func onboardingProcessNotification(operationID, userID, groupID, userName string) { +func onboardingProcessNotification(operationID, userID, groupID, userName, faceURL string) { defer func() { log.NewInfo(operationID, utils.GetSelfFuncName(), userID, groupID) }() @@ -204,13 +204,15 @@ func onboardingProcessNotification(operationID, userID, groupID, userName string //} welcomeString := fmt.Sprintf("欢迎%s加入部门", userName) notification := &msg.NotificationMsg{ - SendID: userID, - RecvID: groupID, - Content: []byte(welcomeString), - MsgFrom: constant.UserMsgType, - ContentType: constant.Text, - SessionType: constant.GroupChatType, - OperationID: operationID, + SendID: userID, + RecvID: groupID, + Content: []byte(welcomeString), + MsgFrom: constant.UserMsgType, + ContentType: constant.Text, + SessionType: constant.GroupChatType, + OperationID: operationID, + SenderNickname: userName, + SenderFaceURL: faceURL, } // notification user join group diff --git a/internal/demo/register/set_password.go b/internal/demo/register/set_password.go index 545a489d3..9e954f63a 100644 --- a/internal/demo/register/set_password.go +++ b/internal/demo/register/set_password.go @@ -87,7 +87,7 @@ func SetPassword(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register failed: " + openIMRegisterResp.ErrMsg}) return } - log.Info(params.OperationID, "begin store mysql", account, params.Password) + log.Info(params.OperationID, "begin store mysql", account, params.Password, "info", params.FaceURL, params.Nickname) err = im_mysql_model.SetPassword(account, params.Password, params.Ex, userID) if err != nil { log.NewError(params.OperationID, "set phone number password error", account, "err", err.Error()) @@ -96,7 +96,7 @@ func SetPassword(c *gin.Context) { } log.Info(params.OperationID, "end setPassword", account, params.Password) // demo onboarding - onboardingProcess(params.OperationID, userID, params.Nickname) + onboardingProcess(params.OperationID, userID, params.Nickname, params.FaceURL) c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": openIMRegisterResp.UserToken}) return } diff --git a/internal/rpc/msg/send_msg.go b/internal/rpc/msg/send_msg.go index 08d3006ca..118b7bd01 100644 --- a/internal/rpc/msg/send_msg.go +++ b/internal/rpc/msg/send_msg.go @@ -553,13 +553,15 @@ func modifyMessageByUserMessageReceiveOptoptimization(userID, sourceID string, s } type NotificationMsg struct { - SendID string - RecvID string - Content []byte // open_im_sdk.TipsComm - MsgFrom int32 - ContentType int32 - SessionType int32 - OperationID string + SendID string + RecvID string + Content []byte // open_im_sdk.TipsComm + MsgFrom int32 + ContentType int32 + SessionType int32 + OperationID string + SenderNickname string + SenderFaceURL string } func Notification(n *NotificationMsg) { @@ -579,6 +581,8 @@ func Notification(n *NotificationMsg) { msg.CreateTime = utils.GetCurrentTimestampByMill() msg.ClientMsgID = utils.GetMsgID(n.SendID) msg.Options = make(map[string]bool, 7) + msg.SenderNickname = n.SenderNickname + msg.SenderFaceURL = n.SenderFaceURL switch n.SessionType { case constant.GroupChatType, constant.SuperGroupChatType: msg.RecvID = "" diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index d6feaff9a..c774a9c6e 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -284,7 +284,7 @@ func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOp stringList := strings.Split(req.ConversationID, "_") if len(stringList) > 1 { switch stringList[0] { - case "single_": + case "single": conversation.UserID = stringList[1] conversation.ConversationType = constant.SingleChatType case "group": diff --git a/pkg/common/db/newRedisModel.go b/pkg/common/db/newRedisModel.go index e8db10c12..f90ab6f2d 100644 --- a/pkg/common/db/newRedisModel.go +++ b/pkg/common/db/newRedisModel.go @@ -95,7 +95,11 @@ func (d *DataBases) GetTokenMapByUidPid(userID, platformID string) (map[string]i } func (d *DataBases) SetTokenMapByUidPid(userID string, platformID int, m map[string]int) error { key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID) - return d.rdb.HSet(context.Background(), key, m).Err() + mm := make(map[string]interface{}) + for k, v := range m { + mm[k] = v + } + return d.rdb.HSet(context.Background(), key, mm).Err() } func (d *DataBases) DeleteTokenByUidPid(userID string, platformID int, fields []string) error { key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID) diff --git a/pkg/common/db/redisModel_test.go b/pkg/common/db/redisModel_test.go index f90cd99cd..cd82aca03 100644 --- a/pkg/common/db/redisModel_test.go +++ b/pkg/common/db/redisModel_test.go @@ -16,7 +16,8 @@ func Test_SetTokenMapByUidPid(t *testing.T) { m["test1"] = 1 m["test2"] = 2 m["2332"] = 4 - _ = DB.SetTokenMapByUidPid("1234", 2, m) + err := DB.SetTokenMapByUidPid("1234", 2, m) + assert.Nil(t, err) } func Test_GetTokenMapByUidPid(t *testing.T) {