package cn.iocoder.yudao.module.order.vo.orderException;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 订单异常 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class OrderExceptionBaseVO {

    @ApiModelProperty(value = "订单id", required = true)
    @NotNull(message = "订单id不能为空")
    private Long orderId;

    @ApiModelProperty(value = "订单商品id")
    private Long orderItemId;

    @ApiModelProperty(value = "商品id")
    private Long prodId;

    @ApiModelProperty(value = "订单号", required = true)
    @NotNull(message = "订单号不能为空")
    private String orderNumber;

    @ApiModelProperty(value = "客户ID")
    private Long customerId;

    @ApiModelProperty(value = "异常类型,OrderExceptionEnum key值", required = true)
    @NotNull(message = "异常类型不能为空")
    private String orderExceptionType;

    @ApiModelProperty(value = "异常描述")
    private String orderExceptionRemark;

    @ApiModelProperty(value = "异常详情")
    private String orderExceptionDetails;

    @ExcelProperty("异常备注")
    @ApiModelProperty(value = "异常备注")
    private String orderExceptionNotes;

    @ApiModelProperty(value = "异常金额")
    private BigDecimal orderExceptionAmount;

    @ApiModelProperty(value = "异常金额币种ID")
    private Long orderExceptionAmountCurrencyId;

    @ApiModelProperty(value = "附件,多个,拼接")
    private String orderExceptionAttr;

    @ApiModelProperty(value = "异常状态")
    private Integer orderExceptionStatus;


    @ApiModelProperty(value = "附加json，传递源参数使用")
    private String additionalJson;


}
