Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hilo-group
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujiebin
hilo-group
Commits
0615a602
Commit
0615a602
authored
Jul 26, 2023
by
chenweijian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口优化
parent
f8a28240
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
67 additions
and
7 deletions
+67
-7
group.go
cv/group_cv/group.go
+7
-0
user.go
cv/user_cv/user.go
+47
-0
group_list.go
route/group_r/group_list.go
+7
-7
group_op.go
route/group_r/group_op.go
+6
-0
No files found.
cv/group_cv/group.go
View file @
0615a602
...
...
@@ -123,6 +123,13 @@ type MemberDetail struct {
InRoom
bool
`json:"inRoom"`
// 是否在房间内
}
type
GroupVisitorsDetail
struct
{
user_cv
.
CvGroupMember
Role
group_e
.
GroupRoleType
`json:"role"`
OnlineStatus
online_e
.
OnlineStatusType
`json:"onlineStatus"`
// IM在线状态
InRoom
bool
`json:"inRoom"`
// 是否在房间内
}
type
GroupDetail
struct
{
GroupBasicInfo
...
...
cv/user_cv/user.go
View file @
0615a602
package
user_cv
import
(
"encoding/json"
"git.hilo.cn/hilo-common/domain"
"git.hilo.cn/hilo-common/mylogrus"
"git.hilo.cn/hilo-common/resource/mysql"
...
...
@@ -169,6 +170,45 @@ type CvUserExtend struct {
ActiveGrade
uint32
`json:"activityUserGrade"`
}
type
CvGroupMember
struct
{
//不会有返回值
Id
*
mysql
.
ID
`json:"id,omitempty"`
//是否默认头像 true:是 false:不是
DefaultAvatar
*
bool
`json:"defaultAvatar"`
//头像,不存在为nil
Avatar
*
string
`json:"avatar"`
//用户对外ID
ExternalId
*
string
`json:"externalId"`
//昵称,不存在为nil
Nick
*
string
`json:"nick"`
//签名,不存在为nil
Description
*
string
`json:"description"`
Birthday
*
uint64
`json:"birthday"`
//邀请码
Code
*
string
`json:"code"`
//国家,不存在为nil
Country
*
string
`json:"country"`
//国旗图标,不存在为nil
CountryIcon
*
string
`json:"countryIcon"`
Sex
*
uint8
`json:"sex"`
//是否代理管理员, 只有自己查自己的时候才有值,其他情况为nil
IsAgentMgr
*
bool
`json:"isAgentMgr"`
//是否展示年龄, 是本人才有数据,看其他用户均为nil
IsShowAge
*
uint8
`json:"isShowAge"`
//是否工会成员, 只有是自己查自己,这个才有值,其它全为nil, 20220329 数据开放:原因:产品1对1视频聊天中,公会用户视频需要送礼物。改为: 全部人可以知道是否是公会用户。
IsTradeUnion
*
bool
`json:"isTradeUnion"`
//工会成员,是否开启了,匹配通知,只有 isTradeUnion值为true,这里才有值,
IsTradeUnionMatchNotification
*
bool
`json:"isTradeUnionMatchNotification"`
//是否VIP用户
IsVip
bool
`json:"isVip"`
Ride
property_cv
.
CvProperty
`json:"ride"`
// 当前使用的座驾
Noble
noble_cv
.
CvNoble
`json:"noble"`
// 当前的
Svip
rpc
.
CvSvip
`json:"svip"`
// svip结构,等级+权限
WealthGrade
uint32
`json:"wealthUserGrade"`
CharmGrade
uint32
`json:"charmUserGrade"`
ActiveGrade
uint32
`json:"activityUserGrade"`
}
// 批量获取用户tiny信息
func
GetUserTinyMap
(
userIds
[]
mysql
.
ID
)
(
map
[
mysql
.
ID
]
CvUserTiny
,
error
)
{
userTinys
,
_
,
err
:=
GetUserTinys
(
userIds
)
...
...
@@ -1335,3 +1375,10 @@ type TopConsumersUser struct {
//昵称,不存在为nil
Nick
*
string
`json:"nick"`
}
func
CvUserExtendToCvGroupMember
(
detail
CvUserExtend
)
CvGroupMember
{
jData
,
_
:=
json
.
Marshal
(
detail
)
res
:=
CvGroupMember
{}
_
=
json
.
Unmarshal
(
jData
,
&
res
)
return
res
}
route/group_r/group_list.go
View file @
0615a602
...
...
@@ -796,7 +796,7 @@ func GetMyGroup(c *gin.Context) (*mycontext.MyContext, error) {
// @Param groupId path string true "群ID"
// @Param pageSize query int false "分页大小 默认:10" default(10)
// @Param pageIndex query int false "第几个分页,从1开始 默认:1" default(1)
// @Success 200 {object} G
roupMembe
rsRsp
// @Success 200 {object} G
etGroupVisito
rsRsp
// @Router /v1/imGroup/visitors/{groupId} [get]
func
GetGroupVisitors
(
c
*
gin
.
Context
)
(
*
mycontext
.
MyContext
,
error
)
{
myContext
:=
mycontext
.
CreateMyContext
(
c
.
Keys
)
...
...
@@ -847,7 +847,7 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
}
model
.
Log
.
Infof
(
"GetGroupVisitors %s: memberNum = %d, user size = %d"
,
groupId
,
len
(
rows
),
len
(
userIds
))
result
:=
G
roupMembe
rsRsp
{
Total
:
uint
(
len
(
userIds
))}
result
:=
G
etGroupVisito
rsRsp
{
Total
:
uint
(
len
(
userIds
))}
beginPos
:=
pageSize
*
(
pageIndex
-
1
)
if
uint
(
beginPos
)
<
result
.
Total
{
...
...
@@ -961,11 +961,11 @@ func GetGroupVisitors(c *gin.Context) (*mycontext.MyContext, error) {
if
_
,
ok
:=
roomUserMap
[
u
];
ok
{
inRoom
=
true
}
result
.
Members
=
append
(
result
.
Members
,
group_cv
.
Member
Detail
{
Cv
UserExtend
:
userExtends
[
u
]
,
Role
:
roles
[
u
],
OnlineStatus
:
statusMap
[
users
[
u
]
.
ExternalId
],
InRoom
:
inRoom
,
result
.
Members
=
append
(
result
.
Members
,
group_cv
.
GroupVisitors
Detail
{
Cv
GroupMember
:
user_cv
.
CvUserExtendToCvGroupMember
(
userExtends
[
u
])
,
Role
:
roles
[
u
],
OnlineStatus
:
statusMap
[
users
[
u
]
.
ExternalId
],
InRoom
:
inRoom
,
})
}
}
...
...
route/group_r/group_op.go
View file @
0615a602
...
...
@@ -1238,6 +1238,12 @@ type GroupMembersRsp struct {
Total
uint
`json:"total"`
}
type
GetGroupVisitorsRsp
struct
{
Members
[]
group_cv
.
GroupVisitorsDetail
`json:"members"`
Online
uint
`json:"online"`
// 在线人数
Total
uint
`json:"total"`
}
// @Tags 群组
// @Summary 获取永久成员列表
// @Accept application/x-www-form-urlencoded
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment