fxc 2 months ago
commit a6ed7fe733

@ -28717,18 +28717,23 @@ namespace TradeManageNew
var products = db.HW_GoodsInfo.Where(x => productIds.Contains(x.GoodsId)).Select(o => new
{
ProductId = o.GoodsId,
ProductName = o.GoodsName,
ProductEnName = o.GoodsEnglisgName,
o.FirstImgUrl
}).ToList();
foreach (var pageItem in page)
{
var product = products.FirstOrDefault(x => x.ProductId == pageItem.ProductId);
var resultItem = new OrderUsedSalePlatformPageDto
{
Id = pageItem.Id,
ProductId = pageItem.ProductId,
ProductCode = pageItem.ProductCode,
ProductImageUrl = products.FirstOrDefault(x => x.ProductId == pageItem.ProductId)
?.FirstImgUrl,
ProductImageUrl = product?.FirstImgUrl,
ProductName=product?.ProductName,
ProductEnName=product?.ProductEnName,
SkuId = pageItem.SkuId,
SkuCode = pageItem.SkuCode,
BarCode = pageItem.BarCode,
@ -28769,7 +28774,7 @@ namespace TradeManageNew
var shopifyOrder = shopifyOrders.FirstOrDefault(x =>
x.Id == shopifyOrderItem.DtShopifyUsedSaleOrderId);
var shopifyOrderDto =new ShopifyUsedSaleOrderInfoDto
var shopifyOrderDto = new ShopifyUsedSaleOrderInfoDto
{
OrderId = shopifyOrder?.OrderId,
OrderNumber = shopifyOrder?.OrderNumber,
@ -28791,6 +28796,7 @@ namespace TradeManageNew
Currency = shopifyOrder?.Currency,
TotalPrice = shopifyOrder?.TotalPrice,
};
resultItem.ShopifyOrder = shopifyOrderDto;
}
}
@ -29580,6 +29586,36 @@ namespace TradeManageNew
};
}
var getAddressTypeParameter = new FedexValidateAddressModel
{
addressesToValidate = new List<addressesToValidate>()
{
new addressesToValidate
{
address = new validateAddress()
{
streetLines = new[] { shopifyUsedSaleOrder.Full },
city = shopifyUsedSaleOrder.City,
stateOrProvinceCode = shopifyUsedSaleOrder.ProvinceCode,
countryCode = shopifyUsedSaleOrder.CountryCode,
postalCode = shopifyUsedSaleOrder.Zip,
}
}
}
};
var addressType = GetValidateAddressJump(getAddressTypeParameter, out var getAddressTypeError);
if (addressType == null || !string.IsNullOrEmpty(getAddressTypeError))
{
return new APIReturnModel
{
Code = 0,
Message = $"[{orderUsedSalePlatform.BarCode}]获取地址类型失败,请稍后再试",
Datas = null
};
}
//是否住宅地址
bool isResidential = !(addressType.ToUpper() == "BUSINESS" || addressType.ToUpper() == "OFFICE");
//获取Fedex运费和面单
var fedexCredential = new FedexCredential(isDebugMode: true) { ReadResponseAsString = true };
if (orderUsedSalePlatform.WarehouseLocation == TradeUsedSale.Enums.WarehouseLocation.East)
@ -29652,7 +29688,7 @@ namespace TradeManageNew
StateOrProvinceCode = shopifyUsedSaleOrder.ProvinceCode,
PostalCode = shopifyUsedSaleOrder.Zip,
CountryCode = shopifyUsedSaleOrder.CountryCode,
Residential = null
Residential = isResidential
},
Contact = new PartyContact
{
@ -29716,6 +29752,17 @@ namespace TradeManageNew
{
var apiRequestInfo = new StringBuilder();
//住宅地址无法获取Fedex_GROUND渠道 商业地址无法获取Fedex_HOME_DELIVERY
if (isResidential && serviceType == RequestedShipmentServiceType.FEDEX_GROUND)
{
continue;
}
if (!isResidential && serviceType == RequestedShipmentServiceType.GROUND_HOME_DELIVERY)
{
continue;
}
try
{
//判断地址类型来跳过部分服务并且收获地址添加是否住宅
@ -29815,6 +29862,38 @@ namespace TradeManageNew
}
}
public static string GetValidateAddressJump(FedexValidateAddressModel model, out string msg)
{
try
{
var path = EncryptString(JsonConvert.SerializeObject(model), "ThisIsShopifyKey12365498");
var path2 = HttpUtility.UrlEncode(path);
var url = "http://50.196.110.198:8099" + "/api/FedexHelp/getValidateAddress?address=" + path2;
using (WebClient client = new WebClient())
{
string responseContent = client.DownloadString(url);
if (string.IsNullOrEmpty(responseContent) || responseContent.Contains("Fail"))
{
msg = responseContent;
return null;
}
else
{
msg = "";
var rmodel = JsonConvert.DeserializeObject<FedexValidateAddressReturnModel>(responseContent);
return rmodel.output.resolvedAddresses[0].classification;
}
}
}
catch (Exception ex)
{
msg = "失败";
return null;
}
}
#endregion

@ -0,0 +1,48 @@
using System.Collections.Generic;
namespace TradeManageNew.Models.ShopifyUsedSale
{
/// <summary>
///地址验证model
/// </summary>
public class FedexValidateAddressModel
{
public List<addressesToValidate> addressesToValidate { get; set; }
}
public class addressesToValidate
{
public validateAddress address { get; set; }
}
public class validateAddress
{
public string[] streetLines { get; set; }
public string city { get; set; }
public string stateOrProvinceCode { get; set; }
public string postalCode { get; set; }
public string countryCode { get; set; }
}
/// <summary>
/// 地址验证返回model
/// </summary>
public class FedexValidateAddressReturnModel
{
public ValidateAddressOutput output { get; set; }
}
public class ValidateAddressOutput
{
public List<resolvedAddresses> resolvedAddresses { get; set; }
}
public class resolvedAddresses
{
/// <summary>
/// 地址类型BUSINESS商业地址RESIDENTIAL住宅地址
/// </summary>
public string classification { get; set; }
}
}

@ -23,6 +23,10 @@ namespace TradeManageNew.Models.ShopifyUsedSale
/// </summary>
public string ProductImageUrl { get; set; }
public string ProductName { get; set; }
public string ProductEnName { get; set; }
/// <summary>
/// SKU ID
/// </summary>

@ -2932,6 +2932,7 @@
<Compile Include="Models\Shage\OrderUsedSalePlatformInput.cs" />
<Compile Include="Models\Shage\SelfPickupOrderUsedSalePlatformInput.cs" />
<Compile Include="Models\ShopifyUsedSale\CancelShopifyUsedSaleOrderDto.cs" />
<Compile Include="Models\ShopifyUsedSale\FedexValidateAddressModel.cs" />
<Compile Include="Models\ShopifyUsedSale\OrderUsedSalePlatformPageDto.cs" />
<Compile Include="Models\ShopifyUsedSale\ShopifyUsedSaleOrderDto.cs" />
<Compile Include="Models\ShopifyUsedSale\ShopifyUsedSaleOrderInfoDto.cs" />

Loading…
Cancel
Save