x
All checks were successful
Build docker and publish / build (20.15.1) (push) Successful in 8m3s

This commit is contained in:
shanshanzhong 2026-03-16 00:59:49 -07:00
parent 1d2f2a594a
commit 3cd22d8538
3 changed files with 13 additions and 0 deletions

View File

@ -565,6 +565,7 @@ type (
FamilyMemberItem {
UserId int64 `json:"user_id"`
Identifier string `json:"identifier"`
DeviceNo string `json:"device_no"`
Role uint8 `json:"role"`
RoleName string `json:"role_name"`
Status uint8 `json:"status"`

View File

@ -8,6 +8,7 @@ import (
"github.com/perfect-panel/server/internal/svc"
"github.com/perfect-panel/server/internal/types"
"github.com/perfect-panel/server/pkg/logger"
"github.com/perfect-panel/server/pkg/tool"
"github.com/perfect-panel/server/pkg/xerr"
"github.com/pkg/errors"
"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")
}
// 查出所有成员的设备,构建 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))
for _, member := range members {
identifier := identifierMap[member.UserId]
@ -72,6 +82,7 @@ func (l *GetFamilyDetailLogic) GetFamilyDetail(req *types.GetFamilyDetailRequest
memberItem := types.FamilyMemberItem{
UserId: member.UserId,
Identifier: identifier,
DeviceNo: deviceNoMap[member.UserId],
Role: member.Role,
RoleName: mapFamilyRoleName(member.Role),
Status: member.Status,

View File

@ -682,6 +682,7 @@ type FamilyDetail struct {
type FamilyMemberItem struct {
UserId int64 `json:"user_id"`
Identifier string `json:"identifier"`
DeviceNo string `json:"device_no"`
Role uint8 `json:"role"`
RoleName string `json:"role_name"`
Status uint8 `json:"status"`