package com.xindazhou.vehicle.controller.admin.vehicle.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 车辆档案 Response VO
 *
 * @author xindazhou
 */
@Schema(description = "管理后台 - 车辆档案 Response VO")
@Data
public class VehicleArchiveRespVO {

    @Schema(description = "车辆ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "车架号", example = "VIN123456789")
    private String vin;

    @Schema(description = "分类", example = "category1")
    private String category;

    @Schema(description = "车型", example = "model1")
    private String model;

    @Schema(description = "颜色", example = "红色")
    private String color;

    @Schema(description = "车主姓名", example = "张三")
    private String ownerName;

    @Schema(description = "车主手机号", example = "13800138000")
    private String ownerMobile;

    @Schema(description = "激活状态：0-未激活，1-已激活", example = "1")
    private Integer activationStatus;

    @Schema(description = "失窃状态：0-未失窃，1-已失窃", example = "0")
    private Integer theftStatus;

    @Schema(description = "锁定状态：0-未锁定，1-已锁定", example = "0")
    private Integer lockStatus;

    @Schema(description = "激活时间")
    private LocalDateTime activationTime;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    // 详情页扩展字段
    @Schema(description = "生产时间")
    private LocalDateTime productionTime;

    @Schema(description = "销售网点", example = "北京销售点")
    private String salesOutlet;

    @Schema(description = "ODO总里程", example = "10000")
    private Integer totalMileage;

    @Schema(description = "电机号", example = "MOTOR001")
    private String motorNumber;

    @Schema(description = "车辆母线电压", example = "48")
    private Integer busVoltage;

    @Schema(description = "车辆母线电流", example = "20")
    private Integer busCurrent;

    @Schema(description = "刹车总数", example = "2")
    private Integer brakeCount;

    @Schema(description = "电池编号", example = "BATTERY001")
    private String batteryNumber;

    @Schema(description = "电池类型", example = "锂电池")
    private String batteryType;

    @Schema(description = "电池容量型号", example = "48V20AH")
    private String batteryCapacityModel;

    @Schema(description = "电池健康度", example = "95")
    private Integer batteryHealth;

    @Schema(description = "车辆图片URL", example = "https://example.com/image.jpg")
    private String imageUrl;

}

