Commit 30aa0566 by lizefeng

亚马逊结算表设置项目

parent 9f5d938d
......@@ -1027,5 +1027,32 @@ where t1.`code`=@code limit 1
throw new Exception("推送调拨计划异常");
}
}
/// <summary>
/// 查询项目映射
/// </summary>
/// <param name="skus"></param>
/// <returns></returns>
public static ProjectMapDto GetProjectMap(NewQueryFilterDTO data)
{
try
{
var url = ConfigHelper.GetValue("NewDateCenter:ProjectData");
var response_json = HttpHelper.Request(url, RequestType.POST, data.ToJson(), entype: "application/json", timeout: 1000 * 60 * 30);
var rData = response_json.ToObj<ProjectMapDto>();
if (rData.code!=200)
{
throw new Exception("查询项目映射异常:"+rData.msg);
}
else
{
return rData;
}
}
catch (Exception ex)
{
throw new Exception("查询项目映射异常");
}
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models.ApiDto
{
/// <summary>
/// 项目映射配置
/// </summary>
public class ProjectMapDto
{
public int code { get; set; }
public string msg { get; set; }
public data_dto data { get; set; }
public class data_dto
{
public List<data_list_dto> list { get; set; }
}
public class data_list_dto
{
/// <summary>
///
/// </summary>
public string id { get; set; } = "";
/// <summary>
///
/// </summary>
public int type { get; set; }
/// <summary>
/// 销售
/// </summary>
public string type_name { get; set; } = "";
/// <summary>
///
/// </summary>
public string main_project_id { get; set; } = "";
/// <summary>
/// 电商
/// </summary>
public string main_project_name { get; set; } = "";
/// <summary>
/// 子项目
/// </summary>
public string sub_project_name { get; set; } = "";
/// <summary>
///
/// </summary>
public string platform_id { get; set; } = "";
/// <summary>
///
/// </summary>
public string platform_en { get; set; } = "";
/// <summary>
/// 易趣
/// </summary>
public string platform_ch { get; set; } = "";
/// <summary>
///
/// </summary>
public string site_id { get; set; } = "";
/// <summary>
///
/// </summary>
public string site_en { get; set; } = "";
/// <summary>
/// 澳大利亚
/// </summary>
public string site_ch { get; set; } = "";
/// <summary>
///
/// </summary>
public string account { get; set; } = "";
/// <summary>
///
/// </summary>
public string bailun_sku { get; set; } = "";
}
}
public class NewQueryFilterDTO : QueryFilterDTO
{
public string modelId { get; set; }
}
public class QueryFilterDTO
{
/// <summary>
/// 编码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 当前页
/// </summary>
public int? CurrentPage { get; set; }
/// <summary>
/// 每页数量
/// </summary>
public int? PageSize { get; set; }
/// <summary>
/// 字段过虑条件
/// </summary>
public List<FieldFilterDTO> ListFilter { get; set; }
/// <summary>
/// 字段排序
/// </summary>
public List<FieldOrderDTO> ListOrder { get; set; }
/// <summary>
/// 查询字段
/// </summary>
public List<FieldOrderDTO> ListField { get; set; }
}
public class FieldFilterDTO : FieldOrderDTO
{
public string Value { get; set; }
}
public class FieldOrderDTO
{
/// <summary>
/// 字段名称
/// </summary>
public string Field { get; set; }
/// <summary>
/// 操作
/// </summary>
public string Operator { get; set; }
}
}
......@@ -7,6 +7,7 @@ namespace AutoTurnOver.Models
public class dc_base_amazon_fee
{
public int id { get; set; }
public string project { get; set; }
public string data_id { get; set; }
public string account { get; set; }
public string SellerOrderId { get; set; }
......
......@@ -38,6 +38,7 @@ namespace AutoTurnOver.Services
// 拉取亚马逊账号
var amazonAccounts = ApiServices.GetAmazonAccountList();
//amazonAccounts = amazonAccounts.Where(s => s.Account == "Ruby Store17" && s.SiteEn=="US").ToList();
var maps = ApiUtility.GetProjectMap(new NewQueryFilterDTO { modelId = "309227134293902597",CurrentPage=1,PageSize=10000, ListFilter = new List<FieldFilterDTO> { new FieldFilterDTO { Field = "type", Operator = "in", Value = "10" } } });
foreach (var item in amazonAccounts)
{
try
......@@ -45,7 +46,7 @@ namespace AutoTurnOver.Services
if (item.AmznSpDevAccountObj != null && item.AmznSpTokenObj != null)
{
var task_name = $"SynchroAmazonFinancialEventGroups_v11_{item.Id}";
var task_name = $"SynchroAmazonFinancialEventGroups_v12_{item.Id}";
// 查询最后一次成功抓取的记录
var last_task_synchro_log = MyMySqlConnection._connection.QuerySingleOrDefault<task_synchro_log>(" select * from task_synchro_log where task_name=@task_name and status=1 order by end_time desc limit 1 ", new { task_name = task_name });
......@@ -103,10 +104,15 @@ namespace AutoTurnOver.Services
transferFee.other = transferFee.total;
transferFee.data_id = $"{feeItem.TraceId}_{transferFee.type}_{transferFee.AmazonOrderId}";
transferFee.id = MyMySqlConnection._connection.QueryFirstOrDefault<int?>(" select id from dc_base_amazon_fee where data_id=@data_id ", new { data_id = transferFee.data_id }) ?? 0;
SetProject(maps.data.list,transferFee);
if (transferFee.id == 0)
{
MyMySqlConnection._connection.Insert(transferFee);
}
else
{
MyMySqlConnection._connection.Update(transferFee);
}
}
......@@ -344,6 +350,8 @@ namespace AutoTurnOver.Services
/// </summary>
public void AnaReport(int status = 0, string data_id = "")
{
var maps = ApiUtility.GetProjectMap(new NewQueryFilterDTO { modelId = "309227134293902597", CurrentPage = 1, PageSize = 10000, ListFilter = new List<FieldFilterDTO> { new FieldFilterDTO { Field = "type", Operator = "in", Value = "10" } } });
var reportTypeEnum = ReportTypes.GET_V2_SETTLEMENT_REPORT_DATA_XML;
//var reportTypeEnum = ReportTypes.GET_V2_SETTLEMENT_REPORT_DATA_FLAT_FILE_V2;
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 desc limit 1 ", new
......@@ -533,6 +541,7 @@ namespace AutoTurnOver.Services
{
try
{
SetProject(maps.data.list, feeItem);
feeItem.MarketplaceNameSys = marketplaceNameSys;
feeItem.start_date = settlementDbData.start_date;
feeItem.end_date = settlementDbData.end_date;
......@@ -577,6 +586,18 @@ namespace AutoTurnOver.Services
MyMySqlConnection._connection.Update(ana_task);
}
//计算项目映射
public void SetProject(List<ProjectMapDto.data_list_dto> maps,dc_base_amazon_fee fee)
{
// 账号
var thisMaps = maps.Where(s => s.account == "" || s.account.Equals(fee.account, StringComparison.OrdinalIgnoreCase)).ToList();
if (thisMaps != null && thisMaps.Count >= 1)
{
var firstData = thisMaps.OrderByDescending(s => s.account).OrderByDescending(s => s.site_en).OrderByDescending(s => s.platform_en).FirstOrDefault();
fee.project = string.IsNullOrWhiteSpace(firstData.sub_project_name) ? firstData.main_project_name : firstData.sub_project_name;
}
}
/// <summary>
/// 中文类型映射
/// </summary>
......
......@@ -54,6 +54,9 @@
"ad-fee": "http://btm.bailuntec.com/ScrmApi/api/ApiGetAdFeeDayFull",
"order-refund": "http://btm.bailuntec.com/ScrmApi/api/ApiGetOrderRefundLog"
},
"NewDateCenter": {
"ProjectData": "https://web.bailuntec.com/gateway/system/api/visualdev/ComponentTable/ListData"
},
"RabbitMQ": {
"Host": "rabbitmq.bailuntec.com",
"Port": "6783",
......
......@@ -55,6 +55,9 @@
"ad-fee": "http://btm.bailuntec.com/ScrmApi/api/ApiGetAdFeeDayFull",
"order-refund": "http://btm.bailuntec.com/ScrmApi/api/ApiGetOrderRefundLog"
},
"NewDateCenter": {
"ProjectData": "https://web.bailuntec.com/gateway/system/api/visualdev/ComponentTable/ListData"
},
"RabbitMQ": {
"Host": "10.0.6.36",
"UserName": "bailun",
......
......@@ -55,6 +55,9 @@
"ad-fee": "http://btm.bailuntec.com/ScrmApi/api/ApiGetAdFeeDayFull",
"order-refund": "http://btm.bailuntec.com/ScrmApi/api/ApiGetOrderRefundLog"
},
"NewDateCenter": {
"ProjectData": "https://web.bailuntec.com/gateway/system/api/visualdev/ComponentTable/ListData"
},
"RabbitMQ": {
"Host": "10.0.6.36",
"UserName": "bailun",
......
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