@ -2,62 +2,48 @@ package relation
import (
import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db/table"
"Open_IM/pkg/common/tracelog"
"Open_IM/pkg/common/tracelog"
"Open_IM/pkg/utils"
"Open_IM/pkg/utils"
"context"
"context"
"fmt"
"gorm.io/gorm"
"gorm.io/gorm"
"time"
)
)
var GroupMemberDB * gorm . DB
type GroupMemberGorm struct {
DB * gorm . DB
type GroupMember struct {
GroupID string ` gorm:"column:group_id;primary_key;size:64" `
UserID string ` gorm:"column:user_id;primary_key;size:64" `
Nickname string ` gorm:"column:nickname;size:255" `
FaceURL string ` gorm:"column:user_group_face_url;size:255" `
RoleLevel int32 ` gorm:"column:role_level" `
JoinTime time . Time ` gorm:"column:join_time" `
JoinSource int32 ` gorm:"column:join_source" `
InviterUserID string ` gorm:"column:inviter_user_id;size:64" `
OperatorUserID string ` gorm:"column:operator_user_id;size:64" `
MuteEndTime time . Time ` gorm:"column:mute_end_time" `
Ex string ` gorm:"column:ex;size:1024" `
DB * gorm . DB ` gorm:"-" json:"-" `
}
}
func NewGroupMemberDB ( db * gorm . DB ) * GroupMember {
func NewGroupMemberDB ( db * gorm . DB ) * GroupMemberGorm {
return & GroupMember { DB : db }
return & GroupMemberGorm { DB : db }
}
}
func ( g * GroupMember ) Create ( ctx context . Context , groupMemberList [ ] * GroupMember, tx ... * gorm . DB ) ( err error ) {
func ( g * GroupMemberGorm ) Create ( ctx context . Context , groupMemberList [ ] * table . GroupMemberModel , tx ... * gorm . DB ) ( err error ) {
defer func ( ) {
defer func ( ) {
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupMemberList" , groupMemberList )
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupMemberList" , groupMemberList )
} ( )
} ( )
return utils . Wrap ( getDBConn ( g . DB , tx ) . Create ( & groupMemberList ) . Error , "" )
return utils . Wrap ( getDBConn ( g . DB , tx ) . Create ( & groupMemberList ) . Error , "" )
}
}
func ( g * GroupMember ) Delete ( ctx context . Context , groupMembers [ ] * GroupMember, tx ... * gorm . DB ) ( err error ) {
func ( g * GroupMember Gorm ) Delete ( ctx context . Context , groupMembers [ ] * table. GroupMemberModel , tx ... * gorm . DB ) ( err error ) {
defer func ( ) {
defer func ( ) {
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupMembers" , groupMembers )
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupMembers" , groupMembers )
} ( )
} ( )
return utils . Wrap ( getDBConn ( g . DB , tx ) . Delete ( groupMembers ) . Error , "" )
return utils . Wrap ( getDBConn ( g . DB , tx ) . Delete ( groupMembers ) . Error , "" )
}
}
func ( g * GroupMember ) UpdateByMap ( ctx context . Context , groupID string , userID string , args map [ string ] interface { } , tx ... * gorm . DB ) ( err error ) {
func ( g * GroupMember Gorm ) UpdateByMap ( ctx context . Context , groupID string , userID string , args map [ string ] interface { } , tx ... * gorm . DB ) ( err error ) {
defer func ( ) {
defer func ( ) {
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupID" , groupID , "userID" , userID , "args" , args )
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupID" , groupID , "userID" , userID , "args" , args )
} ( )
} ( )
return utils . Wrap ( getDBConn ( g . DB , tx ) . Model ( & GroupMember{ } ) . Where ( "group_id = ? and user_id = ?" , groupID , userID ) . Updates ( args ) . Error , "" )
return utils . Wrap ( getDBConn ( g . DB , tx ) . Model ( & table. GroupMemberModel { } ) . Where ( "group_id = ? and user_id = ?" , groupID , userID ) . Updates ( args ) . Error , "" )
}
}
func ( g * GroupMember ) Update ( ctx context . Context , groupMembers [ ] * GroupMember, tx ... * gorm . DB ) ( err error ) {
func ( g * GroupMember Gorm ) Update ( ctx context . Context , groupMembers [ ] * table. GroupMemberModel , tx ... * gorm . DB ) ( err error ) {
defer func ( ) { tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupMembers" , groupMembers ) } ( )
defer func ( ) { tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupMembers" , groupMembers ) } ( )
return utils . Wrap ( getDBConn ( g . DB , tx ) . Updates ( & groupMembers ) . Error , "" )
return utils . Wrap ( getDBConn ( g . DB , tx ) . Updates ( & groupMembers ) . Error , "" )
}
}
func ( g * GroupMember ) Find ( ctx context . Context , groupMembers [ ] * GroupMember, tx ... * gorm . DB ) ( groupList [ ] * GroupMember, err error ) {
func ( g * GroupMember Gorm ) Find ( ctx context . Context , groupMembers [ ] * table. GroupMemberModel , tx ... * gorm . DB ) ( groupList [ ] * table. GroupMemberModel , err error ) {
defer func ( ) {
defer func ( ) {
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupMembers" , groupMembers , "groupList" , groupList )
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupMembers" , groupMembers , "groupList" , groupList )
} ( )
} ( )
@ -68,230 +54,230 @@ func (g *GroupMember) Find(ctx context.Context, groupMembers []*GroupMember, tx
return groupList , utils . Wrap ( getDBConn ( g . DB , tx ) . Where ( "(group_id, user_id) in ?" , where ) . Find ( & groupList ) . Error , "" )
return groupList , utils . Wrap ( getDBConn ( g . DB , tx ) . Where ( "(group_id, user_id) in ?" , where ) . Find ( & groupList ) . Error , "" )
}
}
func ( g * GroupMember ) Take ( ctx context . Context , groupID string , userID string , tx ... * gorm . DB ) ( groupMember * GroupMember, err error ) {
func ( g * GroupMember Gorm ) Take ( ctx context . Context , groupID string , userID string , tx ... * gorm . DB ) ( groupMember * table. GroupMemberModel , err error ) {
defer func ( ) {
defer func ( ) {
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupID" , groupID , "userID" , userID , "groupMember" , * groupMember )
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupID" , groupID , "userID" , userID , "groupMember" , * groupMember )
} ( )
} ( )
groupMember = & GroupMember{ }
groupMember = & table. GroupMemberModel { }
return groupMember , utils . Wrap ( getDBConn ( g . DB , tx ) . Where ( "group_id = ? and user_id = ?" , groupID , userID ) . Take ( groupMember ) . Error , "" )
return groupMember , utils . Wrap ( getDBConn ( g . DB , tx ) . Where ( "group_id = ? and user_id = ?" , groupID , userID ) . Take ( groupMember ) . Error , "" )
}
}
func ( g * GroupMember ) TakeOwnerInfo ( ctx context . Context , groupID string , tx ... * gorm . DB ) ( groupMember * GroupMember, err error ) {
func ( g * GroupMember Gorm ) TakeOwnerInfo ( ctx context . Context , groupID string , tx ... * gorm . DB ) ( groupMember * table. GroupMemberModel , err error ) {
defer func ( ) {
defer func ( ) {
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupID" , groupID , "groupMember" , * groupMember )
tracelog . SetCtxDebug ( ctx , utils . GetFuncName ( 1 ) , err , "groupID" , groupID , "groupMember" , * groupMember )
} ( )
} ( )
groupMember = & GroupMember{ }
groupMember = & table. GroupMemberModel { }
return groupMember , utils . Wrap ( getDBConn ( g . DB , tx ) . Where ( "group_id = ? and role_level = ?" , groupID , constant . GroupOwner ) . Take ( groupMember ) . Error , "" )
return groupMember , utils . Wrap ( getDBConn ( g . DB , tx ) . Where ( "group_id = ? and role_level = ?" , groupID , constant . GroupOwner ) . Take ( groupMember ) . Error , "" )
}
}
func InsertIntoGroupMember ( toInsertInfo GroupMember ) error {
//func InsertIntoGroupMember(toInsertInfo GroupMemberModel) error {
toInsertInfo . JoinTime = time . Now ( )
// toInsertInfo.JoinTime = time.Now()
if toInsertInfo . RoleLevel == 0 {
// if toInsertInfo.RoleLevel == 0 {
toInsertInfo . RoleLevel = constant . GroupOrdinaryUsers
// toInsertInfo.RoleLevel = constant.GroupOrdinaryUsers
}
// }
toInsertInfo . MuteEndTime = time . Unix ( int64 ( time . Now ( ) . Second ( ) ) , 0 )
// toInsertInfo.MuteEndTime = time.Unix(int64(time.Now().Second()), 0)
err := GroupMemberDB . Table ( "group_members" ) . Create ( toInsertInfo ) . Error
// err := GroupMemberDB.Table("group_members").Create(toInsertInfo).Error
if err != nil {
// if err != nil {
return err
// return err
}
// }
return nil
// return nil
}
//}
//
func BatchInsertIntoGroupMember ( toInsertInfoList [ ] * GroupMember ) error {
//func BatchInsertIntoGroupMember(toInsertInfoList []*GroupMemberModel) error {
for _ , toInsertInfo := range toInsertInfoList {
// for _, toInsertInfo := range toInsertInfoList {
toInsertInfo . JoinTime = time . Now ( )
// toInsertInfo.JoinTime = time.Now()
if toInsertInfo . RoleLevel == 0 {
// if toInsertInfo.RoleLevel == 0 {
toInsertInfo . RoleLevel = constant . GroupOrdinaryUsers
// toInsertInfo.RoleLevel = constant.GroupOrdinaryUsers
}
// }
toInsertInfo . MuteEndTime = time . Unix ( int64 ( time . Now ( ) . Second ( ) ) , 0 )
// toInsertInfo.MuteEndTime = time.Unix(int64(time.Now().Second()), 0)
}
// }
return GroupMemberDB . Create ( toInsertInfoList ) . Error
// return GroupMemberDB.Create(toInsertInfoList).Error
//
}
//}
//
func GetGroupMemberListByUserID ( userID string ) ( [ ] GroupMember , error ) {
//func GetGroupMemberListByUserID(userID string) ([]GroupMemberModel, error) {
var groupMemberList [ ] GroupMember
// var groupMemberList []GroupMemberModel
err := GroupMemberDB . Table ( "group_members" ) . Where ( "user_id=?" , userID ) . Find ( & groupMemberList ) . Error
// err := GroupMemberDB.Table("group_members").Where("user_id=?", userID).Find(&groupMemberList).Error
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
return groupMemberList , nil
// return groupMemberList, nil
}
//}
//
func GetGroupMemberListByGroupID ( groupID string ) ( [ ] GroupMember , error ) {
//func GetGroupMemberListByGroupID(groupID string) ([]GroupMemberModel, error) {
var groupMemberList [ ] GroupMember
// var groupMemberList []GroupMemberModel
err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=?" , groupID ) . Find ( & groupMemberList ) . Error
// err := GroupMemberDB.Table("group_members").Where("group_id=?", groupID).Find(&groupMemberList).Error
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
return groupMemberList , nil
// return groupMemberList, nil
}
//}
//
func GetGroupMemberIDListByGroupID ( groupID string ) ( [ ] string , error ) {
//func GetGroupMemberIDListByGroupID(groupID string) ([]string, error) {
var groupMemberIDList [ ] string
// var groupMemberIDList []string
err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=?" , groupID ) . Pluck ( "user_id" , & groupMemberIDList ) . Error
// err := GroupMemberDB.Table("group_members").Where("group_id=?", groupID).Pluck("user_id", &groupMemberIDList).Error
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
return groupMemberIDList , nil
// return groupMemberIDList, nil
}
//}
//
func GetGroupMemberListByGroupIDAndRoleLevel ( groupID string , roleLevel int32 ) ( [ ] GroupMember , error ) {
//func GetGroupMemberListByGroupIDAndRoleLevel(groupID string, roleLevel int32) ([]GroupMemberModel, error) {
var groupMemberList [ ] GroupMember
// var groupMemberList []GroupMemberModel
err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=? and role_level=?" , groupID , roleLevel ) . Find ( & groupMemberList ) . Error
// err := GroupMemberDB.Table("group_members").Where("group_id=? and role_level=?", groupID, roleLevel).Find(&groupMemberList).Error
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
return groupMemberList , nil
// return groupMemberList, nil
}
//}
//
func GetGroupMemberInfoByGroupIDAndUserID ( groupID , userID string ) ( * GroupMember , error ) {
//func GetGroupMemberInfoByGroupIDAndUserID(groupID, userID string) (*GroupMemberModel, error) {
var groupMember GroupMember
// var groupMember GroupMemberModel
err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=? and user_id=? " , groupID , userID ) . Limit ( 1 ) . Take ( & groupMember ) . Error
// err := GroupMemberDB.Table("group_members").Where("group_id=? and user_id=? ", groupID, userID).Limit(1).Take(&groupMember).Error
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
return & groupMember , nil
// return &groupMember, nil
}
//}
//
func DeleteGroupMemberByGroupIDAndUserID ( groupID , userID string ) error {
//func DeleteGroupMemberByGroupIDAndUserID(groupID, userID string) error {
return GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=? and user_id=? " , groupID , userID ) . Delete ( GroupMember { } ) . Error
// return GroupMemberDB.Table("group_members").Where("group_id=? and user_id=? ", groupID, userID).Delete(GroupMemberModel{}).Error
}
//}
//
func DeleteGroupMemberByGroupID ( groupID string ) error {
//func DeleteGroupMemberByGroupID(groupID string) error {
return GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=? " , groupID ) . Delete ( GroupMember { } ) . Error
// return GroupMemberDB.Table("group_members").Where("group_id=? ", groupID).Delete(GroupMemberModel{}).Error
}
//}
//
func UpdateGroupMemberInfo ( groupMemberInfo GroupMember ) error {
//func UpdateGroupMemberInfo(groupMemberInfo GroupMemberModel) error {
return GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=? and user_id=?" , groupMemberInfo . GroupID , groupMemberInfo . UserID ) . Updates ( & groupMemberInfo ) . Error
// return GroupMemberDB.Table("group_members").Where("group_id=? and user_id=?", groupMemberInfo.GroupID, groupMemberInfo.UserID).Updates(&groupMemberInfo).Error
}
//}
//
func UpdateGroupMemberInfoByMap ( groupMemberInfo GroupMember , m map [ string ] interface { } ) error {
//func UpdateGroupMemberInfoByMap(groupMemberInfo GroupMemberModel, m map[string]interface{}) error {
return GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=? and user_id=?" , groupMemberInfo . GroupID , groupMemberInfo . UserID ) . Updates ( m ) . Error
// return GroupMemberDB.Table("group_members").Where("group_id=? and user_id=?", groupMemberInfo.GroupID, groupMemberInfo.UserID).Updates(m).Error
}
//}
//
func GetOwnerManagerByGroupID ( groupID string ) ( [ ] GroupMember , error ) {
//func GetOwnerManagerByGroupID(groupID string) ([]GroupMemberModel, error) {
var groupMemberList [ ] GroupMember
// var groupMemberList []GroupMemberModel
err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=? and role_level>?" , groupID , constant . GroupOrdinaryUsers ) . Find ( & groupMemberList ) . Error
// err := GroupMemberDB.Table("group_members").Where("group_id=? and role_level>?", groupID, constant.GroupOrdinaryUsers).Find(&groupMemberList).Error
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
return groupMemberList , nil
// return groupMemberList, nil
}
//}
//
func GetGroupMemberNumByGroupID ( groupID string ) ( int64 , error ) {
//func GetGroupMemberNumByGroupID(groupID string) (int64, error) {
var number int64
// var number int64
err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=?" , groupID ) . Count ( & number ) . Error
// err := GroupMemberDB.Table("group_members").Where("group_id=?", groupID).Count(&number).Error
if err != nil {
// if err != nil {
return 0 , utils . Wrap ( err , "" )
// return 0, utils.Wrap(err, "")
}
// }
return number , nil
// return number, nil
}
//}
//
func GetGroupOwnerInfoByGroupID ( groupID string ) ( * GroupMember , error ) {
//func GetGroupOwnerInfoByGroupID(groupID string) (*GroupMemberModel, error) {
omList , err := GetOwnerManagerByGroupID ( groupID )
// omList, err := GetOwnerManagerByGroupID(groupID)
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
for _ , v := range omList {
// for _, v := range omList {
if v . RoleLevel == constant . GroupOwner {
// if v.RoleLevel == constant.GroupOwner {
return & v , nil
// return &v, nil
}
// }
}
// }
return nil , utils . Wrap ( constant . ErrGroupNoOwner , "" )
// return nil, utils.Wrap(constant.ErrGroupNoOwner, "")
}
//}
//
func IsExistGroupMember ( groupID , userID string ) bool {
//func IsExistGroupMember(groupID, userID string) bool {
var number int64
// var number int64
err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id = ? and user_id = ?" , groupID , userID ) . Count ( & number ) . Error
// err := GroupMemberDB.Table("group_members").Where("group_id = ? and user_id = ?", groupID, userID).Count(&number).Error
if err != nil {
// if err != nil {
return false
// return false
}
// }
if number != 1 {
// if number != 1 {
return false
// return false
}
// }
return true
// return true
}
//}
//
func CheckIsExistGroupMember ( ctx context . Context , groupID , userID string ) error {
//func CheckIsExistGroupMember(ctx context.Context, groupID, userID string) error {
var number int64
// var number int64
err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id = ? and user_id = ?" , groupID , userID ) . Count ( & number ) . Error
// err := GroupMemberDB.Table("group_members").Where("group_id = ? and user_id = ?", groupID, userID).Count(&number).Error
if err != nil {
// if err != nil {
return constant . ErrDB . Wrap ( )
// return constant.ErrDB.Wrap()
}
// }
if number != 1 {
// if number != 1 {
return constant . ErrData . Wrap ( )
// return constant.ErrData.Wrap()
}
// }
return nil
// return nil
}
//}
//
func GetGroupMemberByGroupID ( groupID string , filter int32 , begin int32 , maxNumber int32 ) ( [ ] GroupMember , error ) {
//func GetGroupMemberByGroupID(groupID string, filter int32, begin int32, maxNumber int32) ([]GroupMember, error) {
var memberList [ ] GroupMember
// var memberList []GroupMember
var err error
// var err error
if filter >= 0 {
// if filter >= 0 {
memberList , err = GetGroupMemberListByGroupIDAndRoleLevel ( groupID , filter ) //sorted by join time
// memberList, err = GetGroupMemberListByGroupIDAndRoleLevel(groupID, filter) //sorted by join time
} else {
// } else {
memberList , err = GetGroupMemberListByGroupID ( groupID )
// memberList, err = GetGroupMemberListByGroupID(groupID)
}
// }
//
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
if begin >= int32 ( len ( memberList ) ) {
// if begin >= int32(len(memberList)) {
return nil , nil
// return nil, nil
}
// }
//
var end int32
// var end int32
if begin + int32 ( maxNumber ) < int32 ( len ( memberList ) ) {
// if begin+int32(maxNumber) < int32(len(memberList)) {
end = begin + maxNumber
// end = begin + maxNumber
} else {
// } else {
end = int32 ( len ( memberList ) )
// end = int32(len(memberList))
}
// }
return memberList [ begin : end ] , nil
// return memberList[begin:end], nil
}
//}
//
func GetJoinedGroupIDListByUserID ( userID string ) ( [ ] string , error ) {
//func GetJoinedGroupIDListByUserID(userID string) ([]string, error) {
memberList , err := GetGroupMemberListByUserID ( userID )
// memberList, err := GetGroupMemberListByUserID(userID)
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
var groupIDList [ ] string
// var groupIDList []string
for _ , v := range memberList {
// for _, v := range memberList {
groupIDList = append ( groupIDList , v . GroupID )
// groupIDList = append(groupIDList, v.GroupID)
}
// }
return groupIDList , nil
// return groupIDList, nil
}
//}
//
func IsGroupOwnerAdmin ( groupID , UserID string ) bool {
//func IsGroupOwnerAdmin(groupID, UserID string) bool {
groupMemberList , err := GetOwnerManagerByGroupID ( groupID )
// groupMemberList, err := GetOwnerManagerByGroupID(groupID)
if err != nil {
// if err != nil {
return false
// return false
}
// }
for _ , v := range groupMemberList {
// for _, v := range groupMemberList {
if v . UserID == UserID && v . RoleLevel > constant . GroupOrdinaryUsers {
// if v.UserID == UserID && v.RoleLevel > constant.GroupOrdinaryUsers {
return true
// return true
}
// }
}
// }
return false
// return false
}
//}
//
func GetGroupMembersByGroupIdCMS ( groupId string , userName string , showNumber , pageNumber int32 ) ( [ ] GroupMember , error ) {
//func GetGroupMembersByGroupIdCMS(groupId string, userName string, showNumber, pageNumber int32) ([]GroupMember, error) {
var groupMembers [ ] GroupMember
// var groupMembers []GroupMember
err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=?" , groupId ) . Where ( fmt . Sprintf ( " nickname like '%%%s%%' " , userName ) ) . Limit ( int ( showNumber ) ) . Offset ( int ( showNumber * ( pageNumber - 1 ) ) ) . Find ( & groupMembers ) . Error
// err := GroupMemberDB.Table("group_members").Where("group_id=?", groupId).Where(fmt.Sprintf(" nickname like '%%%s%%' ", userName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groupMembers).Error
if err != nil {
// if err != nil {
return nil , err
// return nil, err
}
// }
return groupMembers , nil
// return groupMembers, nil
}
//}
//
func GetGroupMembersCount ( groupID , userName string ) ( int64 , error ) {
//func GetGroupMembersCount(groupID, userName string) (int64, error) {
var count int64
// var count int64
if err := GroupMemberDB . Table ( "group_members" ) . Where ( "group_id=?" , groupID ) . Where ( fmt . Sprintf ( " nickname like '%%%s%%' " , userName ) ) . Count ( & count ) . Error ; err != nil {
// if err := GroupMemberDB.Table("group_members").Where("group_id=?", groupID).Where(fmt.Sprintf(" nickname like '%%%s%%' ", userName)).Count(&count).Error; err != nil {
return count , err
// return count, err
}
// }
return count , nil
// return count, nil
}
//}
//
func UpdateGroupMemberInfoDefaultZero ( groupMemberInfo GroupMember , args map [ string ] interface { } ) error {
//func UpdateGroupMemberInfoDefaultZero(groupMemberInfo GroupMember, args map[string]interface{}) error {
return GroupMemberDB . Model ( groupMemberInfo ) . Updates ( args ) . Error
// return GroupMemberDB.Model(groupMemberInfo).Updates(args).Error
}
//}