修复企业授权报错的问题
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m57s

This commit is contained in:
2026-04-27 10:30:10 +08:00
parent 02ccf57aa3
commit 95104100c9
2 changed files with 96 additions and 23 deletions

View File

@@ -162,6 +162,29 @@ func (s *EnterpriseDeviceAuthorizationStore) GetActiveAuthsByDeviceIDs(ctx conte
return result, nil
}
// GetActiveAuthEnterpriseByDeviceIDs 获取设备ID列表的有效授权企业映射deviceID -> enterpriseID
func (s *EnterpriseDeviceAuthorizationStore) GetActiveAuthEnterpriseByDeviceIDs(ctx context.Context, deviceIDs []uint) (map[uint]uint, error) {
if len(deviceIDs) == 0 {
return make(map[uint]uint), nil
}
var auths []model.EnterpriseDeviceAuthorization
query := s.db.WithContext(ctx).
Select("device_id, enterprise_id").
Where("device_id IN ? AND revoked_at IS NULL", deviceIDs)
// 应用企业数据权限过滤
query = middleware.ApplyEnterpriseFilter(ctx, query)
if err := query.Find(&auths).Error; err != nil {
return nil, err
}
result := make(map[uint]uint, len(auths))
for _, auth := range auths {
result[auth.DeviceID] = auth.EnterpriseID
}
return result, nil
}
func (s *EnterpriseDeviceAuthorizationStore) ListDeviceIDsByEnterprise(ctx context.Context, enterpriseID uint) ([]uint, error) {
var deviceIDs []uint
query := s.db.WithContext(ctx).