This commit is contained in:
parent
1d2f2a594a
commit
3cd22d8538
@ -565,6 +565,7 @@ type (
|
|||||||
FamilyMemberItem {
|
FamilyMemberItem {
|
||||||
UserId int64 `json:"user_id"`
|
UserId int64 `json:"user_id"`
|
||||||
Identifier string `json:"identifier"`
|
Identifier string `json:"identifier"`
|
||||||
|
DeviceNo string `json:"device_no"`
|
||||||
Role uint8 `json:"role"`
|
Role uint8 `json:"role"`
|
||||||
RoleName string `json:"role_name"`
|
RoleName string `json:"role_name"`
|
||||||
Status uint8 `json:"status"`
|
Status uint8 `json:"status"`
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import (
|
|||||||
"github.com/perfect-panel/server/internal/svc"
|
"github.com/perfect-panel/server/internal/svc"
|
||||||
"github.com/perfect-panel/server/internal/types"
|
"github.com/perfect-panel/server/internal/types"
|
||||||
"github.com/perfect-panel/server/pkg/logger"
|
"github.com/perfect-panel/server/pkg/logger"
|
||||||
|
"github.com/perfect-panel/server/pkg/tool"
|
||||||
"github.com/perfect-panel/server/pkg/xerr"
|
"github.com/perfect-panel/server/pkg/xerr"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
@ -62,6 +63,15 @@ func (l *GetFamilyDetailLogic) GetFamilyDetail(req *types.GetFamilyDetailRequest
|
|||||||
return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "query family member identifiers failed")
|
return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseQueryError), "query family member identifiers failed")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 查出所有成员的设备,构建 userId → deviceNo 映射
|
||||||
|
deviceNoMap := make(map[int64]string)
|
||||||
|
devices, _, _ := l.svcCtx.UserModel.QueryDeviceListByUserIds(l.ctx, userIDs)
|
||||||
|
for _, d := range devices {
|
||||||
|
if _, exists := deviceNoMap[d.UserId]; !exists {
|
||||||
|
deviceNoMap[d.UserId] = tool.DeviceIdToHash(d.Id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
memberItems := make([]types.FamilyMemberItem, 0, len(members))
|
memberItems := make([]types.FamilyMemberItem, 0, len(members))
|
||||||
for _, member := range members {
|
for _, member := range members {
|
||||||
identifier := identifierMap[member.UserId]
|
identifier := identifierMap[member.UserId]
|
||||||
@ -72,6 +82,7 @@ func (l *GetFamilyDetailLogic) GetFamilyDetail(req *types.GetFamilyDetailRequest
|
|||||||
memberItem := types.FamilyMemberItem{
|
memberItem := types.FamilyMemberItem{
|
||||||
UserId: member.UserId,
|
UserId: member.UserId,
|
||||||
Identifier: identifier,
|
Identifier: identifier,
|
||||||
|
DeviceNo: deviceNoMap[member.UserId],
|
||||||
Role: member.Role,
|
Role: member.Role,
|
||||||
RoleName: mapFamilyRoleName(member.Role),
|
RoleName: mapFamilyRoleName(member.Role),
|
||||||
Status: member.Status,
|
Status: member.Status,
|
||||||
|
|||||||
@ -682,6 +682,7 @@ type FamilyDetail struct {
|
|||||||
type FamilyMemberItem struct {
|
type FamilyMemberItem struct {
|
||||||
UserId int64 `json:"user_id"`
|
UserId int64 `json:"user_id"`
|
||||||
Identifier string `json:"identifier"`
|
Identifier string `json:"identifier"`
|
||||||
|
DeviceNo string `json:"device_no"`
|
||||||
Role uint8 `json:"role"`
|
Role uint8 `json:"role"`
|
||||||
RoleName string `json:"role_name"`
|
RoleName string `json:"role_name"`
|
||||||
Status uint8 `json:"status"`
|
Status uint8 `json:"status"`
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user