Commit db8913be by lizefeng

fix

parent 2f040936
...@@ -1093,6 +1093,126 @@ namespace AutoTurnOver.Services ...@@ -1093,6 +1093,126 @@ namespace AutoTurnOver.Services
} }
/// <summary> /// <summary>
/// FBA仓库销毁费
/// </summary>
/// <param name="status"></param>
/// <param name="data_id"></param>
public void AnaFbaReimbursementsStorageFeeReport(int status = 0, string report_id = "")
{
var reportTypeEnum = ReportTypes.GET_FBA_REIMBURSEMENTS_DATA;
var ana_task = MyMySqlConnection._connection.QueryFirstOrDefault<dc_base_amazon_fee_report_log>(" select * from dc_base_amazon_fee_report_log where report_type=@report_type and ana_status=@status order by id asc limit 1 ", new
{
report_type = reportTypeEnum.ToString(),
status = status
});
if (!string.IsNullOrWhiteSpace(report_id))
{
ana_task = MyMySqlConnection._connection.QueryFirstOrDefault<dc_base_amazon_fee_report_log>(" select * from dc_base_amazon_fee_report_log where report_type=@report_type and report_id=@report_id order by id desc limit 1 ", new
{
report_type = reportTypeEnum.ToString(),
report_id = report_id
});
}
if (ana_task == null)
{
return;
}
try
{
var pamsAccount = ApiServices.GetAmazonAccountList().FirstOrDefault(s => s.Id == ana_task.pams_account_id);
var reportData = DownloadReportData(pamsAccount, ana_task.report_id);
if (string.IsNullOrWhiteSpace(reportData.ReportDocumentId))
{
if (reportData.ProcessingStatus == Report.ProcessingStatusEnum.FATAL || reportData.ProcessingStatus == Report.ProcessingStatusEnum.CANCELLED)
{
ana_task.ana_status = -2;
MyMySqlConnection._connection.Update(ana_task);
return;
}
else
{
ana_task.report_par_json = reportData.ToJson();
MyMySqlConnection._connection.Update(ana_task);
return;
}
}
StringBuilder response_str = new StringBuilder() { };
using (StreamReader sr = new StreamReader(reportData.ReportDocumentId))
{
response_str.AppendLine(sr.ReadToEnd());
sr.Close();
}
string jsonText = response_str.ToString();
ana_task.content = jsonText;
var table = CsvFileHelper.ReadFromCSV(reportData.ReportDocumentId, true, '\t');
foreach (DataRow row in table.Rows)
{
try
{
dc_profit_business_amazon_storage_fee storageFee = new dc_profit_business_amazon_storage_fee
{
currency = row.DataRowToString("currency-unit"),
fulfillment_center = row.DataRowToString("country"),
site = row.DataRowToString("country"),
fee_type = "销毁费",
report_id = ana_task.report_id,
account = pamsAccount.Account,
asin = row.DataRowToString("asin"),
sku = row.DataRowToString("fnsku"),
report_end_date = reportData.DataEndTime ?? new DateTime(1991, 1, 1)
};
storageFee.fee = row.DataRowToNumber("amount-total") ?? 0;
storageFee._date = reportData.DataStartTime.Value.ToDayHome();
if ("GB".Equals(storageFee.site, StringComparison.CurrentCultureIgnoreCase))
{
storageFee.site = "UK";
}
storageFee._create_date = DateTime.Now;
storageFee._update_date = DateTime.Now;
storageFee._unique_id = $"{storageFee.asin}-{storageFee._date.ToString("yyyy-MM")}-{storageFee.site}-{storageFee.account}-{storageFee.fulfillment_center}-{storageFee.fee_type}";
var oldData = MyMySqlConnection._connection.QueryFirstOrDefault<dc_profit_business_amazon_storage_fee>(" select * from dc_profit_business_amazon_storage_fee where _unique_id=@unique_id ", new { unique_id = storageFee._unique_id });
if (oldData != null)
{
storageFee._project = oldData._project;
storageFee.business_user = oldData.business_user;
storageFee.exchange_cny = oldData.exchange_cny;
storageFee.id = oldData.id;
MyMySqlConnection._connection.Update(storageFee);
}
else
{
MyMySqlConnection._connection.Insert(storageFee);
}
}
catch (Exception ex)
{
throw;
}
}
ana_task.ana_error = "";
ana_task.ana_stack_trace = "";
ana_task.ana_status = 1;
}
catch (Exception ex)
{
ana_task.ana_error = ex.Message;
ana_task.ana_stack_trace = ex.StackTrace;
ana_task.ana_status = -1;
}
MyMySqlConnection._connection.Update(ana_task);
}
/// <summary>
/// 超量存储费 /// 超量存储费
/// </summary> /// </summary>
/// <param name="status"></param> /// <param name="status"></param>
......
...@@ -57,13 +57,14 @@ namespace ResetOutofstock ...@@ -57,13 +57,14 @@ namespace ResetOutofstock
//new AmazonDataSynchroService().SetMarketplaceNameByDate(); //new AmazonDataSynchroService().SetMarketplaceNameByDate();
//new AmazonDataSynchroService().SynchroReportIds(); //new AmazonDataSynchroService().SynchroReportIds();
//new AmazonDataSynchroService().SynchroReportIdByCreate(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_FBA_FULFILLMENT_LONGTERM_STORAGE_FEE_CHARGES_DATA, 17, "Eumengman", "ES",DateTime.Parse("2023-03-01"),DateTime.Parse("2023-03-31 23:59:59")); //new AmazonDataSynchroService().SynchroReportIdByCreate(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_FBA_REIMBURSEMENTS_DATA, 17, "Siqidzi", "ES",DateTime.Parse("2023-03-01"),DateTime.Parse("2023-03-31 23:59:59"));
//new AmazonDataSynchroService().SynchroReportIdByCreate(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_FBA_INVENTORY_PLANNING_DATA, version: 22, account: "Elite99 Nail Art", site: "US", //new AmazonDataSynchroService().SynchroReportIdByCreate(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_FBA_INVENTORY_PLANNING_DATA, version: 22, account: "Elite99 Nail Art", site: "US",
// btime: DateTime.Parse("2023-04-01"), DateTime.Parse("2023-04-24 23:59:59")); // btime: DateTime.Parse("2023-04-01"), DateTime.Parse("2023-04-24 23:59:59"));
//new AmazonDataSynchroService().SynchroReportIds(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL, 13); //new AmazonDataSynchroService().SynchroReportIds(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_AMAZON_FULFILLED_SHIPMENTS_DATA_GENERAL, 13);
//new AmazonDataSynchroService().AnaFbaShipmentReport(); //new AmazonDataSynchroService().AnaFbaShipmentReport();
//new AmazonDataSynchroService().AnaFbaStorageFeeReport(status:-1); //new AmazonDataSynchroService().AnaFbaStorageFeeReport(status:-1);
//new AmazonDataSynchroService().AnaFbaLongTermStorageFeeReport(0, "994146019488"); //new AmazonDataSynchroService().AnaFbaLongTermStorageFeeReport(0, "994146019488");
new AmazonDataSynchroService().AnaFbaReimbursementsStorageFeeReport(0, "371539019488");
//new AmazonDataSynchroService().AnaFbaOverageStorageFeeReport(report_id: "937084019471"); //new AmazonDataSynchroService().AnaFbaOverageStorageFeeReport(report_id: "937084019471");
//new AmazonDataSynchroService().AnaFbaStorageFeeReport(data_id: "323250019473"); //new AmazonDataSynchroService().AnaFbaStorageFeeReport(data_id: "323250019473");
......
...@@ -804,7 +804,7 @@ namespace ResetOutofstock ...@@ -804,7 +804,7 @@ namespace ResetOutofstock
{ {
Console.WriteLine($"开始 提交解析月度仓储费任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"开始 提交解析月度仓储费任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
new AmazonDataSynchroService().AnaFbaStorageFeeReportSubmit("GET_FBA_STORAGE_FEE_CHARGES_DATA", "aims:AnaFbaStorageFee:input"); new AmazonDataSynchroService().AnaFbaStorageFeeReportSubmit("GET_FBA_STORAGE_FEE_CHARGES_DATA", "aims:AnaFbaStorageFee:input");
new AmazonDataSynchroService().AnaFbaStorageFeeReportSubmit("GET_FBA_INVENTORY_PLANNING_DATA", "aims:AnaFbaInventoryStorageFee:input"); new AmazonDataSynchroService().AnaFbaStorageFeeReportSubmit("GET_FBA_FULFILLMENT_LONGTERM_STORAGE_FEE_CHARGES_DATA", "aims:AnaFbaInventoryStorageFee:input");
new AmazonDataSynchroService().AnaFbaStorageFeeReportSubmit("GET_FBA_OVERAGE_FEE_CHARGES_DATA", "aims:AnaFbaOverageStorageFee:input"); new AmazonDataSynchroService().AnaFbaStorageFeeReportSubmit("GET_FBA_OVERAGE_FEE_CHARGES_DATA", "aims:AnaFbaOverageStorageFee:input");
//new AmazonDataSynchroService().AnaFbaStorageFeeReport(-1); //new AmazonDataSynchroService().AnaFbaStorageFeeReport(-1);
Console.WriteLine($"结束 提交解析月度仓储费任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"结束 提交解析月度仓储费任务,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
......
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