package com.xyw.console.asset.dto;

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

/** 文件用途（白话）：接收企业微信资产列表的分页与组合筛选参数。 */
public record WecomAccountPageQuery(
    @Min(1) Integer page,
    @Min(1) @Max(100) Integer size,
    String keyword,
    String wecomAccount,
    Long phoneAssetId,
    Long companyProfileId,
    String realNameOwnerStatus) {

  /** 代码作用（白话）：未传页码时返回第一页。关联文件：WecomAccountController.java。关联逻辑（调用链/数据流）：HTTP 参数 -> resolvedPage -> MyBatis 分页。 */
  public int resolvedPage() { return page == null ? 1 : page; }

  /** 代码作用（白话）：未传每页条数时返回 20 条。关联文件：WecomAccountController.java。关联逻辑（调用链/数据流）：HTTP 参数 -> resolvedSize -> MyBatis 分页。 */
  public int resolvedSize() { return size == null ? 20 : size; }
}