package com.iailab.module.data.point.dto;

import com.iailab.framework.common.validation.group.AddGroup;
import com.iailab.framework.common.validation.group.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;

/**
 * @author PanZhibao
 * @Description
 * @createTime 2024年05月11日
 */
@Data
@Tag(name = "测量点表")
public class DaMeasurePointDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    @Schema(description = "id")
    @Null(message="{id.null}", groups = AddGroup.class)
    @NotNull(message="{id.require}", groups = UpdateGroup.class)
    private String id;

    @Schema(description = "测点ID", required = true)
    private String pointId;

    @Schema(description = "数据源类型", required = true)
    private String sourceType;

    @Schema(description = "数据源ID", required = true)
    private String sourceId;

    @Schema(description = "测点Tag", required = true)
    private String tagNo;

    @Schema(description = "平滑尺度")
    private Integer dimension;

    @Schema(description = "值类型")
    private String valueType;
}