package com.starry.admin.modules.order.module.vo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 强制取消订单请求对象
 *
 * <p>用于管理员或店员在订单已接单/服务中时发起取消操作。</p>
 */
@Data
public class PlayOrderForceCancelVo {

    /**
     * 订单ID
     */
    @NotBlank(message = "订单ID不能为空")
    private String orderId;

    /**
     * 退款原因
     */
    @NotBlank(message = "请填写退款原因")
    @Size(max = 200, message = "退款原因不能超过200个字符")
    private String refundReason;

    /**
     * 退款金额，可选。不填默认退回订单支付金额
     */
    @DecimalMin(value = "0.00", message = "退款金额不能小于0")
    private BigDecimal refundAmount;

    /**
     * 退款凭证图片
     */
    private List<String> images = new ArrayList<>();
}
