This commit is contained in:
苏尹岚
2020-12-29 15:55:21 +08:00
parent 8f6a6bf47d
commit b6ffa0f01f
2 changed files with 44 additions and 0 deletions

View File

@@ -451,6 +451,49 @@ func DeleteMessageGroup(ctx *jxcontext.Context, groupID int, userID string, flag
return errCode, err
}
func TransferMessageGroupMaster(ctx *jxcontext.Context, groupID int, userID string) (err error) {
var (
db = dao.GetDB()
messageGroup = &model.MessageGroup{
GroupID: groupID,
}
)
if err = dao.GetEntity(db, messageGroup, "GroupID"); err != nil {
return err
}
if messageGroup.UserID != ctx.GetUserID() {
return fmt.Errorf("只有群主才能转让群主!")
}
//群主换成选的那个人
messageGroup.UserID = userID
messageGroup.LastOperator = ctx.GetUserName()
//之前那个群成员换成之前的群主
messageGroupMembers, err := dao.GetMessageGroupMembers(db, groupID, 0, userID)
if err != nil && len(messageGroupMembers) == 0 {
return err
}
messageGroupMember := messageGroupMembers[0]
messageGroupMember.MemberUserID = ctx.GetUserID()
messageGroupMember.LastOperator = ctx.GetUserName()
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
if _, err = dao.UpdateEntity(db, messageGroup, "UserID", "LastOperator"); err != nil {
dao.Rollback(db)
return err
}
if _, err = dao.UpdateEntity(db, messageGroupMember, "MemberUserID", "LastOperator"); err != nil {
dao.Rollback(db)
return err
}
dao.Commit(db)
return err
}
func SendSysMessage(ctx *jxcontext.Context, imMessageRecord *model.ImMessageRecord) (err error) {
var (
db = dao.GetDB()

View File

@@ -385,6 +385,7 @@ func (c *EventController) DeleteMessageGroup() {
// @router /TransferMessageGroupMaster [post]
func (c *EventController) TransferMessageGroupMaster() {
c.callTransferMessageGroupMaster(func(params *tEventTransferMessageGroupMasterParams) (retVal interface{}, errCode string, err error) {
err = event.TransferMessageGroupMaster(params.Ctx, params.GroupID, params.UserID)
return retVal, "", err
})
}