aa
This commit is contained in:
@@ -451,6 +451,49 @@ func DeleteMessageGroup(ctx *jxcontext.Context, groupID int, userID string, flag
|
|||||||
return errCode, err
|
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) {
|
func SendSysMessage(ctx *jxcontext.Context, imMessageRecord *model.ImMessageRecord) (err error) {
|
||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
|
|||||||
@@ -385,6 +385,7 @@ func (c *EventController) DeleteMessageGroup() {
|
|||||||
// @router /TransferMessageGroupMaster [post]
|
// @router /TransferMessageGroupMaster [post]
|
||||||
func (c *EventController) TransferMessageGroupMaster() {
|
func (c *EventController) TransferMessageGroupMaster() {
|
||||||
c.callTransferMessageGroupMaster(func(params *tEventTransferMessageGroupMasterParams) (retVal interface{}, errCode string, err error) {
|
c.callTransferMessageGroupMaster(func(params *tEventTransferMessageGroupMasterParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
err = event.TransferMessageGroupMaster(params.Ctx, params.GroupID, params.UserID)
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user