package com.ruoyi.bst.order.domain.dto;

import java.math.BigDecimal;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import com.ruoyi.common.core.interfaces.LogBizParam;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class OrderRefundDTO implements LogBizParam {

    @ApiModelProperty("订单ID")
    @NotNull(message = "订单ID不允许为空")
    private Long orderId;

    @ApiModelProperty("骑行费退款")
    @Min(value = 0, message = "骑行费退款不允许小于0")
    private BigDecimal ridingRefund;

    @ApiModelProperty("调度费退款")
    @Min(value = 0, message = "调度费退款不允许小于0")
    private BigDecimal dispatchRefund;

    @ApiModelProperty("管理费退款")
    @Min(value = 0, message = "管理费退款不允许小于0")
    private BigDecimal manageRefund;

    @ApiModelProperty("车损费退款")
    @Min(value = 0, message = "车损费退款不允许小于0")
    private BigDecimal deductionRefund;

    @ApiModelProperty("退款原因")
    @Size(max = 200, message = "退款原因不允许超过200个字符")
    private String reason;

    @ApiModelProperty("操作人ID")
    private Long userId;

    @ApiModelProperty("操作人名称")
    private String userName;

    @Override
    public Object logBizId() {
        return orderId;
    }

}
