package com.jeesharp.business.modules.food.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 管理端发起个人订餐微信退款请求（调用财务统一退款 Facade）。
 *
 * @author jeesharp
 * @since 2026-06-11
 */
@Data
@Schema(description = "个人订餐发起退款请求")
public class FoodPersonalMealRefundTriggerDTO {

    @NotBlank(message = "订单ID不能为空")
    @Schema(description = "个人订餐订单主键", requiredMode = Schema.RequiredMode.REQUIRED)
    private String orderId;

    @DecimalMin(value = "0.01", message = "退款金额必须大于0")
    @Schema(description = "退款金额（元）；为空时按用户实付全额退")
    private BigDecimal refundAmount;

    @Schema(description = "退款原因")
    private String refundReason;

    @Schema(description = "操作人ID")
    private String operatorId;
}
