Commit 966cdb56 by lizefeng

fix

parent f60d6fb2
...@@ -38,5 +38,9 @@ namespace AutoTurnOver.Models ...@@ -38,5 +38,9 @@ namespace AutoTurnOver.Models
public decimal other { get; set; } public decimal other { get; set; }
public decimal total { get; set; } public decimal total { get; set; }
public DateTime date { get; set; } public DateTime date { get; set; }
public string MarketplaceNameSys { get; set; }
public DateTime? start_date { get; set; }
public DateTime? end_date { get; set; }
public DateTime _ts { get; set; }
} }
} }
...@@ -561,10 +561,19 @@ namespace AutoTurnOver.Services ...@@ -561,10 +561,19 @@ namespace AutoTurnOver.Services
feeDatas.AddRange(refundDbData); feeDatas.AddRange(refundDbData);
} }
var marketplaceName = ""; var marketplaceName = "";
//精准读取系统站点
if (feeDatas.Count >= 1) if (feeDatas.Count >= 1)
{ {
marketplaceName = feeDatas.FirstOrDefault().MarketplaceName; marketplaceName = feeDatas.FirstOrDefault().MarketplaceName;
} }
var marketplaceNameSys = marketplaceName;
if (string.IsNullOrWhiteSpace(marketplaceNameSys))
{
ComputeMarketplaceNameByCurrency(settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.TotalAmount.Currency);
}
foreach (var otherTransactionItem in settlementData.AmazonEnvelope.Message.SettlementReport.OtherTransaction) foreach (var otherTransactionItem in settlementData.AmazonEnvelope.Message.SettlementReport.OtherTransaction)
{ {
if (otherTransactionItem.Fees != null && otherTransactionItem.Fees.Fee != null && otherTransactionItem.Fees.Fee.Count >= 1) if (otherTransactionItem.Fees != null && otherTransactionItem.Fees.Fee != null && otherTransactionItem.Fees.Fee.Count >= 1)
...@@ -600,12 +609,36 @@ namespace AutoTurnOver.Services ...@@ -600,12 +609,36 @@ namespace AutoTurnOver.Services
} }
dc_base_amazon_settlement settlementDbData = new dc_base_amazon_settlement
{
amount = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.TotalAmount.Text ?? 0,
account = pamsAccount.Account,
settlement_id = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.AmazonSettlementID,
deposit_date = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.DepositDate,
end_date = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.EndDate,
start_date = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.StartDate,
_ts = DateTime.Now,
marketplace_name = marketplaceName
};
settlementDbData.data_id = $"{settlementDbData.account}-{settlementDbData.settlement_id}";
settlementDbData.id = MyMySqlConnection._connection.QueryFirstOrDefault<int?>("select id from dc_base_amazon_settlement where data_id=@data_id", new { data_id = settlementDbData.data_id }) ?? 0;
if (settlementDbData.id > 0)
{
MyMySqlConnection._connection.Update(settlementDbData);
}
else
{
MyMySqlConnection._connection.Insert(settlementDbData);
}
foreach (var feeItem in feeDatas) foreach (var feeItem in feeDatas)
{ {
try try
{ {
feeItem.MarketplaceNameSys = marketplaceNameSys;
feeItem.start_date = settlementDbData.start_date;
feeItem.end_date = settlementDbData.end_date;
feeItem._ts = DateTime.Now;
feeItem.id = MyMySqlConnection._connection.QueryFirstOrDefault<int?>("select id from dc_base_amazon_fee where data_id=@data_id", new { data_id = feeItem.data_id }) ?? 0; feeItem.id = MyMySqlConnection._connection.QueryFirstOrDefault<int?>("select id from dc_base_amazon_fee where data_id=@data_id", new { data_id = feeItem.data_id }) ?? 0;
if (feeItem.id > 0) if (feeItem.id > 0)
{ {
...@@ -624,26 +657,7 @@ namespace AutoTurnOver.Services ...@@ -624,26 +657,7 @@ namespace AutoTurnOver.Services
} }
dc_base_amazon_settlement settlementDbData = new dc_base_amazon_settlement {
amount = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.TotalAmount.Text??0,
account = pamsAccount.Account,
settlement_id = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.AmazonSettlementID,
deposit_date = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.DepositDate,
end_date = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.EndDate,
start_date = settlementData.AmazonEnvelope.Message.SettlementReport.SettlementData.StartDate,
_ts = DateTime.Now,
marketplace_name = marketplaceName
};
settlementDbData.data_id = $"{settlementDbData.account}-{settlementDbData.settlement_id}";
settlementDbData.id = MyMySqlConnection._connection.QueryFirstOrDefault<int?>("select id from dc_base_amazon_settlement where data_id=@data_id", new { data_id = settlementDbData.data_id }) ?? 0;
if (settlementDbData.id > 0)
{
MyMySqlConnection._connection.Update(settlementDbData);
}
else
{
MyMySqlConnection._connection.Insert(settlementDbData);
}
ana_task.data_id = settlementDbData.settlement_id; ana_task.data_id = settlementDbData.settlement_id;
} }
...@@ -769,7 +783,21 @@ namespace AutoTurnOver.Services ...@@ -769,7 +783,21 @@ namespace AutoTurnOver.Services
MyMySqlConnection._connection.Update(ana_task); MyMySqlConnection._connection.Update(ana_task);
} }
/// <summary>
/// 根据站点推算币种
/// </summary>
/// <param name="currency"></param>
/// <returns></returns>
public string ComputeMarketplaceNameByCurrency(string currency)
{
switch (currency.ToUpper())
{
case "USD":return "Amazon.com";
case "SEK": return "Amazon.se";
case "GBP": return "Amazon.co.uk";
default:return "";
}
}
public ApiAmazonSettlementDto MapSettlement(string json) public ApiAmazonSettlementDto MapSettlement(string json)
{ {
......
...@@ -55,10 +55,10 @@ namespace ResetOutofstock ...@@ -55,10 +55,10 @@ namespace ResetOutofstock
//new AmazonDataSynchroService().SynchroReportIds(); //new AmazonDataSynchroService().SynchroReportIds();
//new AmazonDataSynchroService().SynchroReportIds(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE_V2, 10); //new AmazonDataSynchroService().SynchroReportIds(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE_V2, 10);
//while (true) while (true)
//{ {
// new AmazonDataSynchroService().AnaReport(-1); new AmazonDataSynchroService().AnaReport();
//} }
} }
catch (Exception ex) catch (Exception ex)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment