package com.hotwj.platform.resourceManagement.vehicleChange.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.hotwj.platform.resourceManagement.vehicleChange.domain.HotVehicleChange;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;


/**
 * 车辆变更记录视图对象 hot_vehicle_change
 *
 * @author shihongwei
 * @date 2025-12-19
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HotVehicleChange.class)
public class HotVehicleChangeVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 公司ID
     */
    @ExcelProperty(value = "公司ID")
    private Long companyId;

    /**
     * 车辆ID
     */
    @ExcelProperty(value = "车辆ID")
    private Long vehicleId;

    /**
     * 车牌号
     */
    @ExcelProperty(value = "车牌号")
    private String plateNumber;

    /**
     * 变更日期
     */
    @ExcelProperty(value = "变更日期")
    private Date changeDate;

    /**
     * 变更事项
     */
    @ExcelProperty(value = "变更事项", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_vehicle_status")
    private String changeItem;

    /**
     * 变更原因
     */
    @ExcelProperty(value = "变更原因")
    private String changeReason;

    /**
     * 记录人ID
     */
    @ExcelProperty(value = "记录人ID")
    private Long recorderId;

    /**
     * 记录人姓名
     */
    @ExcelProperty(value = "记录人姓名")
    private String recorderName;

    /**
     * 变更凭据图片URL(多个逗号分隔)
     */
    @ExcelProperty(value = "变更凭据图片URL(多个逗号分隔)")
    private String changeCertImageUrls;

    /**
     * 变更凭据图片URL(多个逗号分隔)Url
     */
    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "changeCertImageUrls")
    private String changeCertImageUrlsUrl;
    /**
     * 0=正常, 1=已删除
     */
    @ExcelProperty(value = "0=正常, 1=已删除")
    private Long isDeleted;


}
