package cn.iocoder.yudao.module.iot.controller.admin.devicemodelattribute.vo;

//import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
//import cn.iocoder.yudao.module.system.enums.DictTypeConstants; // 沿用你项目中的字典枚举
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 设备采集点位 Excel 导入 VO
 * 【完全对齐 UserImportExcelVO 注解风格和结构】
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 完全复用你的配置，避免导入问题
public class DeviceModelAttributeImportExcelVO {

    @ExcelProperty("点位编码") // 对应 User 的 "登录名称"
    private String attributeCode;

    @ExcelProperty("点位名称") // 对应 User 的 "用户名称"
    private String attributeName;

    // 点位类型，不在Excel中显示
    @ExcelIgnore
    private String attributeType;
    
    @ExcelProperty("点位类型名称")
    private String typeName;

    @ExcelProperty(value = "数据类型") // 对应 User 的 "用户性别"
//    , converter = DictConvert.class
//    @DictFormat("device_data_type") // 替换为你项目中数据类型的字典编码，对齐 User 的 DictFormat 用法
    private String dataType;

    @ExcelProperty("寄存器地址")
    private String address;

    @ExcelProperty("单位") // 对应 User 的 "用户邮箱"
    private String dataUnit;

    @ExcelProperty("倍率")
    private Double ratio;

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

    // 设备型号ID，不在Excel中显示，由前端传入
    @ExcelIgnore
    private Long deviceModelId;


}