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