package com.njcn.system.pojo.param;

import com.njcn.common.pojo.constant.PatternRegex;
import com.njcn.web.constant.ValidMessage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

/**
 * @version 1.0.0
 * @author: chenchao
 * @date: 2022/08/08 15:58
 */
@Data
public class DeptConfigParam {

    /**
     * 中心点经度
     */
    @ApiModelProperty("中心点经度")
    @NotNull(message = "中心点经度不可为空")
    private Double longitude;

    /**
     * 中心点纬度
     */
    @ApiModelProperty("中心点纬度")
    @NotNull(message = "中心点纬度不可为空")
    private Double latitude;

    /**
     * 最大值
     */
    @ApiModelProperty("最大值")
    @NotNull(message = "最大值不可为空")
    private Integer maxValue;

    /**
     * 最小值
     */
    @ApiModelProperty("最小值")
    @NotNull(message = "最小值不可为空")
    private Integer minValue;

    /**
     * 当前值
     */
    @ApiModelProperty("当前值")
    @NotNull(message = "当前值不可为空")
    private Integer beValue;

    /**
     * 地图状态：0-离线 1-在线
     */
    @ApiModelProperty("地图状态：0-离线 1-在线")
    @Max(value = 1)
    @Min(value = 0)
    @NotNull(message = "地图状态不可为空")
    private Integer mapType;

    /**
     * 部门Id
     */
    @ApiModelProperty("部门Id")
    @NotBlank(message = "部门Id不能为空，请检查参数")
    @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
    private String deptId;

    /**
     * 更新操作实体
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class DeptConfigUpdateParam extends DeptConfigParam {

        /**
         * id
         */
        @ApiModelProperty("主键Id")
        @NotBlank(message = ValidMessage.ID_NOT_BLANK)
        @Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
        private String id;
    }


}
