package com.xyw.console.asset.dto;

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;

/** 文件用途（白话）：接收手机号资产列表的分页和筛选条件，不改变新增、编辑接口的数据结构。 */
public record PhoneAssetPageQuery(
    @Min(1) Integer page,
    @Min(1) @Max(100) Integer size,
    String phoneNumber,
    String iccid,
    String realNameOwner,
    String disposalStatus) {
  /** 代码作用（白话）：在调用方未传页码时提供安全默认值。关联文件：PhoneAssetController.java。关联逻辑（调用链/数据流）：HTTP 查询参数 -> 默认页码 -> Service 分页查询。 */
  public int resolvedPage() { return page == null ? 1 : page; }
  /** 代码作用（白话）：限制每页返回数量，防止一次取走过多数据。关联文件：PhoneAssetService.java。关联逻辑（调用链/数据流）：HTTP 查询参数 -> 默认页大小 -> Mapper limit。 */
  public int resolvedSize() { return size == null ? 20 : size; }
}