package com.ruoyi.ibs.grid.service;

import com.ruoyi.ibs.draw.domain.dto.grid.CustCountDTO;
import com.ruoyi.ibs.grid.domain.vo.AddressTreeVO;
import com.ruoyi.ibs.grid.domain.vo.GridUserVO;
import com.ruoyi.ibs.grid.domain.vo.TopGridSelectVO;

import java.util.List;

/**
 * @Author 吴凯程
 * @Date 2024/11/13
 **/
public interface RegionGridUtilsService {

    Boolean checkGridNameExist(String gridName, String gridLevel);

    Long getExpectedCustCount(List<String> codeList);

    List<GridUserVO> getUserListByGridId(Long gridId);

    List<TopGridSelectVO> getTopGridList();

    void updateTopGridNameLabelToRedis();

    List<AddressTreeVO> getTopGridAddressTree(Long gridId, List<String> selectedRegionCodes);

    List<String> getSelectedRegionCodes(String gridLevel, String opsDept);

    void loadRegionCustCount(Long... deptIds);

    List<Long> getGridCustCount(Long gridId);

    CustCountDTO getCustByDeptId(Long deptId, String opsDept);

    String getGridOpsDept(Long gridId);

    Boolean checkadminRegionValid(String code, String opsDept);

    Boolean checkadminRegionAvailable(String code, String opsDept);
}
