package com.fuyuanshen.equipment.domain.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;

/**
 * @author: 默苍璃
 * @date: 2025-06-07 10:00
 */
@Data
@HeadRowHeight(20)  // 表头行高
@ContentRowHeight(100)  // 内容行高
public class DeviceExcelImportDTO {

    @ExcelProperty("设备名称")
    @ColumnWidth(20)
    private String deviceName;

    @ExcelProperty("设备类型名称")
    private String typeName;

    /**
     * 设备图片
     * 导入时的图片处理方式：
     * 在导入过程中，图片不是通过Excel单元格中的文本数据（如URL）来处理的
     * 而是直接从Excel文件中提取嵌入的图片数据
     * 代码通过POI库直接读取Excel中的图片对象，然后上传到OSS并生成URL
     */
    @ExcelProperty("设备图片")
    @ColumnWidth(20)
    private byte[] devicePic;

    /**
     * 用于存储实际图片数据的字段
     * 使用@ExcelIgnore注解忽略该字段，避免创建额外的列
     */
    @ExcelIgnore
    private byte[] imageData;

    @ExcelProperty("设备MAC")
    @ColumnWidth(20)
    private String deviceMac;

    @ExcelProperty("设备IMEI")
    @ColumnWidth(20)
    private String deviceImei;

    @ExcelProperty("蓝牙名称")
    private String bluetoothName;

    @ExcelProperty("备注")
    @ColumnWidth(30)
    private String remark;

    /*
     *设备类型数据
     */
    @ExcelProperty("是否支持蓝牙")
    @ColumnWidth(15)
    private String isSupportBle;

    @ExcelProperty("定位方式")
    @ColumnWidth(20)
    private String locateMode;

    @ExcelProperty("通讯方式")
    @ColumnWidth(20)
    private String communicationMode;

    /**
     * 型号字典用于APP页面跳转
     * app_model_dictionary
     */
    @ExcelProperty("型号字典用于APP页面跳转")
    @ColumnWidth(20)
    private String appModelDictionary;

    /**
     * 型号字典用于PC页面跳转
     * pc_model_dictionary
     */
    @ExcelProperty("型号字典用于PC页面跳转")
    @ColumnWidth(20)
    private String pcModelDictionary;

    /**
     * 错误原因
     */
    @ExcelProperty("错误原因")
    @ColumnWidth(30)
    private String errorMessage;

}