package com.gxwebsoft.shop.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.Positive;

/**
 * 订单重新发起支付请求DTO
 *
 * 前端会按 /shop/shop-order/pay -> /prepay -> /repay 依次尝试。
 * 后端可统一实现为同一套逻辑（多个URL别名），避免出现 404 导致前端误判为不支持接口。
 */
@Data
@Schema(name = "OrderPrepayRequest", description = "订单重新发起支付请求")
public class OrderPrepayRequest {

    @Schema(description = "订单ID（二选一：orderId 或 orderNo）")
    @Positive(message = "订单ID必须为正数")
    private Integer orderId;

    @Schema(description = "订单号（二选一：orderId 或 orderNo）")
    private String orderNo;

    @Schema(description = "支付方式：1=微信支付，102=微信Native（兼容旧类型）。不传则使用订单原支付方式/默认微信支付")
    private Integer payType;

    @Schema(description = "租户ID（可选；不传则从当前登录用户/请求头推断）")
    @Positive(message = "租户ID必须为正数")
    private Integer tenantId;
}

