package cn.com.ty.lift.business.contract.dao.entity.model.request;

import cn.com.ty.lift.business.contract.dao.entity.Contracts;
import cn.com.ty.lift.business.contract.dao.entity.Payment;
import cn.com.ty.lift.common.model.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author bieao
 * @date 2019/12/7
 * @description 合同列表请求体
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ContractRequest extends PageRequest {

    /**
     * 维保公司ID
     */
    @NotNull(message = "维保公司ID不能为空")
    @Min(value = 1, message = "维保公司ID有误")
    private Long mtCompanyId;

    /**
     * 合同ID
     */
    @NotNull(message = "合同ID不能为空")
    @Min(value = 1, message = "合同ID有误")
    private Long id;

    /**
     * 合同ID
     */
    @NotNull(message = "合同ID不能为空")
    @Min(value = 1, message = "合同ID有误")
    private Long contractId;

    /**
     * 项目ID
     */
    private Long projectId;

    /**
     * 项目名称
     */
    @NotEmpty(message = "项目名称不能为空")
    private String projectName;

    /**
     * 项目地址
     */
    @NotEmpty(message = "项目名称不能为空")
    private String projectAddress;

    /**
     * 合同编号
     */
    private String contractCode;

    /**
     * 合同类型
     */
    private String contractType;

    /**
     * 合同状态
     */
    private String contractStatus;

    /**
     * 收款列表
     */
    private List<Payment> paymentList;

    /**
     * 合同信息
     */
    @NotNull(message = "合同不能为空")
    private Contracts contracts;
}
