mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 18:03:27 +08:00
【修复】修改前端添加地址获取三级联动的判断模式,防止出现个人重名导致的获取序列失败的问题。
This commit is contained in:
@@ -299,11 +299,14 @@ namespace CoreCms.Net.Services.Basic
|
||||
/// 获取最终地区ID
|
||||
/// </summary>
|
||||
/// <param name="provinceName">省</param>
|
||||
/// <param name="provinceId">省序列</param>
|
||||
/// <param name="cityName">市</param>
|
||||
/// <param name="cityId">市序列</param>
|
||||
/// <param name="countyName">县</param>
|
||||
/// <param name="countyId">县序列</param>
|
||||
/// <param name="postalCode">邮编</param>
|
||||
/// <returns></returns>
|
||||
public async Task<WebApiCallBack> GetAreaId(string provinceName, string cityName, string countyName, string postalCode)
|
||||
public async Task<WebApiCallBack> GetAreaId(string provinceName, int provinceId, string cityName, int cityId, string countyName, int countyId, string postalCode)
|
||||
{
|
||||
var jm = new WebApiCallBack();
|
||||
|
||||
@@ -313,10 +316,12 @@ namespace CoreCms.Net.Services.Basic
|
||||
return jm;
|
||||
}
|
||||
|
||||
var areaId = await GetThreeAreaId(provinceName, provinceId, cityName, cityId, countyName, countyId, postalCode);
|
||||
|
||||
jm = new WebApiCallBack
|
||||
{
|
||||
status = true,
|
||||
data = await GetThreeAreaId(provinceName, cityName, countyName, postalCode)
|
||||
status = areaId > 0,
|
||||
data = areaId
|
||||
};
|
||||
return jm;
|
||||
}
|
||||
@@ -325,109 +330,32 @@ namespace CoreCms.Net.Services.Basic
|
||||
/// 获取最终地区ID
|
||||
/// </summary>
|
||||
/// <param name="provinceName">省</param>
|
||||
/// <param name="provinceId">省序列</param>
|
||||
/// <param name="cityName">市</param>
|
||||
/// <param name="cityId">市序列</param>
|
||||
/// <param name="countyName">县</param>
|
||||
/// <param name="countyId">县序列</param>
|
||||
/// <param name="postalCode">邮编</param>
|
||||
/// <returns></returns>
|
||||
public async Task<int> GetThreeAreaId(string provinceName, string cityName, string countyName, string postalCode)
|
||||
public async Task<int> GetThreeAreaId(string provinceName, int provinceId, string cityName, int cityId, string countyName, int countyId, string postalCode)
|
||||
{
|
||||
var areaData = await GetCaChe();
|
||||
var id = 0;
|
||||
var countyList = areaData.Where(p => p.depth == (int)GlobalEnumVars.AreaDepth.County && p.name == countyName).ToList();
|
||||
if (countyList.Any())
|
||||
//获取县
|
||||
var county = areaData.FirstOrDefault(p => p.depth == (int)GlobalEnumVars.AreaDepth.County && p.name == countyName && p.id == countyId);
|
||||
//获取市
|
||||
var city = areaData.FirstOrDefault(p => p.depth == (int)GlobalEnumVars.AreaDepth.City && p.name == cityName && p.id == cityId);
|
||||
//获取省
|
||||
var province = areaData.FirstOrDefault(p => p.depth == (int)GlobalEnumVars.AreaDepth.Province && p.name == provinceName && p.id == provinceId);
|
||||
|
||||
//必须三个都满足,证明才正常
|
||||
if (province != null && city != null && county != null)
|
||||
{
|
||||
if (countyList.Count > 1)
|
||||
{
|
||||
var cityModel = areaData.Find(p => p.depth == (int)GlobalEnumVars.AreaDepth.City && p.name == cityName);
|
||||
if (cityModel != null)
|
||||
{
|
||||
//foreach (var item in countyList)
|
||||
//{
|
||||
// if (item.parentId == cityModel.id)
|
||||
// {
|
||||
// id = item.id;
|
||||
// }
|
||||
//}
|
||||
var result = countyList.Find(p => p.parentId == cityModel.id);
|
||||
return result?.id ?? 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
id = countyList[0].id;
|
||||
}
|
||||
id = county.id;
|
||||
}
|
||||
else
|
||||
{
|
||||
//var cityModel = areaData.Find(p => p.depth == (int)GlobalEnumVars.AreaDepth.City && p.name == cityName);
|
||||
//if (cityModel != null)
|
||||
//{
|
||||
// //创建区域
|
||||
// var area = new CoreCmsArea();
|
||||
// area.depth = (int)GlobalEnumVars.AreaDepth.County;
|
||||
// area.name = countyName;
|
||||
// area.postalCode = postalCode;
|
||||
// area.parentId = cityModel.id;
|
||||
// area.sort = 100;
|
||||
// id = await base.InsertAsync(area);
|
||||
|
||||
// await UpdateCaChe();
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// var province = areaData.Find(p => p.depth == (int)GlobalEnumVars.AreaDepth.Province && p.name == provinceName);
|
||||
// if (province != null)
|
||||
// {
|
||||
// //创建城市
|
||||
// var areaCity = new CoreCmsArea();
|
||||
// areaCity.depth = (int)GlobalEnumVars.AreaDepth.City;
|
||||
// areaCity.name = cityName;
|
||||
// //areaCity.postalCode = postalCode;
|
||||
// areaCity.parentId = province.id;
|
||||
// areaCity.sort = 100;
|
||||
// var cityId = await base.InsertAsync(areaCity);
|
||||
|
||||
// //创建区域
|
||||
// var areaCounty = new CoreCmsArea();
|
||||
// areaCounty.depth = (int)GlobalEnumVars.AreaDepth.County;
|
||||
// areaCounty.name = countyName;
|
||||
// areaCounty.postalCode = postalCode;
|
||||
// areaCounty.parentId = cityId;
|
||||
// areaCounty.sort = 100;
|
||||
// id = await base.InsertAsync(areaCounty);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //创建省
|
||||
// var areaProvince = new CoreCmsArea();
|
||||
// areaProvince.depth = (int)GlobalEnumVars.AreaDepth.Province;
|
||||
// areaProvince.name = cityName;
|
||||
// //areaCity.postalCode = postalCode;
|
||||
// areaProvince.parentId = (int)GlobalEnumVars.AreaDepth.ProvinceParentId;
|
||||
// areaProvince.sort = 100;
|
||||
// var provinceId = await base.InsertAsync(areaProvince);
|
||||
|
||||
// //创建城市
|
||||
// var areaCity = new CoreCmsArea();
|
||||
// areaCity.depth = (int)GlobalEnumVars.AreaDepth.City;
|
||||
// areaCity.name = cityName;
|
||||
// //areaCity.postalCode = postalCode;
|
||||
// areaCity.parentId = provinceId;
|
||||
// areaCity.sort = 100;
|
||||
// var cityId = await base.InsertAsync(areaCity);
|
||||
|
||||
// //创建区域
|
||||
// var areaCounty = new CoreCmsArea();
|
||||
// areaCounty.depth = (int)GlobalEnumVars.AreaDepth.County;
|
||||
// areaCounty.name = countyName;
|
||||
// areaCounty.postalCode = postalCode;
|
||||
// areaCounty.parentId = cityId;
|
||||
// areaCounty.sort = 100;
|
||||
// id = await base.InsertAsync(areaCounty);
|
||||
// }
|
||||
// await UpdateCaChe();
|
||||
//}
|
||||
id = 0;
|
||||
}
|
||||
|
||||
return id;
|
||||
|
||||
Reference in New Issue
Block a user