diff --git a/internal/service/asset/service.go b/internal/service/asset/service.go index bb6659f..9921bea 100644 --- a/internal/service/asset/service.go +++ b/internal/service/asset/service.go @@ -198,18 +198,23 @@ func (s *Service) buildDeviceResolveResponse(ctx context.Context, device *model. }) } - // 聚合设备级 RealNameAt:取所有绑定卡 FirstRealnameAt 中的最小值(跳过 nil) - var minRealNameAt *time.Time + // RealNameStatus 以当前使用卡为准;无当前卡则视为未实名 + for _, c := range cards { + if isCurrentMap[c.ID] { + resp.RealNameStatus = c.RealNameStatus + break + } + } + // RealNameAt 取所有绑定卡中最早的实名时间 for _, c := range cards { if c.FirstRealnameAt == nil { continue } - if minRealNameAt == nil || c.FirstRealnameAt.Before(*minRealNameAt) { + if resp.RealNameAt == nil || c.FirstRealnameAt.Before(*resp.RealNameAt) { t := *c.FirstRealnameAt - minRealNameAt = &t + resp.RealNameAt = &t } } - resp.RealNameAt = minRealNameAt } // 查当前主套餐