using YD_Event.Core.Entities;
using Mapster;
using System.ComponentModel;
using Furion.DynamicApiController;
using YD_Event.Application.Region.Dtos;
namespace YD_Event.Application.Region
{
///
/// 行政区域服务
///
public class RegionService : ITransient, IDynamicApiController
{
private readonly ISqlSugarRepository _provinceRepository;
private readonly ISqlSugarRepository _cityRepository;
private readonly ISqlSugarRepository _districtRepository;
public RegionService(
ISqlSugarRepository provinceRepository,
ISqlSugarRepository cityRepository,
ISqlSugarRepository districtRepository)
{
_provinceRepository = provinceRepository;
_cityRepository = cityRepository;
_districtRepository = districtRepository;
}
///
/// 获取所有省份
///
///
[DisplayName("获取所有省份")]
public async Task> GetProvinces()
{
var provinces = await _provinceRepository.GetListAsync();
return provinces.Adapt>();
}
///
/// 根据省份代码获取城市列表
///
///
///
[DisplayName("根据省份代码获取城市列表")]
public async Task> GetCitiesByProvince(string provinceCode)
{
var cities = await _cityRepository.GetListAsync(c => c.ProvinceCode == provinceCode);
return cities.Adapt>();
}
///
/// 根据城市代码获取区县列表
///
///
///
[DisplayName("根据城市代码获取区县列表")]
public async Task> GetDistrictsByCity(string cityCode)
{
var districts = await _districtRepository.GetListAsync(d => d.CityCode == cityCode);
return districts.Adapt>();
}
}
}