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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 配方配置（关联采集设备模型-点位管理） Response VO")
@Data
@ExcelIgnoreUnannotated
public class RecipeDeviceAttributeRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1118")
    @ExcelProperty("主键ID")
    private Long id;

    @Schema(description = "关联配方id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1102")
    @ExcelProperty("关联配方id")
    private Long recipeId;

    @Schema(description = "关联点位id", requiredMode = Schema.RequiredMode.REQUIRED, example = "21675")
    @ExcelProperty("关联点位id")
    private Long attributeId;

    @Schema(description = "点位名字", example = "王五")
    @ExcelProperty("点位名字")
    private String attributeName;

    @Schema(description = "点位类型", example = "1")
    @ExcelProperty("点位类型")
    private String attributeType;

    @Schema(description = "数据类型", example = "2")
    @ExcelProperty("数据类型")
    private String dataType;

    @Schema(description = "单位")
    @ExcelProperty("单位")
    private String dataUnit;

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

}
//
//@Data
//@ExcelIgnoreUnannotated
//public class RecipeDeviceAttributeRespVO {
//    // 1. 来自iot_recipe_device_attribute表的主键
//    @Schema(description = "配方配置ID", requiredMode = Schema.RequiredMode.REQUIRED)
//    @ExcelProperty("配方配置ID")
//    private Long id;
//
//    // 2. 来自iot_device_attribute表的关联字段（核心展示字段）
//    @Schema(description = "设备属性ID", requiredMode = Schema.RequiredMode.REQUIRED)
//    @ExcelProperty("配方配置ID")
//    private Long attributeId; // 关联iot_device_attribute.id
//
//    @Schema(description = "属性名称", requiredMode = Schema.RequiredMode.REQUIRED)
//    @ExcelProperty("属性名称")
//    private String attributeName; // 关联iot_device_attribute.attribute_name
//
//    @Schema(description = "属性类型", requiredMode = Schema.RequiredMode.REQUIRED)
//    @ExcelProperty("属性类型")
//    private String attributeType; // 关联iot_device_attribute.attribute_type
//
//    @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED)
//    @ExcelProperty("数据类型")
//    private String dataType; // 关联iot_device_attribute.data_type
//
//    @Schema(description = "数据单位", requiredMode = Schema.RequiredMode.REQUIRED)
//    @ExcelProperty("数据单位")
//    private String dataUnit; // 关联iot_device_attribute.data_unit
//}