Commit 2cbf94f5 by guanzhenshan

增加同步SKU库存、缺货、待发货、在途、销量数据服务

parent 441bc551
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
<LangVersion>latest</LangVersion>
</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" />
</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.SkuStatistics/Bailun.DC.SkuStatistics.csproj Bailun.DC.SkuStatistics/
COPY Bailun.DC.Common/Bailun.DC.Common.csproj Bailun.DC.Common/
RUN dotnet restore Bailun.DC.SkuStatistics/Bailun.DC.SkuStatistics.csproj
COPY . .
WORKDIR /src/Bailun.DC.SkuStatistics
RUN dotnet build Bailun.DC.SkuStatistics.csproj -c Release -o /app
FROM build AS publish
RUN dotnet publish Bailun.DC.SkuStatistics.csproj -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "Bailun.DC.SkuStatistics.dll"]
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.SkuStatistics.Models
{
public class dc_mid_sku_statistics
{
public int id { get; set; }
public string bailun_sku { get; set; }
/// <summary>
/// 库存数量
/// </summary>
public int? count_stock { get; set; }
/// <summary>
/// 库存金额
/// </summary>
public decimal? amount_stock { get; set; }
/// <summary>
/// 采购在途
/// </summary>
public int? count_onway_purchase { get; set; }
/// <summary>
/// 采购在途金额
/// </summary>
public decimal? amount_onway_purchase { get; set; }
/// <summary>
/// 调拨在途
/// </summary>
public int? count_onway_allot { get; set; }
/// <summary>
/// 调拨在途金额
/// </summary>
public decimal? amount_onway_allot { get; set; }
/// <summary>
/// 待发货
/// </summary>
public int? count_unshipping { get; set; }
/// <summary>
/// 缺货
/// </summary>
public int? count_outstock { get; set; }
/// <summary>
/// 昨日销量
/// </summary>
public int? one_day_sale_count { get; set; }
/// <summary>
/// 昨日销售额
/// </summary>
public decimal? one_day_sale_amount { get; set; }
/// <summary>
/// 7天销量
/// </summary>
public int? seven_day_sale_count { get; set; }
/// <summary>
/// 14天销售额
/// </summary>
public int? fourteen_day_sale_count { get; set; }
/// <summary>
/// 30天销售额
/// </summary>
public int? thirty_day_sale_count { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
public DateTime lastupdatetime { get; set; }
}
}
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.Threading.Tasks;
namespace Bailun.DC.SkuStatistics
{
class Program
{
/// <summary>
/// 同步SKU库存、缺货、待发货、在途、销量数据
/// </summary>
/// <param name="args"></param>
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("Hello World!");
// var _service = new Services();
// //_service.UpdateStock();
// //_service.UpdateOnWay();
// //_service.UpdateShipping();
// //_service.UpdateSale();
//}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Dapper;
using Microsoft.Extensions.Hosting;
using MySql.Data.MySqlClient;
namespace Bailun.DC.SkuStatistics
{
public class Services : BackgroundService
{
private Timer _timer;
protected override Task ExecuteAsync(CancellationToken stoppingToken)
{
_timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(1));
return Task.CompletedTask;
}
private void DoWork(object state)
{
try
{
var now = DateTime.Now;
if (now.Minute % 10 == 0) //每10分钟同步一次
{
UpdateStock();
UpdateOnWay();
}
if (now.Hour == 9 && now.Minute == 3)
{
UpdateShipping();
}
if (now.Hour == 6 && now.Minute == 3)
{
UpdateSale();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
public Services()
{
Dapper.SimpleCRUD.SetDialect(SimpleCRUD.Dialect.MySQL);
}
/// <summary>
/// 更新库存信息
/// </summary>
public void UpdateStock()
{
Console.WriteLine("启动更新库存信息服务 "+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
var sql = $@"select t1.bailun_sku,t1.usable_stock as count_stock,t2.unit_price*t1.usable_stock as amount_stock from (select t1.bailun_sku,sum(t1.usable_stock+t1.occupy_stock) as usable_stock from dc_base_stock t1
where (t1.usable_stock+t1.occupy_stock)>0
group by t1.bailun_sku) t1
join dc_base_sku t2 on t1.bailun_sku=t2.bailun_sku";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var list = cn.Query<Models.dc_mid_sku_statistics>(sql, null, null, true, 6 * 60);
if (list.AsList().Count > 0)
{
cn.Execute("update dc_mid_sku_statistics set count_stock=0,amount_stock=0;");
foreach (var item in list)
{
var result = cn.Execute("update dc_mid_sku_statistics set count_stock=" + item.count_stock + ",amount_stock=" + item.amount_stock + " where bailun_sku='" + item.bailun_sku + "'");
if (result == 0)
{
cn.Insert(new Models.dc_mid_sku_statistics {
bailun_sku = item.bailun_sku,
count_stock = item.count_stock,
amount_stock = item.amount_stock,
lastupdatetime = DateTime.Now,
amount_onway_allot = 0,
amount_onway_purchase = 0,
count_onway_allot = 0,
one_day_sale_amount = 0,
count_onway_purchase = 0,
count_outstock = 0,
count_unshipping = 0,
fourteen_day_sale_count = 0,
one_day_sale_count = 0,
seven_day_sale_count = 0,
thirty_day_sale_count = 0,
});
}
}
}
}
Console.WriteLine("更新库存信息服务完成 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
/// <summary>
/// 更新在途信息
/// </summary>
public void UpdateOnWay()
{
Console.WriteLine("启动更新在途服务 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
var sql = $@"select t1.bailun_sku,t1.quantity_purchase as count_onway_purchase,t1.quantity_transfer as count_onway_allot,(t1.quantity_purchase*t2.unit_price) as amount_onway_purchase,(t1.quantity_transfer*t2.unit_price) as amount_onway_allot from (select t1.bailun_sku,sum(t1.quantity_purchase) as quantity_purchase,sum(t1.quantity_transfer) as quantity_transfer from dc_mid_transit t1
where(t1.quantity_purchase + t1.quantity_transfer) > 0
group by t1.bailun_sku) t1
join dc_base_sku t2 on t1.bailun_sku = t2.bailun_sku";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var list = cn.Query<Models.dc_mid_sku_statistics>(sql, null, null, true, 6 * 60);
if (list.AsList().Count > 0)
{
cn.Execute("update dc_mid_sku_statistics set count_onway_purchase=0,count_onway_allot=0,amount_onway_purchase=0,amount_onway_allot=0;");
foreach (var item in list)
{
var result = cn.Execute("update dc_mid_sku_statistics set count_onway_purchase=" + item.count_onway_purchase + ",count_onway_allot=" + item.count_onway_allot + ",amount_onway_purchase="+item.amount_onway_purchase+ ",amount_onway_allot="+item.amount_onway_allot + " where bailun_sku='" + item.bailun_sku + "'");
if (result == 0)
{
cn.Insert(new Models.dc_mid_sku_statistics
{
bailun_sku = item.bailun_sku,
count_stock = 0,
amount_stock = 0,
lastupdatetime = DateTime.Now,
amount_onway_allot = item.amount_onway_allot,
amount_onway_purchase = item.amount_onway_purchase,
count_onway_allot = item.count_onway_allot,
count_onway_purchase = item.count_onway_purchase,
count_outstock = 0,
count_unshipping = 0,
one_day_sale_amount = 0,
fourteen_day_sale_count = 0,
one_day_sale_count = 0,
seven_day_sale_count = 0,
thirty_day_sale_count = 0,
});
}
}
}
}
Console.WriteLine("更新在途服务完成 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
/// <summary>
/// 更新发货信息,待发货和缺货数据
/// </summary>
public void UpdateShipping()
{
Console.WriteLine("启动更新未发货、缺货服务 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
//未发货的
var sql = $@"select t1.bailun_sku,sum(t1.bailun_sku_quantity_ordered-t1.bailun_sku_quantity_shipped) as count_unshipping from dc_base_oms_sku t1
where t1.bailun_sku_quantity_ordered>t1.bailun_sku_quantity_shipped and t1.bailun_order_status='Handling' and t1.has_delete = 0 and t1.has_scalp=0 and t1.platform_order_status!='Completed' and bailun_interception_status='None' and t1.purchase_create_time>'2020-01-01'
group by t1.bailun_sku;";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var list = cn.Query<Models.dc_mid_sku_statistics>(sql, null, null, true, 6 * 60);
if (list.AsList().Count > 0)
{
cn.Execute("update dc_mid_sku_statistics set count_unshipping=0");
foreach (var item in list)
{
var result = cn.Execute("update dc_mid_sku_statistics set count_unshipping=" + item.count_unshipping + " where bailun_sku='" + item.bailun_sku + "'");
if (result == 0)
{
cn.Insert(new Models.dc_mid_sku_statistics
{
bailun_sku = item.bailun_sku,
count_stock = 0,
amount_stock = 0,
lastupdatetime = DateTime.Now,
amount_onway_allot = 0,
amount_onway_purchase = 0,
count_onway_allot = 0,
count_onway_purchase = 0,
count_outstock = 0,
count_unshipping = item.count_unshipping,
one_day_sale_amount = 0,
fourteen_day_sale_count = 0,
one_day_sale_count = 0,
seven_day_sale_count = 0,
thirty_day_sale_count = 0,
});
}
}
}
}
//缺货的
sql = $@"select t1.bailun_sku,sum(t1.quantity_out_stock) as count_outstock from dc_auto_turnover t1 where t1.status=1 and t1.quantity_out_stock>0 group by t1.bailun_sku";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var list = cn.Query<Models.dc_mid_sku_statistics>(sql, null, null, true, 6 * 60);
if (list.AsList().Count > 0)
{
cn.Execute("update dc_mid_sku_statistics set count_outstock=0");
foreach (var item in list)
{
var result = cn.Execute("update dc_mid_sku_statistics set count_outstock=" + item.count_outstock + " where bailun_sku='" + item.bailun_sku + "'");
if (result == 0)
{
cn.Insert(new Models.dc_mid_sku_statistics
{
bailun_sku = item.bailun_sku,
count_stock = 0,
amount_stock = 0,
lastupdatetime = DateTime.Now,
amount_onway_allot = 0,
amount_onway_purchase = 0,
count_onway_allot = 0,
count_onway_purchase = 0,
count_outstock = item.count_stock,
count_unshipping = 0,
one_day_sale_amount = 0,
fourteen_day_sale_count = 0,
one_day_sale_count = 0,
seven_day_sale_count = 0,
thirty_day_sale_count = 0,
});
}
}
}
}
Console.WriteLine("更新未发货、缺货服务完成 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
/// <summary>
/// 更新销量信息
/// </summary>
public void UpdateSale()
{
Console.WriteLine("启动更新销量服务 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
var sql = $@"select t1.bailun_sku,sum(t1.oneday_total_sales) as one_day_sale_count,sum(t1.oneday_total_sales_amount) as one_day_sale_amount,sum(t1.sevenday_total_sales) as seven_day_sale_count,sum(t1.fourteenday_total_sales) as fourteen_day_sale_count,sum(t1.thirtyday_total_sales) as thirty_day_sale_count from dc_daily_sales t1 where t1.record_date='{DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")}' group by t1.bailun_sku";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var list = cn.Query<Models.dc_mid_sku_statistics>(sql, null, null, true, 6 * 60);
if (list.AsList().Count > 0)
{
cn.Execute("update dc_mid_sku_statistics set one_day_sale_count=0");
foreach (var item in list)
{
var result = cn.Execute("update dc_mid_sku_statistics set one_day_sale_count=" + item.one_day_sale_count + ",one_day_sale_amount="+item.one_day_sale_amount + ",seven_day_sale_count=" + item.seven_day_sale_count + ",fourteen_day_sale_count="+item.fourteen_day_sale_count+ ",thirty_day_sale_count="+item.thirty_day_sale_count+ " where bailun_sku='" + item.bailun_sku + "'");
if (result == 0)
{
cn.Insert(new Models.dc_mid_sku_statistics
{
bailun_sku = item.bailun_sku,
count_stock = 0,
amount_stock = 0,
lastupdatetime = DateTime.Now,
amount_onway_allot = 0,
amount_onway_purchase = 0,
count_onway_allot = 0,
count_onway_purchase = 0,
count_outstock = 0,
count_unshipping = 0,
one_day_sale_amount = item.one_day_sale_amount,
fourteen_day_sale_count = item.fourteen_day_sale_count,
one_day_sale_count = item.one_day_sale_count,
seven_day_sale_count = item.seven_day_sale_count,
thirty_day_sale_count = item.thirty_day_sale_count,
});
}
}
}
}
Console.WriteLine("更新销量服务完成 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
}
}
......@@ -77,7 +77,7 @@ namespace Bailun.DC.Web.Controllers
public ActionResult Main()
{
#if DEBUG
var cookie = "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdhZDA5MjQ5ZDk0ZDgxN2VhNmI5ZThhMTc1MzlmNmY3IiwidHlwIjoiSldUIn0.eyJuYmYiOjE1OTg5NDY1NjAsImV4cCI6MTU5ODk4MjU2MCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMS9yZXNvdXJjZXMiLCJiYWlsdW5BcGkiXSwiY2xpZW50X2lkIjoiYmFpbHVuQ2xpZW50Iiwic3ViIjoi5YWz5oyv5bGxIiwiYXV0aF90aW1lIjoxNTk4OTQ2NTYwLCJpZHAiOiJsb2NhbCIsIlVzZXJJZCI6IjIzNDYiLCJzdWNlc3NzIjoidHJ1ZSIsIkNvbXBhbnkiOiJ7XCJJZFwiOjEsXCJDb21wYW55Q29kZVwiOlwiYmFpbHVuXCIsXCJDb21wYW55TmFtZVwiOlwi5bm_5bee55m-5Lym5L6b5bqU6ZO-5pyJ6ZmQ5YWs5Y-4XCJ9IiwiQWxsQ29tcGFueSI6IkZhbHNlIiwiVXNlckNvZGVOZXciOiJCTDExNjkiLCJVc2VyQ29kZSI6IkJMMTE3MCIsIk9hVXNlcklkIjoiMjM0NiIsIkRlcGFydG1lbnQiOiJ7XCJEZXBhcnRtZW50SWRcIjoyNTgsXCJOYW1lXCI6XCLmlbDmja7kuK3lv4NcIixcIkNvZGVcIjpcIlwifSIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJiYWlsdW5BcGkiXSwiYW1yIjpbImN1c3RvbSJdfQ.s0_ccplgKo18KNZkfPWYn4iAYxltlb12F8fU4K0eIzb5elOAsEvafAgfATZXwW5zJ5EdxkT783X61jUvGxRKwIhHmhsp1z6ekZeSNXvoj6atPXD0R96AzuPGvInvhBELSwQHmlbAPdzKRwPforBv3TGcVqE9sj8wwTIEFE9vrtRvsG0V-tzNj-t7zoJGQL24BS0hYdPG7LHFiCUGnX97Iv7AeealUMtJmO8fJGNzNEAoo1tvUIi96IRISQoKT8ueY8OAidYXon8RBx-cD8ESLYNbvSQLLCu5tun1hO2WnnKVMxtjTEgtXqDbeVZZ18pyD0C-IHEIkY16XwWsNiICUw";
var cookie = "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdhZDA5MjQ5ZDk0ZDgxN2VhNmI5ZThhMTc1MzlmNmY3IiwidHlwIjoiSldUIn0.eyJuYmYiOjE1OTkwMjUwMDUsImV4cCI6MTU5OTA2MTAwNSwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMS9yZXNvdXJjZXMiLCJiYWlsdW5BcGkiXSwiY2xpZW50X2lkIjoiYmFpbHVuQ2xpZW50Iiwic3ViIjoi5YWz5oyv5bGxIiwiYXV0aF90aW1lIjoxNTk5MDI1MDA1LCJpZHAiOiJsb2NhbCIsIlVzZXJJZCI6IjIzNDYiLCJzdWNlc3NzIjoidHJ1ZSIsIkNvbXBhbnkiOiJ7XCJJZFwiOjEsXCJDb21wYW55Q29kZVwiOlwiYmFpbHVuXCIsXCJDb21wYW55TmFtZVwiOlwi5bm_5bee55m-5Lym5L6b5bqU6ZO-5pyJ6ZmQ5YWs5Y-4XCJ9IiwiQWxsQ29tcGFueSI6IkZhbHNlIiwiVXNlckNvZGVOZXciOiJCTDExNjkiLCJVc2VyQ29kZSI6IkJMMTE3MCIsIk9hVXNlcklkIjoiMjM0NiIsIkRlcGFydG1lbnQiOiJ7XCJEZXBhcnRtZW50SWRcIjoyNTgsXCJOYW1lXCI6XCLmlbDmja7kuK3lv4NcIixcIkNvZGVcIjpcIlwifSIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJiYWlsdW5BcGkiXSwiYW1yIjpbImN1c3RvbSJdfQ.X74jEyTmS1QlY7WLKfUps7z2vnyiQq0LhIc17K10C94zqv0F1ovgwddafZT03Kd_noXgLR19erdtGE7htYsxhGqf0uz_G1xllALOw_zbZK0J9LV-RA6a74-lVmBEl-lbLDMLgKDshySGQcn4A-Y9WwccPSgUivaBJjCaTZqGN5mJJAQuv1ofERkRFPEqTAnXo2bID5os80y8hxe8TeckX-9hBJqRIx-9p9zMPY9DU-sa9h1vdGj-_9n2ZtJXHvnvZ90Myi_9WtNrHnhpMNJBgkswfucVV4EnGis8wN7ZLzx8BBoCQ8BwWwYFdyJozG2lvV82Dmhq8N8-EbTqfS78fA";
#else
//var user = Common.HttpHelper.NetHelper.Request("http://sso.bailuntec.com/GetUserResource");
var cookie = HttpContext.Request.Cookies["BailunToken"];
......
......@@ -63,6 +63,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.DailyPurchaseOnWa
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bailun.DC.SyncSkuFinanceCategory", "Bailun.DC.SyncSkuFinanceCategory\Bailun.DC.SyncSkuFinanceCategory.csproj", "{47F8A4B4-D549-4E93-80F7-1B6B8035F7F9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bailun.DC.SkuStatistics", "Bailun.DC.SkuStatistics\Bailun.DC.SkuStatistics.csproj", "{08962ABF-57F6-4B3A-B46E-32B57C1BE126}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -185,6 +187,10 @@ Global
{47F8A4B4-D549-4E93-80F7-1B6B8035F7F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{47F8A4B4-D549-4E93-80F7-1B6B8035F7F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{47F8A4B4-D549-4E93-80F7-1B6B8035F7F9}.Release|Any CPU.Build.0 = Release|Any CPU
{08962ABF-57F6-4B3A-B46E-32B57C1BE126}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{08962ABF-57F6-4B3A-B46E-32B57C1BE126}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08962ABF-57F6-4B3A-B46E-32B57C1BE126}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08962ABF-57F6-4B3A-B46E-32B57C1BE126}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -213,6 +219,7 @@ Global
{6559BFAB-3A8F-47B6-89CC-8E9FB4F89EF1} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{6B9F7624-DE1C-4A54-9947-19124022DEE1} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{47F8A4B4-D549-4E93-80F7-1B6B8035F7F9} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{08962ABF-57F6-4B3A-B46E-32B57C1BE126} = {AE2CE86A-8538-4142-920F-684DCF47C064}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6E53AF28-A282-4FB0-A769-EAEA9769C02A}
......
......@@ -160,3 +160,10 @@ services:
context: .
dockerfile: Bailun.DC.SyncSkuFinanceCategory/Dockerfile
bailun.dc.skustatistics:
image: ${DOCKER_REGISTRY}bailundcskustatistics
build:
context: .
dockerfile: Bailun.DC.SkuStatistics/Dockerfile
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