fix 修改省市区Api接口

This commit is contained in:
lwh 2023-06-09 17:01:43 +08:00
parent 22d1485e3b
commit a65cfcded6
5 changed files with 24 additions and 92 deletions

View File

@ -27,7 +27,7 @@ namespace ARW.Model.Dto.Api.Custom.Regions
public class RegionDtoApi
{
[Required(ErrorMessage = "RegionGuid不能为空")]
public long RegionGuid { get; set; }
public int RegionId { get; set; }
}
}

View File

@ -20,41 +20,32 @@ namespace ARW.Model.Vo.Api.Custom.Regions
/// <summary>
/// 描述 :区划信息ID
/// </summary>
[EpplusIgnore]
[SugarColumn(IsTreeKey = true)]
public int RegionId { get; set; }
/// <summary>
/// 描述 :区划名称
/// </summary>
[EpplusTableColumn(Header = "区划名称")]
public string RegionName { get; set; }
public string Label { get; set; }
/// <summary>
/// 描述 :父级ID
/// </summary>
[EpplusTableColumn(Header = "父级ID")]
public int RegionPid { get; set; }
/// <summary>
/// 描述 :区划编码
/// </summary>
[EpplusTableColumn(Header = "区划编码")]
public string RegionCode { get; set; }
public string Value { get; set; }
/// <summary>
/// 描述 :层级(1省级 2市级 3区/县级)
/// 子级
/// </summary>
[EpplusTableColumn(Header = "层级(1省级 2市级 3区/县级)")]
public int RegionLevel { get; set; }
public string ParentName { get; set; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
[SugarColumn(IsIgnore = true)]
public List<RegionVoApi> Children { get; set; }
}

View File

@ -32,64 +32,36 @@ namespace ARW.Service.Api.BusinessService.Custom.Regions
this._RegionRepository = RegionRepository;
}
#region Api接口代码
/// <summary>
#region Api接口代码
/// <summary>
/// 查询省市区数据表树形列表(Api)
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public async Task<List<RegionVoApi>> GetRegionTreeListApi(RegionQueryDtoApi parm)
{
public async Task<List<RegionVoApi>> GetRegionTreeListApi(RegionQueryDtoApi parm)
{
//开始拼装查询条件d
var predicate = Expressionable.Create<Region>();
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.RegionName), it => it.RegionName.Contains(parm.RegionName));
var query = _RegionRepository
.Queryable()
.Where(predicate.ToExpression())
.LeftJoin<Region>((s, c) => s.RegionPid == c.RegionGuid)
.OrderBy(s => s.RegionId,OrderByType.Asc)
.Select((s,c) => new RegionVoApi
.OrderBy(s => s.RegionId, OrderByType.Asc)
.Select(s => new RegionVoApi
{
RegionId = s.RegionId,
RegionName = s.RegionName,
RegionPid = s.RegionPid,
RegionCode = s.RegionCode,
RegionLevel = s.RegionLevel,
ParentName = c.RegionName,
});
RegionId = s.RegionId,
RegionPid = s.RegionPid,
Label = s.RegionName,
Value = s.RegionCode,
});
return await query.ToTreeAsync(it => it.Children, it => it.RegionPid, 0);
return await query.ToTreeAsync(it => it.Children, it => it.RegionPid, 0);
}
/// <summary>
/// 查询省市区数据表详情(Api)
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public Task<string> GetRegionDetails(RegionDtoApi parm)
{
var query = _RegionRepository
.Queryable()
.Where(s => s.RegionGuid == parm.RegionGuid)
.Select(s => new RegionApiDetailsVo
{
RegionId = s.RegionId,
RegionName = s.RegionName,
RegionPid = s.RegionPid,
RegionCode = s.RegionCode,
RegionLevel = s.RegionLevel,
}).Take(1);
return query.ToJsonAsync();
}
#endregion
#endregion
}
}

View File

@ -25,12 +25,5 @@ namespace ARW.Service.Api.IBusinessService.Custom.Regions
/// <returns></returns>
Task<List<RegionVoApi>> GetRegionTreeListApi(RegionQueryDtoApi parm);
/// <summary>
/// 获取省市区数据表详情(Api)
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
Task<string> GetRegionDetails(RegionDtoApi parm);
}
}

View File

@ -24,7 +24,7 @@ namespace ARW.WebApi.Controllers.Api.Custom.Regions
/// @author admin
/// @date 2023-06-09
/// </summary>
[Verify]
//[Verify]
[Route("api/[controller]")]
public class RegionApiController : BaseController
{
@ -49,36 +49,12 @@ namespace ARW.WebApi.Controllers.Api.Custom.Regions
public async Task<IActionResult> GetRegionTreeListApi([FromQuery] RegionQueryDtoApi parm)
{
var res = await _RegionServiceApi.GetRegionTreeListApi(parm);
if (res == null)
res = new List<RegionVoApi>();
//if (res == null)
// res = new List<RegionVoApi>();
return SUCCESS(res);
}
/// <summary>
/// 获取Region详情(Api)
/// </summary>
/// <param name="parm">查询参数</param>
/// <returns></returns>
[HttpGet("getRegionDetails")]
public async Task<IActionResult> GetRegionDetails([FromQuery] RegionDtoApi parm)
{
//if (parm == null) throw new CustomException("参数错误!");
var res = await _RegionServiceApi.GetRegionDetails(parm);
if (res != "[]")
{
res = res.Remove(0, 1);
res = res.Substring(0, res.Length - 1);
var data = res.FromJSON<RegionApiDetailsVo>();
return SUCCESS(data);
}
else
{
return SUCCESS(res);
}
}
}
}