Commit 82b46e65 by 泽锋 李

新增计算fba仓历史销量的服务

parent 7498a544
......@@ -569,7 +569,8 @@ left join dc_base_warehouse as dbw on t1.warehouse_code = dbw.warehouse_code
{
total = 0;
}
else{
else
{
total = _connection.QueryFirst<int>(countSql, parameters, commandTimeout: 0);
}
......@@ -849,7 +850,8 @@ left join dc_base_warehouse as t4 on t4.warehouse_code = t4.warehouse_code
{
total = 0;
}
else{
else
{
total = _connection.QueryFirst<int>(countSql, parameters, commandTimeout: 0);
}
......@@ -1139,6 +1141,68 @@ where bailun_sku in @skus", new { skus = skus.Split(',').ToList() });
var res = conn.Execute(sql.ToString());
Console.WriteLine($" 新增 {datas.Count} 条数据,耗时 {watch.ElapsedMilliseconds} 毫秒 ");
}
/// <summary>
/// 刷新fba的过去销量
/// </summary>
public static void ResetFbaExtendSales(DateTime date)
{
// 时间点
// 最近1天
var btime1 = date.AddDays(-1).ToDayHome();
var etime1 = date.AddDays(-1).ToDayEnd();
var btime7 = date.AddDays(-8).ToDayHome();
var etime7 = date.AddDays(-1).ToDayEnd();
var btime30 = date.AddDays(-31).ToDayHome();
var etime30 = date.AddDays(-1).ToDayEnd();
int page = 0;
int rows = 1000;
while (true)
{
page++;
var configs = _connection.Query<dc_config_fba_extend>($@" select * from dc_config_fba_extend limit {(page - 1) * rows},{rows} ").ToList();
if (configs == null || configs.Count <= 0)
{
break;
}
foreach (var item in configs)
{
var tempData = _connection.QueryFirstOrDefault<dc_config_fba_extend_temp_dto>($@"
select t1.bailun_sku,t1.warehouse_code,
sum(case when t1.create_time>=@btime1 and t1.create_time<=@etime1 then t1.amount_sales * t1.order_to_usd_exchange_rate * t1.bailun_sku_quantity_ordered else 0 end) as 'amount_sales_usd_1',
sum(case when t1.create_time>=@btime1 and t1.create_time<=@etime1 then t1.bailun_sku_quantity_ordered else 0 end) as 'bailun_sku_quantity_ordered_1',
sum(case when t1.create_time>=@btime7 and t1.create_time<=@etime7 then t1.amount_sales * t1.order_to_usd_exchange_rate * t1.bailun_sku_quantity_ordered else 0 end) as 'amount_sales_usd_7',
sum(case when t1.create_time>=@btime7 and t1.create_time<=@etime7 then t1.bailun_sku_quantity_ordered else 0 end) as 'bailun_sku_quantity_ordered_7',
sum(case when t1.create_time>=@btime30 and t1.create_time<=@etime30 then t1.amount_sales * t1.order_to_usd_exchange_rate * t1.bailun_sku_quantity_ordered else 0 end) as 'amount_sales_usd_30',
sum(case when t1.create_time>=@btime30 and t1.create_time<=@etime30 then t1.bailun_sku_quantity_ordered else 0 end) as 'bailun_sku_quantity_ordered_30'
from dc_base_oms_sku_30 as t1 where t1.create_time>=@btime1 and t1.create_time<=@etime30
and t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code
", new { btime1, etime1, btime7, etime7, btime30, etime30, item.bailun_sku, item.warehouse_code }) ?? new dc_config_fba_extend_temp_dto();
_connection.Execute($@" update dc_config_fba_extend set
amount_sales_usd_1=@amount_sales_usd_1,
bailun_sku_quantity_ordered_1=@bailun_sku_quantity_ordered_1,
amount_sales_usd_7=@amount_sales_usd_7,
bailun_sku_quantity_ordered_7=@bailun_sku_quantity_ordered_7,
amount_sales_usd_30=@amount_sales_usd_30,
bailun_sku_quantity_ordered_30=@bailun_sku_quantity_ordered_30
where id=@id
", new
{
amount_sales_usd_1 = tempData.amount_sales_usd_1,
bailun_sku_quantity_ordered_1 = tempData.bailun_sku_quantity_ordered_1,
amount_sales_usd_7 = tempData.amount_sales_usd_7,
bailun_sku_quantity_ordered_7 = tempData.bailun_sku_quantity_ordered_7,
amount_sales_usd_30 = tempData.amount_sales_usd_30,
bailun_sku_quantity_ordered_30 = tempData.bailun_sku_quantity_ordered_30,
id = item.id
});
}
}
}
}
......
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.DB
{
/// <summary>
/// fba 扩展表
/// </summary>
public class dc_config_fba_extend
{
public int id { get; set; }
public string bailun_sku { get; set; }
public string asin { get; set; }
public string bailun_account { get; set; }
public string web_site { get; set; }
public string product_type { get; set; }
public string group_name { get; set; }
public string sale_name { get; set; }
public string warehouse_code { get; set; }
public string bailun_sku_warehouse_code { get; set; }
public decimal amount_sales_usd_1 { get; set; }
public decimal bailun_sku_quantity_ordered_1 { get; set; }
public decimal amount_sales_usd_7 { get; set; }
public decimal bailun_sku_quantity_ordered_7 { get; set; }
public decimal amount_sales_usd_30 { get; set; }
public decimal bailun_sku_quantity_ordered_30 { get; set; }
}
public class dc_config_fba_extend_temp_dto
{
public decimal amount_sales_usd_1 { get; set; }
public decimal bailun_sku_quantity_ordered_1 { get; set; }
public decimal amount_sales_usd_7 { get; set; }
public decimal bailun_sku_quantity_ordered_7 { get; set; }
public decimal amount_sales_usd_30 { get; set; }
public decimal bailun_sku_quantity_ordered_30 { get; set; }
}
}
......@@ -24,4 +24,6 @@ namespace AutoTurnOver.Models
public string bl_operator { get; set; }
}
}
......@@ -52,6 +52,12 @@ namespace ResetOutofstock
report_cash_flow_dao.CalculationOrderCostLogistics(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
Console.WriteLine($"结束 刷新订单尾程费,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
if (now.Hour == 0 && now.Minute == 06)
{
Console.WriteLine($"开始 刷新fba历史销量,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
daily.ResetFbaExtendSales(now);
Console.WriteLine($"结束 刷新fba历史销量,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
if (now.Hour == 2 && now.Minute == 23)
{
if (now.DayOfWeek == DayOfWeek.Monday)
......
......@@ -28,7 +28,7 @@ namespace ResetOutofstock
//report.PurchaseWeekBackUp();
//report.PurchaseWeekBackUp();
//await new TaskDownloadServices().Download();
dc_base_trans_temp_schedule_dao.SynchroTransTempScheduleData();
}
catch (Exception ex)
{
......
......@@ -41,9 +41,9 @@ namespace ResetOutofstock
//});
Task.Factory.StartNew(() =>
{
Console.WriteLine($"开始 init 上周销量 ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
report.ResetLastweekData();
Console.WriteLine($"结束 init 上周销量 ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
Console.WriteLine($"开始 init ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
daily.ResetFbaExtendSales(DateTime.Now);
Console.WriteLine($"结束 init ,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
});
......
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