package com.cpop.oam.business.bo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDate;
import java.util.List;

/**
 * @author DB
 * @version 1.0.0
 * @since 2023-12-13 10:33
 */
@Data
@Accessors(chain = true)
@Schema(description = "事务分发请求对象")
public class BusinessDistributeBo {

    /**
     * 业务等级
     */
    @NotNull(message = "业务等级不能为空")
    @Schema(description = "业务等级")
    private Integer businessLevel;

    /**
     * 对接列表
     */
    @Schema(description = "对接列表")
    private List<ButtJoint> buttJoint;
    /**
     * 描述
     */
    @NotBlank(message = "描述不能为空")
    @Schema(description = "描述")
    private String desc;
    /**
     * 到期时间
     */
    @NotEmpty(message = "开始结束时间不能为空")
    @Schema(description = "开始结束")
    private List<LocalDate> startAndEnd;
    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;

    @Data
    public static class ButtJoint {
        /**
         * 文档地址
         */
        @Schema(description = "文档地址")
        private String businessDocUrl;
        /**
         * 接收员工id
         */
        @Schema(description = "接收员工id")
        private String staffId;
    }
}
