package cn.bunny.dao.dto.financial.debtCollectionManagement;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "DebtCollectionManagementUpdateDto对象", title = "债务回收管理更新", description = "债务回收管理更新")
public class DebtCollectionManagementUpdateDto {

    @Schema(name = "id", title = "主键")
    @NotNull(message = "id不能为空")
    private Long id;

    @Schema(name = "debtId", title = "债务ID")
    @NotNull(message = "债务不能为空")
    private Long debtId;

    @Schema(name = "recoveryDate", title = "回收日期")
    @NotNull(message = "回收日期不能为空")
    private LocalDateTime recoveryDate;

    @Schema(name = "recoveryAmount", title = "回收金额")
    @NotNull(message = "回收金额不能为空")
    private BigDecimal recoveryAmount;

    @Schema(name = "recoveryMethod", title = "回收方式")
    @NotNull(message = "回收方式不能为空")
    @NotBlank(message = "还款状态不能为空")
    private String recoveryMethod;

    @Schema(name = "notes", title = "备注")
    @NotNull(message = "备注不能为空")
    @NotBlank(message = "备注不能为空")
    private String notes;

}