Commit 653ba1f5 by jianshuqin

新增服务:同步4K接口的Amazon广告费

parent 8bc95152
......@@ -42,7 +42,7 @@ namespace Bailun.DC.Common
/// </summary>
public static string DcJavaUrl = "http://finance-balance-sheet.data-center-job:8080";
#endif
public static string OAUrl = "http://www.bailuntec.com";
public static string OAUrl = "http://oa.bailuntec.com";
/// <summary>
/// 数据仓库
......
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
<LangVersion>latest</LangVersion>
<AssemblyName>Bailun.DC.SyncAmazonAdFee</AssemblyName>
<RootNamespace>Bailun.DC.SyncAmazonAdFee</RootNamespace>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="2.0.35" />
<PackageReference Include="Dapper.SimpleCRUD" Version="2.2.0.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.7" />
<PackageReference Include="MySql.Data" Version="8.0.21" />
<PackageReference Include="Newtonsoft.Json" Version="10.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Bailun.DC.Common\Bailun.DC.Common.csproj" />
</ItemGroup>
</Project>
FROM microsoft/dotnet:2.1-runtime AS base
WORKDIR /app
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY Bailun.DC.SyncAmazonAdFee/Bailun.DC.SyncAmazonAdFee.csproj Bailun.DC.SyncAmazonAdFee/
COPY Bailun.DC.Common/Bailun.DC.Common.csproj Bailun.DC.Common/
RUN dotnet restore Bailun.DC.SyncAmazonAdFee/Bailun.DC.SyncAmazonAdFee.csproj
COPY . .
WORKDIR /src/Bailun.DC.SyncAmazonAdFee
RUN dotnet build Bailun.DC.SyncAmazonAdFee.csproj -c Release -o /app
FROM build AS publish
RUN dotnet publish Bailun.DC.SyncAmazonAdFee.csproj -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Bailun.DC.SyncAmazonAdFee.dll"]
namespace Bailun.DC.SyncAmazonAdFee.Models
{
public class dc_base_company_account
{
/// <summary>
/// ID
/// </summary>
public int id { get; set; }
/// <summary>
/// 公司ID
/// </summary>
public int company_id { get; set; }
/// <summary>
/// 账号ID
/// </summary>
public int account_id { get; set; }
/// <summary>
/// 站点
/// </summary>
public string site_en { get; set; }
/// <summary>
/// 销售账号ID
/// </summary>
public string seller_id { get; set; }
}
}
using Newtonsoft.Json;
using System;
namespace Bailun.DC.SyncAmazonAdFee.Models
{
public class dc_base_finance_amazon_ad_product : response_amazon_ad_fee
{
/// <summary>
///
/// </summary>
[JsonIgnore]
public long id { get; set; }
/// <summary>
/// 帐号ID
/// </summary>
public int account_id { get; set; }
/// <summary>
/// 公司ID
/// </summary>
public int company_id { get; set; }
/// <summary>
/// 本地创建时间
/// </summary>
public DateTime bj_create_time { get; set; }
/// <summary>
/// 本地更新时间
/// </summary>
public DateTime bj_modify_time { get; set; }
/// <summary>
/// 转人民币汇率
/// </summary>
public decimal exchange_rate { get; set; }
/// <summary>
/// 转美元汇率
/// </summary>
public decimal exchange_rate_usd { get; set; }
}
}
using Newtonsoft.Json;
using System;
using System.ComponentModel;
namespace Bailun.DC.SyncAmazonAdFee.Models
{
public class response_amazon_ad_fee
{
/// <summary>
/// 数据ID
/// </summary>
[JsonProperty("id")]
public long? data_id { get; set; }
/// <summary>
/// 广告系列名称
/// </summary>
[JsonProperty("campaignName")]
public string campaign_name { get; set; }
/// <summary>
/// 广告系列唯一ID
/// </summary>
[JsonProperty("campaignId")]
public string campaign_id { get; set; }
/// <summary>
/// 广告组名称
/// </summary>
[JsonProperty("adGroupName")]
public string ad_group_name { get; set; }
/// <summary>
/// 广告组唯一ID
/// </summary>
[JsonProperty("adGroupId")]
public string ad_group_id { get; set; }
/// <summary>
/// 广告总展示次数
/// </summary>
public int? impressions { get; set; }
/// <summary>
/// 广告总点击次数
/// </summary>
public int? clicks { get; set; }
/// <summary>
/// 所有点击总费用
/// </summary>
public decimal? cost { get; set; }
/// <summary>
/// 币种
/// </summary>
public string currency { get; set; }
/// <summary>
/// ASIN
/// </summary>
public string asin { get; set; }
/// <summary>
/// 平台SKU
/// </summary>
public string sku { get; set; }
/// <summary>
/// 7天内归因转化事件数
/// </summary>
[JsonProperty("AttributedConversions7d")]
public int? attributed_conversions_sevenday { get; set; }
/// <summary>
///
/// </summary>
[JsonProperty("AttributedConversions7dSameSKU")]
public string attributed_conversions_sevenday_same_sku { get; set; }
/// <summary>
/// 7天内订购归属单位数量
/// </summary>
[JsonProperty("AttributedUnitsOrdered7d")]
public int? attributed_units_ordered_sevenday { get; set; }
/// <summary>
/// 7天内归因销售数量
/// </summary>
[JsonProperty("AttributedSales7d")]
public int? attributed_sales_sevenday { get; set; }
/// <summary>
///
/// </summary>
[JsonProperty("AttributedSales7dSameSKU")]
public string attributed_sales_sevenday_same_sku { get; set; }
/// <summary>
///
/// </summary>
[JsonProperty("AttributedUnitsOrdered7dSameSKU")]
public string attributed_units_ordered_sevenday_same_sku { get; set; }
/// <summary>
/// 报告时间
/// </summary>
[JsonProperty("belongDate")]
public DateTime? report_date { get; set; }
/// <summary>
/// 4K数据更新时间
/// </summary>
[JsonProperty("updateTime")]
public DateTime? operation_time { get; set; }
/// <summary>
/// 广告类型 0:sp广告,1:sd广告 ,2:sb广告,3:sbv广告
/// </summary>
public int? type { get; set; }
}
}
using System;
namespace Bailun.DC.SyncAmazonAdFee.Models
{
public class response_exchange_rate
{
public decimal Rate { get; set; }
public string ToCurName { get; set; }
public DateTime CreateTime { get; set; }
}
}
using Newtonsoft.Json;
using System.Collections.Generic;
namespace Bailun.DC.SyncAmazonAdFee.Models
{
public class response_result
{
public int code { get; set; }
[JsonProperty("msg")]
public string message { get; set; }
public response_result_detail details { get; set; }
}
public class response_result_detail
{
public int total { get; set; }
public IList<response_amazon_ad_fee> list { get; set; }
}
}
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.Threading.Tasks;
namespace Bailun.DC.SyncAmazonAdFee
{
class Program
{
static async Task Main(string[] args)
{
Console.WriteLine("启动新数据中心同步任务 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Services>();
});
await builder.RunConsoleAsync();
}
//测试
//static void Main(string[] args)
//{
// Console.WriteLine("开始启动 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
// DateTime? btime = new DateTime(2021, 8, 1);
// DateTime? etime = DateTime.Today;
// try
// {
// var _service = new Services();
// _service.Init(btime, etime);
// }
// catch (Exception ex)
// {
// Console.WriteLine(ex.Message);
// }
// Console.WriteLine("任务运行完成 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
//}
}
}
......@@ -97,6 +97,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.SyncMonthStockWei
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.SyncShopifyFee", "Bailun.DC.SyncShopifyFee\Bailun.DC.SyncShopifyFee.csproj", "{9A19AF60-5891-4C35-A021-2DE58415373D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.SyncAmazonAdFee", "Bailun.DC.SyncAmazonAdFee\Bailun.DC.SyncAmazonAdFee.csproj", "{6FD93D1A-ABF6-4DE1-96A6-5D48BB756A04}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -287,6 +289,10 @@ Global
{9A19AF60-5891-4C35-A021-2DE58415373D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A19AF60-5891-4C35-A021-2DE58415373D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A19AF60-5891-4C35-A021-2DE58415373D}.Release|Any CPU.Build.0 = Release|Any CPU
{6FD93D1A-ABF6-4DE1-96A6-5D48BB756A04}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6FD93D1A-ABF6-4DE1-96A6-5D48BB756A04}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6FD93D1A-ABF6-4DE1-96A6-5D48BB756A04}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6FD93D1A-ABF6-4DE1-96A6-5D48BB756A04}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -331,6 +337,7 @@ Global
{C4C4990D-14DC-4B76-A7EB-6F3FC5BE8B94} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{66D159A3-63A6-4900-AB21-C04ADE5A3D01} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{9A19AF60-5891-4C35-A021-2DE58415373D} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{6FD93D1A-ABF6-4DE1-96A6-5D48BB756A04} = {AE2CE86A-8538-4142-920F-684DCF47C064}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6E53AF28-A282-4FB0-A769-EAEA9769C02A}
......
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