package com.ruoyi.system.domain.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * 运营录入 ezPay 凭证入参。
 *
 * @author ruoyi
 * @date 2026-06-15
 */
@Data
public class StoreEzpayCredentialDto {

    /** 门店 id */
    @NotNull(message = "门店不能为空")
    private Long storeId;

    /** ezPay 商店代号 MerchantID_（开票/查询用） */
    @NotBlank(message = "商店代号不能为空")
    private String merchantId;

    /** ezPay HashKey（固定 32 字节） */
    @NotBlank(message = "HashKey 不能为空")
    @Size(min = 32, max = 32, message = "HashKey 必须为 32 位")
    private String hashKey;

    /** ezPay HashIV（固定 16 字节） */
    @NotBlank(message = "HashIV 不能为空")
    @Size(min = 16, max = 16, message = "HashIV 必须为 16 位")
    private String hashIv;

    /** ezPay 会员编号 CompanyID_（字轨用，可空） */
    private String companyId;
}
