package cn.iocoder.yudao.module.system.controller.admin.rental.vo.rentalsalerecord;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDate;

@Schema(description = "管理后台 - 租赁转销售记录新增/修改 Request VO")
@Data
public class RentalSaleRecordSaveReqVO {

    @Schema(description = "订单租赁物品记录表单主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "客户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "客户编号不能为空")
    private Long customerId;

    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "订单编号不能为空")
    private String orderNo;

    @Schema(description = "入账记录表主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "入账记录表主键编号不能为空")
    private Long depositId;

    @Schema(description = "金额", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "金额不能为空")
    private BigDecimal amount;

    @Schema(description = "转销售记录日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "转销售记录日期不能为空")
    private LocalDate saleDate;

    @Schema(description = "状态 | 0销售 1退还", requiredMode = Schema.RequiredMode.REQUIRED, example = "0")
    @NotNull(message = "状态 | 0销售 1退还不能为空")
    private Integer status;

    @Schema(description = "退还经办人用户编号", example = "146")
    private Long returnUserId;

}