Skip to content

Commit 577b63a

Browse files
committed
add group info for group member
1 parent 8deaaee commit 577b63a

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

services/userservice.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -170,14 +170,11 @@ func QueryMyGroups(ctx context.Context, limit int64, offset string) (errs.IMErro
170170
}
171171
for _, group := range groups {
172172
ret.Offset, _ = utils.EncodeInt(group.ID)
173-
dao := dbs.GroupDao{}
174-
grpInfo, err := dao.FindById(appkey, group.GroupId)
175173
if err == nil {
176174
ret.Items = append(ret.Items, &apimodels.Group{
177-
GroupId: grpInfo.GroupId,
178-
GroupName: grpInfo.GroupName,
179-
GroupPortrait: grpInfo.GroupPortrait,
180-
// MemberCount: grpInfo.MemberCount,
175+
GroupId: group.GroupId,
176+
GroupName: group.GroupName,
177+
GroupPortrait: group.GroupPortrait,
181178
})
182179
} else {
183180
fmt.Println(err)

storages/dbs/groupmemberdao.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,14 +128,23 @@ func (member GroupMemberDao) QueryMembers(appkey, groupId string, startId, limit
128128
return ret, err
129129
}
130130

131+
type GroupMemberWithGroup struct {
132+
GroupMemberDao
133+
GroupName string `gorm:"group_name"`
134+
GroupPortrait string `gorm:"group_portrait"`
135+
}
136+
131137
func (member GroupMemberDao) QueryGroupsByMemberId(appkey, memberId string, startId, limit int64) ([]*models.GroupMember, error) {
132-
var items []*GroupMemberDao
133-
err := dbcommons.GetDb().Where("app_key=? and member_id=? and id>?", appkey, memberId, startId).Order("id asc").Limit(limit).Find(&items).Error
138+
sql := fmt.Sprintf("select m.*,g.group_name,g.group_portrait from %s as m left join %s as g on m.app_key=g.app_key and m.group_id=g.group_id where m.app_key=? and m.member_id=? and m.id>?", member.TableName(), GroupDao{}.TableName())
139+
var items []*GroupMemberWithGroup
140+
err := dbcommons.GetDb().Raw(sql, appkey, memberId, startId).Order("m.id asc").Limit(limit).Find(&items).Error
134141
ret := []*models.GroupMember{}
135142
for _, item := range items {
136143
ret = append(ret, &models.GroupMember{
137144
ID: item.ID,
138145
GroupId: item.GroupId,
146+
GroupName: item.GroupName,
147+
GroupPortrait: item.GroupPortrait,
139148
MemberId: item.MemberId,
140149
MemberType: item.MemberType,
141150
CreatedTime: item.CreatedTime,

storages/models/group.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ type IGroupExtStorage interface {
8686
type GroupMember struct {
8787
ID int64
8888
GroupId string
89+
GroupName string
90+
GroupPortrait string
8991
MemberId string
9092
Nickname string
9193
UserPortrait string

0 commit comments

Comments
 (0)