mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
mute group
This commit is contained in:
parent
391e525fc5
commit
1286f9dcb6
@ -1 +1 @@
|
|||||||
Subproject commit a6e91454f2cd72d7229f3b2d884d812d5fde1694
|
Subproject commit 65f2ba78952e72f3f07590634e4e3e38897ead1e
|
@ -961,3 +961,50 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGrou
|
|||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
|
||||||
return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
|
return &pbGroup.DismissGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// rpc MuteGroupMember(MuteGroupMemberReq) returns(MuteGroupMemberResp);
|
||||||
|
// rpc CancelMuteGroupMember(CancelMuteGroupMemberReq) returns(CancelMuteGroupMemberResp);
|
||||||
|
// rpc MuteGroup(MuteGroupReq) returns(MuteGroupResp);
|
||||||
|
// rpc CancelMuteGroup(CancelMuteGroupReq) returns(CancelMuteGroupResp);
|
||||||
|
|
||||||
|
func (s *groupServer) MuteGroupMember(ctx context.Context, req *pbGroup.MuteGroupMemberReq) (*pbGroup.MuteGroupMemberResp, error) {
|
||||||
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc args ", req.String())
|
||||||
|
if !imdb.IsGroupOwnerAdmin(req.GroupID, req.UserID) && !token_verify.IsMangerUserID(req.OpUserID) {
|
||||||
|
log.Error(req.OperationID, "verify failed ", req.OpUserID, req.GroupID)
|
||||||
|
return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil
|
||||||
|
}
|
||||||
|
groupMemberInfo := db.GroupMember{GroupID: req.GroupID, UserID: req.UserID}
|
||||||
|
groupMemberInfo.MuteEndTime = time.Unix(int64(time.Now().Second())+int64(req.MutedSeconds), 0)
|
||||||
|
err := imdb.UpdateGroupMemberInfo(groupMemberInfo)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(req.OperationID, "UpdateGroupMemberInfo failed ", err.Error(), groupMemberInfo)
|
||||||
|
return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
|
||||||
|
}
|
||||||
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
|
||||||
|
return &pbGroup.MuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *groupServer) CancelMuteGroupMember(ctx context.Context, req *pbGroup.CancelMuteGroupMemberReq) (*pbGroup.CancelMuteGroupMemberResp, error) {
|
||||||
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc args ", req.String())
|
||||||
|
if !imdb.IsGroupOwnerAdmin(req.GroupID, req.UserID) && !token_verify.IsMangerUserID(req.OpUserID) {
|
||||||
|
log.Error(req.OperationID, "verify failed ", req.OpUserID, req.GroupID)
|
||||||
|
return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil
|
||||||
|
}
|
||||||
|
groupMemberInfo := db.GroupMember{GroupID: req.GroupID, UserID: req.UserID}
|
||||||
|
groupMemberInfo.MuteEndTime = time.Unix(0, 0)
|
||||||
|
err := imdb.UpdateGroupMemberInfo(groupMemberInfo)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(req.OperationID, "UpdateGroupMemberInfo failed ", err.Error(), groupMemberInfo)
|
||||||
|
return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil
|
||||||
|
}
|
||||||
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "rpc return ", pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""})
|
||||||
|
return &pbGroup.CancelMuteGroupMemberResp{CommonResp: &pbGroup.CommonResp{ErrCode: 0, ErrMsg: ""}}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *groupServer) MuteGroup(ctx context.Context, req *pbGroup.MuteGroupReq) (*pbGroup.MuteGroupResp, error) {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *groupServer) CancelMuteGroup(ctx context.Context, req *pbGroup.CancelMuteGroupReq) (*pbGroup.CancelMuteGroupResp, error) {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
@ -30,6 +30,9 @@ func InsertIntoGroupMember(toInsertInfo db.GroupMember) error {
|
|||||||
if toInsertInfo.RoleLevel == 0 {
|
if toInsertInfo.RoleLevel == 0 {
|
||||||
toInsertInfo.RoleLevel = constant.GroupOrdinaryUsers
|
toInsertInfo.RoleLevel = constant.GroupOrdinaryUsers
|
||||||
}
|
}
|
||||||
|
if toInsertInfo.MuteEndTime.Unix() == 0 {
|
||||||
|
toInsertInfo.MuteEndTime = time.Unix(0, 0)
|
||||||
|
}
|
||||||
err = dbConn.Table("group_members").Create(toInsertInfo).Error
|
err = dbConn.Table("group_members").Create(toInsertInfo).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -267,6 +270,14 @@ func GetGroupMembersCount(groupId, userName string) (int32, error) {
|
|||||||
return count, nil
|
return count, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func UpdateGroupMemberInfoDefaultZero(groupMemberInfo db.GroupMember, args map[string]interface{}) error {
|
||||||
|
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return dbConn.Model(groupMemberInfo).Updates(args).Error
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
//func SelectGroupList(groupID string) ([]string, error) {
|
//func SelectGroupList(groupID string) ([]string, error) {
|
||||||
// var groupUserID string
|
// var groupUserID string
|
||||||
|
@ -57,7 +57,6 @@ func SetGroupInfo(groupInfo db.Group) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
dbConn.LogMode(true)
|
|
||||||
err = dbConn.Table("groups").Where("group_id=?", groupInfo.GroupID).Update(&groupInfo).Error
|
err = dbConn.Table("groups").Where("group_id=?", groupInfo.GroupID).Update(&groupInfo).Error
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -68,7 +67,7 @@ func GetGroupsByName(groupName string, pageNumber, showNumber int32) ([]db.Group
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return groups, err
|
return groups, err
|
||||||
}
|
}
|
||||||
dbConn.LogMode(true)
|
|
||||||
err = dbConn.Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", groupName)).Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error
|
err = dbConn.Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", groupName)).Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error
|
||||||
return groups, err
|
return groups, err
|
||||||
}
|
}
|
||||||
@ -79,7 +78,7 @@ func GetGroups(pageNumber, showNumber int) ([]db.Group, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return groups, err
|
return groups, err
|
||||||
}
|
}
|
||||||
dbConn.LogMode(true)
|
|
||||||
if err = dbConn.Table("groups").Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error; err != nil {
|
if err = dbConn.Table("groups").Limit(showNumber).Offset(showNumber * (pageNumber - 1)).Find(&groups).Error; err != nil {
|
||||||
return groups, err
|
return groups, err
|
||||||
}
|
}
|
||||||
@ -102,7 +101,7 @@ func DeleteGroup(groupId string) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
dbConn.LogMode(true)
|
|
||||||
var group db.Group
|
var group db.Group
|
||||||
var groupMembers []db.GroupMember
|
var groupMembers []db.GroupMember
|
||||||
if err := dbConn.Table("groups").Where("group_id=?", groupId).Delete(&group).Error; err != nil {
|
if err := dbConn.Table("groups").Where("group_id=?", groupId).Delete(&group).Error; err != nil {
|
||||||
@ -119,7 +118,6 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return "", "", err
|
return "", "", err
|
||||||
}
|
}
|
||||||
dbConn.LogMode(true)
|
|
||||||
groupMember := db.GroupMember{
|
groupMember := db.GroupMember{
|
||||||
UserID: userId,
|
UserID: userId,
|
||||||
GroupID: groupId,
|
GroupID: groupId,
|
||||||
@ -182,7 +180,7 @@ func GetGroupsCountNum(group db.Group) (int32, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
dbConn.LogMode(true)
|
|
||||||
var count int32
|
var count int32
|
||||||
if err := dbConn.Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", group.GroupName)).Count(&count).Error; err != nil {
|
if err := dbConn.Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", group.GroupName)).Count(&count).Error; err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
@ -198,7 +196,7 @@ func GetGroupById(groupId string) (db.Group, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return group, err
|
return group, err
|
||||||
}
|
}
|
||||||
dbConn.LogMode(true)
|
|
||||||
if err := dbConn.Table("groups").Find(&group).Error; err != nil {
|
if err := dbConn.Table("groups").Find(&group).Error; err != nil {
|
||||||
return group, err
|
return group, err
|
||||||
}
|
}
|
||||||
@ -211,9 +209,17 @@ func GetGroupMaster(groupId string) (db.GroupMember, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return groupMember, err
|
return groupMember, err
|
||||||
}
|
}
|
||||||
dbConn.LogMode(true)
|
|
||||||
if err := dbConn.Table("group_members").Where("role_level=? and group_id=?", constant.GroupOwner, groupId).Find(&groupMember).Error; err != nil {
|
if err := dbConn.Table("group_members").Where("role_level=? and group_id=?", constant.GroupOwner, groupId).Find(&groupMember).Error; err != nil {
|
||||||
return groupMember, err
|
return groupMember, err
|
||||||
}
|
}
|
||||||
return groupMember, nil
|
return groupMember, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func UpdateGroupInfoDefaultZero(groupInfo db.Group, args map[string]interface{}) error {
|
||||||
|
dbConn, err := db.DB.MysqlDB.DefaultGormDB()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return dbConn.Model(groupInfo).Updates(args).Error
|
||||||
|
}
|
||||||
|
@ -118,6 +118,7 @@ func GroupMemberDBCopyOpenIM(dst *open_im_sdk.GroupMemberFullInfo, src *db.Group
|
|||||||
dst.AppMangerLevel = 1
|
dst.AppMangerLevel = 1
|
||||||
}
|
}
|
||||||
dst.JoinTime = int32(src.JoinTime.Unix())
|
dst.JoinTime = int32(src.JoinTime.Unix())
|
||||||
|
dst.MuteEndTime = uint32(src.JoinTime.Unix())
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user