/*
Copyright [2020] [https://www.xiaonuo.vip]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：

1.请不要删除和修改根目录下的LICENSE文件。
2.请不要删除和修改Snowy源码头部的版权声明。
3.请保留源码和相关描述文件的项目出处，作者声明等。
4.分发源码时候，请注明软件出处 https://gitee.com/xiaonuobase/snowy
5.在修改包名，模块名称，项目代码等时，请注明软件出处 https://gitee.com/xiaonuobase/snowy
6.若您的项目无法满足以上几点，可申请商业授权，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package com.huimv.modular.eartagdata.param;

import com.huimv.core.pojo.base.param.BaseParam;
import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;

/**
* 耳标数据详情参数类
 *
 * @author Yangdi
 * @date 2021-08-19 13:18:22
*/
@Data
public class EartagDataParam extends BaseParam {

    /**
     * 记录id(主键)
     */
    @NotNull(message = "记录id(主键)不能为空，请检查id参数", groups = {edit.class, delete.class, detail.class})
    private Integer id;

    /**
     * 组织id
     */
    @NotBlank(message = "组织id不能为空，请检查orgId参数", groups = {add.class, edit.class})
    private String orgId;

    /**
     * 采集器编码
     */
    @NotBlank(message = "采集器编码不能为空，请检查deviceCode参数", groups = {add.class, edit.class})
    private String deviceCode;

    /**
     * 耳标号
     */
    @NotBlank(message = "耳标号不能为空，请检查eartagNo参数", groups = {add.class, edit.class})
    private String eartagNo;

    /**
     * 采集时间
     */
    @NotNull(message = "采集时间不能为空，请检查time参数", groups = {add.class, edit.class})
    private String time;

    /**
     * 耳根温度
     */
    @NotNull(message = "耳根温度不能为空，请检查earTemp参数", groups = {add.class, edit.class})
    private Double earTemp;

    /**
     * 运动量
     */
    @NotNull(message = "运动量不能为空，请检查exercise参数", groups = {add.class, edit.class})
    private Integer exercise;

    /**
     * 栋舍
     */
    @NotBlank(message = "栋舍不能为空，请检查pigpen参数", groups = {add.class, edit.class})
    private String pigpen;

    /**
     * 环境温度
     */
    @NotNull(message = "环境温度不能为空，请检查envTemp参数", groups = {add.class, edit.class})
    private Double envTemp;

    /**
     * 电池电量
     */
    @NotNull(message = "电池电量不能为空，请检查bat参数", groups = {add.class, edit.class})
    private Integer bat;

    /**
     * 信号强度
     */
    @NotNull(message = "信号强度不能为空，请检查rssi参数", groups = {add.class, edit.class})
    private Integer rssi;

    /**
     * 命令头
     */
    @NotBlank(message = "命令头不能为空，请检查head参数", groups = {add.class, edit.class})
    private String head;

    /**
     * 指令
     */
    @NotBlank(message = "指令不能为空，请检查command参数", groups = {add.class, edit.class})
    private String command;

    /**
     * 版本号
     */
    @NotBlank(message = "版本号不能为空，请检查version参数", groups = {add.class, edit.class})
    private String version;

    /**
     * 耳标帧序号
     */
    @NotNull(message = "耳标帧序号不能为空，请检查frameSerialNo参数", groups = {add.class, edit.class})
    private Integer frameSerialNo;

    /**
     * 重启次数
     */
    @NotNull(message = "重启次数不能为空，请检查rebootTimes参数", groups = {add.class, edit.class})
    private Integer rebootTimes;

    /**
     * 预留字段
     */
    @NotBlank(message = "预留字段不能为空，请检查prepareField参数", groups = {add.class, edit.class})
    private String prepareField;

    /**
     * 校验码
     */
    @NotBlank(message = "校验码不能为空，请检查chk参数", groups = {add.class, edit.class})
    private String chk;

    /**
     * 命令尾
     */
    @NotBlank(message = "命令尾不能为空，请检查tail参数", groups = {add.class, edit.class})
    private String tail;

    /**
     * 牧场编码
     */
    @NotBlank(message = "牧场编码不能为空，请检查farmCode参数", groups = {add.class, edit.class})
    private String farmCode;

    /**
     * 阶段
     */
    @NotNull(message = "阶段不能为空，请检查stage参数", groups = {add.class, edit.class})
    private Integer stage;

    /**
     * 
     */
    @NotNull(message = "不能为空，请检查sportGap参数", groups = {add.class, edit.class})
    private Integer sportGap;

}
