Commit ad542336 by lizefeng

fix

parent eeeb8172
......@@ -41,7 +41,7 @@ namespace AutoTurnOver.Models.ApiDto
}
}
public string MarketPlaceJson { get; set; }
public MarketPlaceDto MarketPlaceObj
public MarketPlaceDto MarketPlaceObjBak
{
get
{
......
......@@ -60,7 +60,7 @@ namespace AutoTurnOver.Services
if (last_task_synchro_log != null)
{
new_task_synchro_log.start_time = last_task_synchro_log.end_time.AddMonths(-3);
new_task_synchro_log.start_time = last_task_synchro_log.end_time.AddMonths(-2);
}
else
{
......@@ -101,7 +101,6 @@ namespace AutoTurnOver.Services
}
else
{
transferFee.type = "Transfer Estimate";
transferFee.type_cn = "放款 预估";
transferFee.description = $" {transferFee.currency_code}${0 - transferFee.total} 转账计划于以下日期发起:预估。";
}
......@@ -155,20 +154,25 @@ namespace AutoTurnOver.Services
/// <summary>
/// 拉取报表
/// </summary>
public void SynchroReportIds(ReportTypes reportTypeEnum, int version = 8, string account = "")
public void SynchroReportIds(ReportTypes reportTypeEnum, int version = 8, string account = "",string site = "")
{
// 拉取亚马逊账号
var amazonAccounts = ApiServices.GetAmazonAccountList();
if (!string.IsNullOrWhiteSpace(account))
{
amazonAccounts = amazonAccounts.Where(s => s.Account == account).ToList();
}
if (!string.IsNullOrWhiteSpace(site))
{
amazonAccounts = amazonAccounts.Where(s => s.SiteEn == site).ToList();
}
foreach (var itemV in amazonAccounts)
{
try
{
if (itemV.AmznSpDevAccountObj != null && itemV.AmznSpTokenObj != null && itemV.MarketPlaceObj != null)
if (itemV.AmznSpDevAccountObj != null && itemV.AmznSpTokenObj != null)
{
// 由于token1小时刷新一次,所以个账号要重新从账号系统拉取token
var item = ApiServices.GetAmazonAccountList().FirstOrDefault(s => s.Id == itemV.Id);
......@@ -179,7 +183,7 @@ namespace AutoTurnOver.Services
var new_task_synchro_log = new task_synchro_log
{
create_date = DateTime.Now,
end_time = DateTime.Now.AddMonths(-3),
end_time = DateTime.Now.AddDays(-1),
status = 0,
task_name = task_name
};
......@@ -191,7 +195,7 @@ namespace AutoTurnOver.Services
{
continue;
}
new_task_synchro_log.start_time = last_task_synchro_log.end_time.AddMinutes(-1);
new_task_synchro_log.start_time = last_task_synchro_log.end_time.AddMonths(-2);
}
else
{
......@@ -224,7 +228,7 @@ namespace AutoTurnOver.Services
report_par_json = reportsItem.ToJson(),
btime = reportsItem.DataStartTime,
etime = reportsItem.DataEndTime,
site_code = item.MarketPlaceObj.multiMwsMid,
site_code = item.SiteEn,
account= item.Account
};
......@@ -277,7 +281,7 @@ namespace AutoTurnOver.Services
{
try
{
if (itemV.AmznSpDevAccountObj != null && itemV.AmznSpTokenObj != null && itemV.MarketPlaceObj != null)
if (itemV.AmznSpDevAccountObj != null && itemV.AmznSpTokenObj != null )
{
// 由于token1小时刷新一次,所以个账号要重新从账号系统拉取token
var item = ApiServices.GetAmazonAccountList().FirstOrDefault(s => s.Id == itemV.Id);
......@@ -327,7 +331,7 @@ namespace AutoTurnOver.Services
//report_par_json = reportsItem.ToJson(),
btime = new_task_synchro_log.start_time,
etime = new_task_synchro_log.end_time,
site_code = item.MarketPlaceObj.multiMwsMid,
site_code = item.SiteEn,
};
reportsDb.id = MyMySqlConnection._connection.QueryFirstOrDefault<int?>(" select id from dc_base_amazon_fee_report_log where report_id=@report_id and pams_account_id=@pams_account_id ", new
......@@ -1073,7 +1077,7 @@ namespace AutoTurnOver.Services
/// </summary>
/// <param name="account"></param>
/// <param name="nextToken"></param>
public List<ApiAmzonResponseFinancialEventsDto> GetFees(AmazonAccountDto account, string nextToken, DateTime btime, DateTime etime)
public List<ApiAmzonResponseFinancialEventsDto> GetFeesBak(AmazonAccountDto account, string nextToken, DateTime btime, DateTime etime)
{
Thread.Sleep(505);
Dictionary<string, string> queryParameters = new Dictionary<string, string>();
......@@ -1087,7 +1091,7 @@ namespace AutoTurnOver.Services
queryParameters.Add("MaxResultsPerPage", "100");
queryParameters.Add("PostedAfter", btime.AddHours(-8).ToString("yyyy-MM-ddTHH:mm:ssZ"));
queryParameters.Add("PostedBefore", etime.AddHours(-8).ToString("yyyy-MM-ddTHH:mm:ssZ"));
queryParameters.Add("Marketplace", account.MarketPlaceObj.multiMwsMid);
//queryParameters.Add("Marketplace", account.MarketPlaceObj.multiMwsMid);
}
string response = getResponse(account, "/finances/v0/financialEvents", Method.Get, null, queryParameters);
......@@ -1103,7 +1107,7 @@ namespace AutoTurnOver.Services
}
if (!string.IsNullOrWhiteSpace(obj.payload.NextToken))
{
datas.AddRange(GetFees(account, obj.payload.NextToken, btime, etime));
datas.AddRange(GetFeesBak(account, obj.payload.NextToken, btime, etime));
}
return datas;
......@@ -1122,11 +1126,11 @@ namespace AutoTurnOver.Services
{
AmazonConnection amazonConnection = MapAmazonConnection(account);
var parameters = new ParameterReportList();
parameters.pageSize = 100;
parameters.pageSize = 10;
parameters.reportTypes = new List<ReportTypes>();
parameters.reportTypes.Add(reportType);
parameters.marketplaceIds = new List<string>();
parameters.marketplaceIds.Add(account.MarketPlaceObj.multiMwsMid);
//parameters.marketplaceIds = new List<string>();
//parameters.marketplaceIds.Add(amazonConnection.GetCurrentMarketplace.ID);
parameters.createdSince = btime;
parameters.createdUntil = etime;
var reports = amazonConnection.Reports.GetReports(parameters);
......@@ -1165,7 +1169,7 @@ namespace AutoTurnOver.Services
parameters.dataStartTime = btime;
parameters.dataEndTime = etime;
parameters.marketplaceIds = new MarketplaceIds();
parameters.marketplaceIds.Add(account.MarketPlaceObj.multiMwsMid);
parameters.marketplaceIds.Add(amazonConnection.GetCurrentMarketplace.ID);
parameters.reportOptions = new
ReportOptions()
{ };
......@@ -1207,7 +1211,7 @@ namespace AutoTurnOver.Services
public AmazonConnection MapAmazonConnection(AmazonAccountDto account)
{
var marketPlace = MarketPlace.GetMarketPlaceByID(account.MarketPlaceObj.multiMwsMid);
var marketPlace = MarketPlace.GetMarketplaceByCountryCode(account.SiteEn);
AmazonConnection amazonConnection = new AmazonConnection(new AmazonCredential()
{
AccessKey = account.AmznSpDevAccountObj.aws_access_key,
......@@ -1334,7 +1338,8 @@ namespace AutoTurnOver.Services
/// </summary>
public void SetSettlementByDate()
{
var datas = MyMySqlConnection._connection.Query<dc_base_amazon_fee>(" select * from dc_base_amazon_fee where settlement_id='-' order by id desc limit 100 ").ToList();
var datas = MyMySqlConnection._connection.Query<dc_base_amazon_fee>(" select * from dc_base_amazon_fee where settlement_id='-' order by id desc limit 1000 ").ToList();
//datas = datas.Where(s=>s.id== 264066).ToList();
foreach (var item in datas)
{
//查询同账号下,相同时间节点的费用
......@@ -1352,8 +1357,18 @@ namespace AutoTurnOver.Services
id = item.id
});
}
else
}
}
public void SetMarketplaceNameByDate()
{
var datas = MyMySqlConnection._connection.Query<dc_base_amazon_fee>(" select * from dc_base_amazon_fee where settlement_id='-' and ifnull(MarketplaceNameSys,'')='' order by id desc limit 1000 ").ToList();
//datas = datas.Where(s=>s.id== 263627).ToList();
foreach (var item in datas)
{
//自己的开始时间,是上一个报表的结束时间
var feeSingleData2 = MyMySqlConnection._connection.QueryFirstOrDefault<dc_base_amazon_fee>(" select * from dc_base_amazon_fee where settlement_date_end_str=@settlement_date_str and account=@account and settlement_id!='-' limit 1 ", new
{
......@@ -1362,7 +1377,7 @@ namespace AutoTurnOver.Services
});
if (feeSingleData2 != null)
{
var settlement_data = MyMySqlConnection._connection.QueryFirstOrDefault<dc_base_amazon_settlement>(" select * from dc_base_amazon_settlement where settlement_id=@settlement_id ",new { settlement_id = feeSingleData2.settlement_id});
var settlement_data = MyMySqlConnection._connection.QueryFirstOrDefault<dc_base_amazon_settlement>(" select * from dc_base_amazon_settlement where settlement_id=@settlement_id ", new { settlement_id = feeSingleData2.settlement_id });
if (settlement_data != null)
{
item.MarketplaceName = settlement_data.marketplace_name;
......@@ -1377,7 +1392,6 @@ namespace AutoTurnOver.Services
}
}
}
}
......
......@@ -24,11 +24,11 @@ namespace FikaAmazonAPI.Services
Task.Run(() => GetReportsAsync(parameterReportList)).ConfigureAwait(false).GetAwaiter().GetResult();
public async Task<List<Report>> GetReportsAsync(ParameterReportList parameterReportList, CancellationToken cancellationToken = default)
{
if (parameterReportList.marketplaceIds == null || parameterReportList.marketplaceIds.Count == 0)
{
parameterReportList.marketplaceIds = new List<string>();
parameterReportList.marketplaceIds.Add(AmazonCredential.MarketPlace.ID);
}
//if (parameterReportList.marketplaceIds == null || parameterReportList.marketplaceIds.Count == 0)
//{
// parameterReportList.marketplaceIds = new List<string>();
// parameterReportList.marketplaceIds.Add(AmazonCredential.MarketPlace.ID);
//}
if (parameterReportList.createdSince.HasValue)
{
var totalDays = (parameterReportList.createdSince.Value - DateTime.UtcNow).TotalDays;
......
......@@ -44,6 +44,10 @@ namespace FikaAmazonAPI.Utils
public static MarketPlace GetMarketplaceByCountryCode(string countryCode)
{
if (countryCode == "UK")
{
countryCode = "GB";
}
var list = new List<MarketPlace>();
//NorthAmerica
list.Add(US); list.Add(Canada); list.Add(Mexico); list.Add(Brazil);
......
......@@ -54,12 +54,13 @@ namespace ResetOutofstock
//new AmazonDataSynchroService().SynchroFinancialEventGroups();
//new AmazonDataSynchroService().SetMarketplaceName(DateTime.Now);
//new AmazonDataSynchroService().SetSettlementByDate();
//new AmazonDataSynchroService().SetMarketplaceNameByDate();
//new AmazonDataSynchroService().SynchroReportIds();
//new AmazonDataSynchroService().SynchroReportIds(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_V2_SETTLEMENT_REPORT_DATA_XML, 12, "Siqidzi");
//new AmazonDataSynchroService().SynchroReportIds(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_V2_SETTLEMENT_REPORT_DATA_XML, 13, "Siqidzi","BE");
//while (true)
//{
// new AmazonDataSynchroService().AnaReport(status:-1);
// new AmazonDataSynchroService().AnaReport(status:-3);
//}
//new AmazonDataSynchroService().AnaReport(data_id: "17339571721");
}
......
......@@ -623,7 +623,7 @@ namespace ResetOutofstock
try
{
Console.WriteLine($"开始 拉取亚马逊费用流水,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
new AmazonDataSynchroService().SynchroReportIds(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_V2_SETTLEMENT_REPORT_DATA_XML,12);
new AmazonDataSynchroService().SynchroReportIds(FikaAmazonAPI.Utils.Constants.ReportTypes.GET_V2_SETTLEMENT_REPORT_DATA_XML,13);
Console.WriteLine($"结束 拉取亚马逊费用流水,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
Thread.Sleep(1000 * 60 * 3 );
}
......@@ -760,6 +760,7 @@ namespace ResetOutofstock
{
Console.WriteLine($"开始 提现记录追溯结算id,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
new AmazonDataSynchroService().SetSettlementByDate();
new AmazonDataSynchroService().SetMarketplaceNameByDate();
Console.WriteLine($"结束 提现记录追溯结算id,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
Thread.Sleep(1000 * 3 );
}
......
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