package com.maintain.business.domain.bo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.maintain.common.core.validate.AddGroup;
import com.maintain.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.maintain.common.core.domain.BaseEntity;

/**
 * 报修单-理赔业务对象 erp_repair_form_claim
 *
 * @author liushuai
 * @date 2025-04-01
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ErpRepairFormClaimBo extends BaseEntity {

    /**
     * 主键
     */
    private Long id;

    /**
     * 报修单ID
     */
    @NotNull(message = "报修单ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long repairFormId;

    /**
     * 保险公司
     */
    @NotBlank(message = "保险公司不能为空", groups = { AddGroup.class, EditGroup.class })
    private String insuranceCompany;

    /**
     * 保险类型
     */
    @NotBlank(message = "保险类型不能为空", groups = { AddGroup.class, EditGroup.class })
    private String insuranceType;

    /**
     * 保险单号
     */
    @NotBlank(message = "保险单号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String insuranceNumber;

    /**
     * 理赔服务人员
     */
    @NotBlank(message = "理赔服务人员不能为空", groups = { AddGroup.class, EditGroup.class })
    private String claimServerName;

    /**
     * 理赔人员电话
     */
    @NotBlank(message = "理赔人员电话不能为空", groups = { AddGroup.class, EditGroup.class })
    private String claimServerPhone;

    /**
     * 定损金额
     */
    @NotNull(message = "定损金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal assessMoney;

    /**
     * 理赔金额
     */
    @NotBlank(message = "理赔金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private String claimMoney;

    /**
     * 案件单号
     */
    private String caseNumber;

    /**
     * 被保险人
     */
    @NotBlank(message = "被保险人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String insurerName;

    /**
     * 车主信息
     */
    @NotBlank(message = "车主信息不能为空", groups = { AddGroup.class, EditGroup.class })
    private String carOwner;

    /**
     * 事故责任认定书
     */
    @NotBlank(message = "事故责任认定书不能为空", groups = { AddGroup.class, EditGroup.class })
    private String certificateOfLiability;

    /**
     * 事故描述
     */
    private String accidentDescribe;

    /**
     * 出险时间
     */
    private Date accidentTime;

    /**
     * 出险地点
     */
    private String accidentLocation;


}
