package com.ruoyi.bst.orderDevice.domain;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import org.springframework.format.annotation.DateTimeFormat;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 订单设备对象 bst_order_device
 *
 * @author ruoyi
 * @date 2025-04-01
 */
@Data
public class OrderDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    @Excel(name = "订单ID")
    @ApiModelProperty("订单ID")
    private Long orderId;

    @Excel(name = "设备ID")
    @ApiModelProperty("设备ID")
    private Long deviceId;

    @Excel(name = "类型", readConverterExp = "1=原始车辆,2=替换车辆")
    @ApiModelProperty("类型")
    private String type;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("开始时间")
    private LocalDateTime startTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("结束时间")
    private LocalDateTime endTime;

    @Excel(name = "换车原因")
    @ApiModelProperty("换车原因")
    private String reason;

    @Excel(name = "对应故障ID")
    @ApiModelProperty("对应故障ID")
    private Long faultId;

    @Excel(name = "状态")
    @ApiModelProperty("状态")
    private String status;

    @Excel(name = "设备MAC")
    @ApiModelProperty("设备MAC")
    private String deviceMac;

    @Excel(name = "设备SN")
    @ApiModelProperty("设备SN")
    private String deviceSn;

    @Excel(name = "设备车牌号")
    @ApiModelProperty("设备车牌号")
    private String deviceVehicleNum;
    
    @Excel(name = "设备所属用户ID")
    @ApiModelProperty("设备所属用户ID") 
    private Long deviceMchId;

    @Excel(name = "设备满续航")
    @ApiModelProperty("设备满续航")
    private BigDecimal deviceModelFullEndurance;
    
    @Excel(name = "还车图片")
    @ApiModelProperty("还车图片")
    private String finishPicture;

    @Excel(name = "开始子区域ID")
    @ApiModelProperty("开始子区域ID")
    private Long startAreaSubId;

    @Excel(name = "结束子区域ID") 
    @ApiModelProperty("结束子区域ID")
    private Long endAreaSubId;

    @Excel(name = "开始子区域名称")
    @ApiModelProperty("开始子区域名称")
    private String startAreaSubName;

    @Excel(name = "结束子区域名称")
    @ApiModelProperty("结束子区域名称")
    private String endAreaSubName;

    @Excel(name = "还车定位方式", readConverterExp = "1=设备定位,2=手机定位")
    @ApiModelProperty("还车定位方式（1设备定位 2手机定位）")
    private String returnMode;

    @ApiModelProperty("还车经度")
    private BigDecimal returnLon;

    @ApiModelProperty("还车纬度")
    private BigDecimal returnLat;
}
