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

import com.starry.common.domain.BasePageEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

/**
 * 订单查询对象
 *
 * @author admin
 * @since 2024-03-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "订单退款参数", description = "订单退款操作的请求参数")
public class PlayOrderRefundAddVo extends BasePageEntity {

    /**
     * uuid
     */
    @NotNull(message = "orderId不能为空")
    @ApiModelProperty(value = "订单ID", required = true, example = "1", notes = "需要退款的订单ID")
    private String orderId;

    /**
     * 退款金额
     */
    @NotNull(message = "退款金额不能为空")
    @ApiModelProperty(value = "退款金额", required = true, example = "100.00", notes = "退款的金额，不能大于支付金额")
    private BigDecimal refundAmount;

    /**
     * 退款原因
     */
    @NotNull(message = "退款原因不能为空")
    @Length(min = 1, max = 100, message = "退款原因必须在1-100个字符之间")
    @ApiModelProperty(value = "退款原因", required = true, example = "顾客要求退款", notes = "退款的原因说明，1-100字符")
    private String refundReason;

}
