package com.ruoyi.ibs.grid.domain.vo;

import com.ruoyi.ibs.grid.domain.dto.GridUserRelateDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

/**
 * @Author 吴凯程
 * @Date 2024/9/18
 **/
@Data
public class SecRegionGridRedisVO {

    /**
     * 上级网格id
     */
    @ApiModelProperty(value = "上级网格id", notes = "")
    @Valid
    @NotNull(message = "上级网格id不能为空")
    private Long parentGridId;

    /**
     * 网格名
     */
    @ApiModelProperty(value = "网格名", notes = "")
    @Valid
    @NotNull(message = "网格名不能为空")
    private String gridName;

    /**
     * 网格类型; 1菜场、2政府单位、3事业单位、4社区、5商圈、6企业、7市场园区、8教育、9其他、0行政区域。
     */
    @ApiModelProperty(name = "网格类型", notes = "1菜场、2政府单位、3事业单位、4社区、5商圈、6企业、7市场园区、8教育、9其他、0行政区域")
    @Valid
    @NotNull(message = "网格类型不能为空")
    private String gridType;

    /**
     * 网格级别
     */
    @ApiModelProperty(value = "网格级别", notes = "")
    @Valid
    @NotNull(message = "网格级别不能为空")
    private String gridLevel = "2";

    /**
     * 网格责任类型;1责任 2竞争
     */
    @ApiModelProperty(value = "网格责任类型", notes = "1责任 2竞争")
    @Valid
    @NotNull(message = "网格责任类型不能为空")
    private String gridDutyType = "1";

    @ApiModelProperty(value = "关联行政区划", notes = "")
    @Valid
    @NotNull(message = "关联行政区划不能为空")
    @Size(min = 1, message = "关联行政区划不能为空")
    private List<String> adminDivisionCodeList;

    @ApiModelProperty(value = "关联机构用户", notes = "")
    @Valid
    @NotNull(message = "网格与机构或客户经理不能为空")
    @Size(min = 1, message = "网格与机构或客户经理不能为空")
    private List<GridUserRelateDTO> gridUserRelateDTOList;

    @ApiModelProperty(value = "地址结构树", notes = "")
    private List<AddressTreeVO> addressTree;

    @ApiModelProperty(value = "归属部室 0零售 1公司 2运管")
    @Valid
    @NotNull(message = "归属部室不能为空")
    private String opsDept;


}
