需求背景:
目前ERP中,广告费有两种扣款方式,一种是余额扣款,另一种则是通过信用卡扣款,目前从信用卡中扣款的费用未对接;每月金额约300W;
需求描述:
现有逻辑:
ERP中的广告费,会每天从广告系统中获取每天的金额,在月底最后一天,会获取整个月的账单金额,用账单总金额-广告系统金额的差值,进行差额的更新;
当此广告费是从信用卡扣款而不是从账单扣款时,该店铺该月广告费账单的总金额为0,因此会把该店铺广告系统的金额置位0,此结果不正确;
修改逻辑:
在月底最后一天,获取整个月的广告费的账单总金额+发票广告费信用卡部分金额,用此金额-广告系统计算差值,进行差额更新,并计算到订单利润报表中;
接口请求地址:https://advertising-api.amazon.com/invoices?count=100
请求头信息:
curl --location --request GET 'https://advertising-api.amazon.com/invoices?count=100' \
--header 'Amazon-Advertising-API-ClientId: amzn1.application-oa2-client.bb835f08d5654ef88976a8b79bf14608' \
--header 'Amazon-Advertising-API-Scope: 3335318808841364' \
--header 'Authorization: Bearer Atza|IwEBIO8SuZYtyJn3Lu-HAzNc0tjHpbz1cMxjHKhqfGDF09WVzUWpAScULGDgTs49eqY5qP0szH5A-Tokr4hrmE6zoK82oL4mXP71w5DX00eYi5L71LSDHc86v6mkkcFib-1_LnfjpwsjRU2IG-FmEnQPxmcwuUO-ds1aDl701X7NhkAxzQfeUzLMyKIogukuirbKWhyNxZEavTvcCvbEPHYk5kSM_co5lTUh6ye7zo5KhfojZiFQDhrX94ADNrXj0ttF6meDdQi-ybkjShfipjQvlN0ainKKGjE90A709c0RZzRaWd4R8Cs6CL_ibbm734dKjNtPcVdvabI1SwTmMbmYHOezJn3-WcRq60uqET38lvn_oaPHr3gndBGEw_wTp_XcrpNziS3gT_d0l_BBMM0BC4HhKKLWUXTnVxIIpnelScAJoycX-BcesnIh74eNgiF_KnQ'
请求结果示例:
响应:
{
"status": "success",
"payload": {
"nextCursor": "eyJpbnZvaWNlSWQiOjEwNjM5NDM5NSwiaW52b2ljZURhdGUiOjE2NDU0Njk0MDEwMDAsImludm9pY2VTdGF0dXNlcyI6WzAsOSwyLDMsNCw3LDEzLDE0LDE1LDE2LDE3LDE4LDE5LDIwLDIxLDIyXSwiY291bnQiOjExLCJpc0JhY2tDdXJzb3IiOmZhbHNlfQ==",
"invoiceSummaries": [
{
"id": "TRNCD1B75-1379",
"status": "ACCUMULATING",
"fromDate": "20220315",
"amountDue": {
"amount": 178.44,
"currencyCode": "USD"
},
"remainingAmountDue": {
"amount": 178.44,
"currencyCode": "USD"
}
测试环境:主干1商户
验证场景:
一、新增数据库表:RB_Amazon_Advertising_Invoices_Data
二、下载广告费后,新增数据到该表中RB_Amazon_Advertising_Invoices_Data(测试过程中,让开发调试代码下载下来的,因为服务是指针对上个月的数据下载,让开发把时间拉到2021年12月份)
三、服务执行逻辑如下
条件
1、RB_Amazon_Advertising_Invoices_Data.IsBuildFee = 0;
RB_Amazon_Advertising_Invoices_Data.BuildFeeTime = null
RB_Amazon_Advertising_Invoices_Data.InvoiceDate = 当前月份上个月的时间
RB_Amazon_Advertising_Invoices_Data.OrderSourceid in RB_OrderSource.ID 且RB_OrderSource.IsDelete = 0
RB_Amazon_Boutique_Recored.IsBoutique.IsOpenAmazonStorageShare.IsOpenAmazonAdvertShare = 1 --是精品店铺且分摊开启
四、
1、精品店铺
select * from RB_Amazon_Boutique_Recored where CustomerID=1 and OrderSourceID=5699 and BoutiqueMonth='2022-03-01'
执行服务前
--信用卡
select top 10 Amount,OrderSourceid,IsBuildFee,BuildFeeTime,InvoiceID,addtime,InvoiceDate,*
from RB_Amazon_Advertising_Invoices_Data
where OrderSourceID = 5699
执行服务后
--信用卡
select top 10 Amount,OrderSourceid,IsBuildFee,BuildFeeTime,InvoiceID,addtime,InvoiceDate,*
from RB_Amazon_Advertising_Invoices_Data
where OrderSourceID = 5699
--订单利润表
SELECT top 100 OrderDescription,ADDTIME,CostOfAdvertising,* from RB_Report_OrderSettlement where OrderSourceID = 5699 ORDER BY id desc
2、非精品店铺
select * from RB_Amazon_Boutique_Recored where CustomerID=1 and OrderSourceID=5699 and BoutiqueMonth='2022-03-01'
执行服务前
执行服务后