master
wufan 1 month ago
parent 4a8cec5259
commit 1b3a804b3e

@ -29488,9 +29488,46 @@ namespace TradeManageNew
Datas = null
};
}
/// <summary>
/// 获取渠道运费信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[WebMethod(EnableSession = true)]
public APIReturnModel GetOrderUsedSalePlatformLabel(int Id)
{
using (var db = new TradeUsedSale.Repositories.ErpDbContext())
{
var orderUsedSaleApplyDtos = db.DT_OrderUsedSaleApply.Where(x => x.UsedSaleId == Id)
.Select(o => new OrderUsedSaleApplyDto
{
UsedSaleBarCode = o.UsedSaleBarCode,
ServiceType = o.ServiceType,
TrackingCode = o.TrackingCode,
TotalNetCharge = o.TotalNetCharge,
CreationTime = o.CreationTime
})
.OrderBy(x => x.TotalNetCharge)
.ToList();
return new APIReturnModel
{
Code = 1,
Message = "Success",
Datas = JsonConvert.SerializeObject(orderUsedSaleApplyDtos)
};
}
}
/// <summary>
/// 重新获取渠道运费信息
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
[WebMethod(EnableSession = true)]
public APIReturnModel RetrieveOrderUsedSalePlatformLabel(int Id)
{
// PagesNew.Login(base.Session);
using (var db = new TradeUsedSale.Repositories.ErpDbContext())
@ -29748,6 +29785,9 @@ namespace TradeManageNew
#endregion
//运费信息
var newOrderUsedSaleApplyList = new List<TradeUsedSale.Repositories.Models.DT_OrderUsedSaleApply>();
foreach (var serviceType in serviceTypes)
{
var apiRequestInfo = new StringBuilder();
@ -29801,12 +29841,46 @@ namespace TradeManageNew
.GetAwaiter()
.GetResult();
var fedexData = response.Output.TransactionShipments.First();
var base64Image = fedexData.PieceResponses
.FirstOrDefault()
?.PackageDocuments
?.FirstOrDefault()
?.EncodedLabel;
if (string.IsNullOrWhiteSpace(base64Image))
{
throw new Exception("未返回面单文件");
}
//将 Base64 转为字节数组
byte[] imageBytes = Convert.FromBase64String(base64Image);
//保存为 PNG 文件 fedexCache
string labelPath = AppDomain.CurrentDomain.BaseDirectory + "attached/fedexCache/";
var imagePath = labelPath + fedexData.MasterTrackingNumber + ".png";
File.WriteAllBytes(imagePath, imageBytes);
//渠道运费信息
var rateDetail = fedexData.CompletedShipmentDetail.ShipmentRating.ShipmentRateDetails.First();
newOrderUsedSaleApplyList.Add(new TradeUsedSale.Repositories.Models.DT_OrderUsedSaleApply
{
UsedSaleId = orderUsedSalePlatform.Id,
UsedSaleBarCode = orderUsedSalePlatform.BarCode,
ServiceType = serviceType.ToString(),
TrackingCode = fedexData.MasterTrackingNumber,
TotalNetCharge = rateDetail.TotalNetCharge?? 0m,
OriginJson = JsonConvert.SerializeObject(response),
CreationTime = DateTime.Now,
IsDeleted = false
});
//记录返回结果
apiRequestInfo.AppendLine($"返回结果:{JsonConvert.SerializeObject(response)}");
}
catch (Exception ex)
{
db.InsertWithInt32Identity(new TradeUsedSale.Repositories.Models.DT_TrackCodeApplyLog
db.InsertWithInt32Identity(new TradeUsedSale.Repositories.Models.DT_OrderUsedSaleApplyLog
{
UsedSaleBarCode = orderUsedSalePlatform.BarCode,
ServiceType = serviceType.ToString(),
@ -29818,7 +29892,7 @@ namespace TradeManageNew
var apiRequestStr = apiRequestInfo.ToString();
if (!string.IsNullOrWhiteSpace(apiRequestStr))
{
db.InsertWithInt32Identity(new TradeUsedSale.Repositories.Models.DT_TrackCodeApplyLog
db.InsertWithInt32Identity(new TradeUsedSale.Repositories.Models.DT_OrderUsedSaleApplyLog
{
UsedSaleBarCode = orderUsedSalePlatform.BarCode,
ServiceType = serviceType.ToString(),
@ -29827,9 +29901,38 @@ namespace TradeManageNew
});
}
}
}
return null;
if (newOrderUsedSaleApplyList.Any())
{
db.DT_OrderUsedSaleApply.Where(x => x.UsedSaleId == orderUsedSalePlatform.Id)
.Set(x => x.IsDeleted, true)
.Update();
foreach (var newOrderUsedSaleApply in newOrderUsedSaleApplyList)
{
db.InsertWithInt32Identity(newOrderUsedSaleApply);
}
}
var orderUsedSaleApplyDtos = newOrderUsedSaleApplyList
.Select(o => new OrderUsedSaleApplyDto
{
UsedSaleBarCode = o.UsedSaleBarCode,
ServiceType = o.ServiceType,
TrackingCode = o.TrackingCode,
TotalNetCharge = o.TotalNetCharge,
CreationTime = o.CreationTime
})
.OrderBy(x => x.TotalNetCharge)
.ToList();
return new APIReturnModel
{
Code = 1,
Message = "Success",
Datas = JsonConvert.SerializeObject(orderUsedSaleApplyDtos)
};
}
}
static string[] SplitAddress(string address, int maxLength)

@ -0,0 +1,32 @@
using System;
namespace TradeManageNew.Models.ShopifyUsedSale
{
public class OrderUsedSaleApplyDto
{
/// <summary>
/// 二手售卖商品打印条码
/// </summary>
public string UsedSaleBarCode { get; set; }
/// <summary>
/// 服务类型
/// </summary>
public string ServiceType { get; set; }
/// <summary>
/// 跟踪号
/// </summary>
public string TrackingCode { get; set; }
/// <summary>
/// 运费
/// </summary>
public decimal TotalNetCharge { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreationTime { get; set; }
}
}

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

@ -32,6 +32,7 @@ namespace TradeUsedSale.Repositories
public ITable<HW_PostFee> HW_PostFee => this.GetTable<HW_PostFee>();
public ITable<DT_ShopifyUsedSaleOrder> DT_ShopifyUsedSaleOrder => this.GetTable<DT_ShopifyUsedSaleOrder>();
public ITable<DT_ShopifyUsedSaleOrderItem> DT_ShopifyUsedSaleOrderItem => this.GetTable<DT_ShopifyUsedSaleOrderItem>();
public ITable<DT_TrackCodeApplyLog> DT_TrackCodeApplyLog => this.GetTable<DT_TrackCodeApplyLog>();
public ITable<DT_OrderUsedSaleApplyLog> DT_OrderUsedSaleApplyLog => this.GetTable<DT_OrderUsedSaleApplyLog>();
public ITable<DT_OrderUsedSaleApply> DT_OrderUsedSaleApply => this.GetTable<DT_OrderUsedSaleApply>();
}
}

@ -0,0 +1,50 @@
using System;
using LinqToDB.Mapping;
namespace TradeUsedSale.Repositories.Models
{
public class DT_OrderUsedSaleApply
{
[PrimaryKey, Identity] public int Id { get; set; }
/// <summary>
/// 二手售卖商品Id
/// </summary>
public int UsedSaleId { get; set; }
/// <summary>
/// 二手售卖商品打印条码
/// </summary>
public string UsedSaleBarCode { get; set; }
/// <summary>
/// 服务类型
/// </summary>
public string ServiceType { get; set; }
/// <summary>
/// 跟踪号
/// </summary>
public string TrackingCode { get; set; }
/// <summary>
/// 运费
/// </summary>
public decimal TotalNetCharge { get; set; }
/// <summary>
/// 原始Json
/// </summary>
public string OriginJson { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreationTime { get; set; }
/// <summary>
/// 是否已删除
/// </summary>
public bool IsDeleted { get; set; }
}
}

@ -3,10 +3,9 @@ using LinqToDB.Mapping;
namespace TradeUsedSale.Repositories.Models
{
public class DT_TrackCodeApplyLog
public class DT_OrderUsedSaleApplyLog
{
[PrimaryKey, Identity] public int Id { get; set; }
public string UsedSaleBarCode { get; set; }
public string ServiceType { get; set; }
public string Remark { get; set; }

@ -54,13 +54,14 @@
<Compile Include="Repositories\Models\DT_OrderGoods.cs" />
<Compile Include="Repositories\Models\DT_OrderInfo.cs" />
<Compile Include="Repositories\Models\DT_OrderReturn.cs" />
<Compile Include="Repositories\Models\DT_OrderUsedSaleApply.cs" />
<Compile Include="Repositories\Models\DT_OrderUsedSalePlatform.cs" />
<Compile Include="Repositories\Models\DT_OrderXXInfo.cs" />
<Compile Include="Repositories\Models\DT_ShopifyProductGoodsMap.cs" />
<Compile Include="Repositories\Models\DT_ShopifyUsedSaleOrder.cs" />
<Compile Include="Repositories\Models\DT_ShopifyUsedSaleOrderItem.cs" />
<Compile Include="Repositories\Models\DT_ShopifyUsedSaleProduct.cs" />
<Compile Include="Repositories\Models\DT_TrackCodeApplyLog.cs" />
<Compile Include="Repositories\Models\DT_OrderUsedSaleApplyLog.cs" />
<Compile Include="Repositories\Models\HW_GoodsDetail.cs" />
<Compile Include="Repositories\Models\HW_GoodsInfo.cs" />
<Compile Include="Repositories\Models\HW_PostFee.cs" />

Loading…
Cancel
Save