Merge remote-tracking branch 'origin/superGroup' into superGroup

This commit is contained in:
wenxu12345 2022-06-23 09:24:20 +08:00
commit 2f5d8dfb80
6 changed files with 36 additions and 25 deletions

View File

@ -21,7 +21,8 @@ import (
"time" "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 { if err := createOrganizationUser(operationID, userID, userName); err != nil {
log.NewError(operationID, utils.GetSelfFuncName(), "createOrganizationUser failed", err.Error()) log.NewError(operationID, utils.GetSelfFuncName(), "createOrganizationUser failed", err.Error())
} }
@ -39,8 +40,7 @@ func onboardingProcess(operationID, userID, userName string) {
if err != nil { if err != nil {
log.NewError(operationID, utils.GetSelfFuncName(), err.Error()) log.NewError(operationID, utils.GetSelfFuncName(), err.Error())
} }
log.NewInfo(operationID, utils.GetSelfFuncName(), groupIDList) joinGroups(operationID, userID, userName, faceURL, groupIDList)
joinGroups(operationID, userID, userName, groupIDList)
log.NewInfo(operationID, utils.GetSelfFuncName(), "fineshed") log.NewInfo(operationID, utils.GetSelfFuncName(), "fineshed")
oaNotification(operationID, userID) oaNotification(operationID, userID)
} }
@ -157,7 +157,7 @@ func GetDepartmentGroupIDList(operationID, departmentID string) ([]string, error
return getDepartmentParentIDListResp.GroupIDList, nil return getDepartmentParentIDListResp.GroupIDList, nil
} }
func joinGroups(operationID, userID, userName string, groupIDList []string) { func joinGroups(operationID, userID, userName, faceURL string, groupIDList []string) {
defer func() { defer func() {
log.NewInfo(operationID, utils.GetSelfFuncName(), userID, groupIDList) 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) log.NewError(req.OperationID, utils.GetSelfFuncName(), resp)
continue continue
} }
onboardingProcessNotification(operationID, userID, groupID, userName) onboardingProcessNotification(operationID, userID, groupID, userName, faceURL)
} }
} }
// welcome user join department notification // welcome user join department notification
func onboardingProcessNotification(operationID, userID, groupID, userName string) { func onboardingProcessNotification(operationID, userID, groupID, userName, faceURL string) {
defer func() { defer func() {
log.NewInfo(operationID, utils.GetSelfFuncName(), userID, groupID) log.NewInfo(operationID, utils.GetSelfFuncName(), userID, groupID)
}() }()
@ -204,13 +204,15 @@ func onboardingProcessNotification(operationID, userID, groupID, userName string
//} //}
welcomeString := fmt.Sprintf("欢迎%s加入部门", userName) welcomeString := fmt.Sprintf("欢迎%s加入部门", userName)
notification := &msg.NotificationMsg{ notification := &msg.NotificationMsg{
SendID: userID, SendID: userID,
RecvID: groupID, RecvID: groupID,
Content: []byte(welcomeString), Content: []byte(welcomeString),
MsgFrom: constant.UserMsgType, MsgFrom: constant.UserMsgType,
ContentType: constant.Text, ContentType: constant.Text,
SessionType: constant.GroupChatType, SessionType: constant.GroupChatType,
OperationID: operationID, OperationID: operationID,
SenderNickname: userName,
SenderFaceURL: faceURL,
} }
// notification user join group // notification user join group

View File

@ -87,7 +87,7 @@ func SetPassword(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register failed: " + openIMRegisterResp.ErrMsg}) c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register failed: " + openIMRegisterResp.ErrMsg})
return 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) err = im_mysql_model.SetPassword(account, params.Password, params.Ex, userID)
if err != nil { if err != nil {
log.NewError(params.OperationID, "set phone number password error", account, "err", err.Error()) 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) log.Info(params.OperationID, "end setPassword", account, params.Password)
// demo onboarding // 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}) c.JSON(http.StatusOK, gin.H{"errCode": constant.NoError, "errMsg": "", "data": openIMRegisterResp.UserToken})
return return
} }

View File

@ -553,13 +553,15 @@ func modifyMessageByUserMessageReceiveOptoptimization(userID, sourceID string, s
} }
type NotificationMsg struct { type NotificationMsg struct {
SendID string SendID string
RecvID string RecvID string
Content []byte // open_im_sdk.TipsComm Content []byte // open_im_sdk.TipsComm
MsgFrom int32 MsgFrom int32
ContentType int32 ContentType int32
SessionType int32 SessionType int32
OperationID string OperationID string
SenderNickname string
SenderFaceURL string
} }
func Notification(n *NotificationMsg) { func Notification(n *NotificationMsg) {
@ -579,6 +581,8 @@ func Notification(n *NotificationMsg) {
msg.CreateTime = utils.GetCurrentTimestampByMill() msg.CreateTime = utils.GetCurrentTimestampByMill()
msg.ClientMsgID = utils.GetMsgID(n.SendID) msg.ClientMsgID = utils.GetMsgID(n.SendID)
msg.Options = make(map[string]bool, 7) msg.Options = make(map[string]bool, 7)
msg.SenderNickname = n.SenderNickname
msg.SenderFaceURL = n.SenderFaceURL
switch n.SessionType { switch n.SessionType {
case constant.GroupChatType, constant.SuperGroupChatType: case constant.GroupChatType, constant.SuperGroupChatType:
msg.RecvID = "" msg.RecvID = ""

View File

@ -284,7 +284,7 @@ func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOp
stringList := strings.Split(req.ConversationID, "_") stringList := strings.Split(req.ConversationID, "_")
if len(stringList) > 1 { if len(stringList) > 1 {
switch stringList[0] { switch stringList[0] {
case "single_": case "single":
conversation.UserID = stringList[1] conversation.UserID = stringList[1]
conversation.ConversationType = constant.SingleChatType conversation.ConversationType = constant.SingleChatType
case "group": case "group":

View File

@ -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 { func (d *DataBases) SetTokenMapByUidPid(userID string, platformID int, m map[string]int) error {
key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID) 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 { func (d *DataBases) DeleteTokenByUidPid(userID string, platformID int, fields []string) error {
key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID) key := uidPidToken + userID + ":" + constant.PlatformIDToName(platformID)

View File

@ -16,7 +16,8 @@ func Test_SetTokenMapByUidPid(t *testing.T) {
m["test1"] = 1 m["test1"] = 1
m["test2"] = 2 m["test2"] = 2
m["2332"] = 4 m["2332"] = 4
_ = DB.SetTokenMapByUidPid("1234", 2, m) err := DB.SetTokenMapByUidPid("1234", 2, m)
assert.Nil(t, err)
} }
func Test_GetTokenMapByUidPid(t *testing.T) { func Test_GetTokenMapByUidPid(t *testing.T) {