package com.energy.manage.service.service.area;

import com.alibaba.fastjson.JSONObject;
import com.energy.manage.common.base.BaseService;
import com.energy.manage.common.po.area.AreaPO;

import java.util.List;


public interface AreaApiService extends BaseService<AreaPO> {

  /**
   * 获取所有省份信息
   *
   * @return
   */
  List<AreaPO> findAllProvince();


  /**
   * 通过类型和名字查询区域数据集合
   * @param type
   * @param names
   * @return
   */
  List<AreaPO> getAllProvinceByName(Integer type,List<String> names);

  /**
   * 根据省份信息获取对应的城市信息
   *
   * @param provinceId
   * @return
   */
  List<AreaPO> selectCityByPId(int provinceId);


  /**
   * 根据城市信息获取对应的区县信息
   *
   * @param cityId
   * @return
   */
  List<AreaPO> selectAreaByCId(int cityId);

  /**
   * 根据区县Id修改区县信息
   *
   * @param areaId
   * @param area
   * @return
   */
  boolean updateAreaByAId(int areaId, String area, int areaType);

  /**
   * 根据区县Id删除区县信息
   *
   * @param areaId
   * @return
   */
  JSONObject deleteAreaByAId(int areaId, int areaType);

  /**
   * 获取未被占用的省份
   *
   * @param provinceName
   * @return
   */
  List<AreaPO> getEnableProvince(String provinceName);

  /**
   * 获取未被占用的地区信息
   *
   * @param officeId
   * @param roleId
   * @return
   */
  JSONObject getEnableArea();

  /**
   * 添加省市区县
   * @param provinceId
   * @param cityId
   * @param area
   * @param areaType
   * @return
   */
  boolean addArea(int provinceId, String province, Integer cityId, String city, String area, int areaType);


  /**
   * 同步区号
   * @return
   */
  boolean syncAreaCode();


}
