Commit 4d94eddf by 泽锋 李

新增gmv计算服务

parent a81f35e7
...@@ -1388,6 +1388,83 @@ where id=@id ...@@ -1388,6 +1388,83 @@ where id=@id
} }
/// <summary>
/// 刷新gmv
/// </summary>
public static void ResetGmvExtendSales(DateTime date)
{
var conn = _connection;
// 时间点
// 最近1天
var btime1 = date.AddDays(-15).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();
var btime_month_1 = (DateTime.Parse(date.ToString("yyyy-MM-01 00:00:00"))).ToDayHome();
var etime_month_1 = btime_month_1.LastDayOfMonth().ToDayEnd();
var btime_month_2 = (DateTime.Parse(date.ToString("yyyy-MM-02 00:00:00"))).ToDayHome();
var etime_month_2 = btime_month_2.LastDayOfMonth().ToDayEnd();
int page = 0;
int rows = 1000;
while (true)
{
page++;
var configs = conn.Query<dc_report_gmv_extend>($@" select t1.bailun_sku,t2.warehouse_code,CONCAT(t1.bailun_sku,t1.warehouse_code) as 'bailun_sku_warehouse_code' from dc_base_stock as t1
left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
where t2.hq_type='fba仓' limit {(page - 1) * rows},{rows} ",commandTimeout:0).ToList();
if (configs == null || configs.Count <= 0)
{
break;
}
foreach (var item in configs)
{
var tempData = conn.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_14',
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_14',
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>=@btime30 and t1.create_time<=@etime30
and t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code
and has_fba_s = 0
and has_delete = 0
and has_scalp = 0
and has_buyer_remark = 0
and has_platsku_remark = 0
and has_innersale = 0
and bailun_order_status !='Canceled'
and platform_order_type != '手工单'
", new { btime1, etime1, btime7, etime7, btime30, etime30, item.bailun_sku, item.warehouse_code },commandTimeout:0) ?? new dc_config_fba_extend_temp_dto();
item.amount_sales_usd_14 = tempData.amount_sales_usd_14;
item.amount_sales_usd_7 = tempData.amount_sales_usd_7;
item.amount_sales_usd_30 = tempData.amount_sales_usd_30;
item.bailun_sku_quantity_ordered_14 = tempData.bailun_sku_quantity_ordered_14;
item.bailun_sku_quantity_ordered_7 = tempData.bailun_sku_quantity_ordered_7;
item.bailun_sku_quantity_ordered_30 = tempData.bailun_sku_quantity_ordered_30;
item.amount_sales_usd_30_weighting =(( tempData.amount_sales_usd_30 * 0.4M )+ (tempData.amount_sales_usd_14 * 0.3m)+ (tempData.amount_sales_usd_7 * 0.3M));
item.sales_reset_date = DateTime.Now;
item.id = conn.QueryFirstOrDefault<int?>("select id from dc_report_gmv_extend where bailun_sku_warehouse_code=@bailun_sku_warehouse_code",new { bailun_sku_warehouse_code = item.bailun_sku_warehouse_code }) ??0;
if (item.id > 0)
{
conn.Update(item);
}
else
{
conn.Insert(item);
}
}
}
}
/// <summary> /// <summary>
/// 刷新fba的昨日review /// 刷新fba的昨日review
......
...@@ -37,7 +37,9 @@ namespace AutoTurnOver.DB ...@@ -37,7 +37,9 @@ namespace AutoTurnOver.DB
public class dc_config_fba_extend_temp_dto public class dc_config_fba_extend_temp_dto
{ {
public decimal amount_sales_usd_1 { get; set; } public decimal amount_sales_usd_1 { get; set; }
public decimal amount_sales_usd_14 { get; set; }
public decimal bailun_sku_quantity_ordered_1 { get; set; } public decimal bailun_sku_quantity_ordered_1 { get; set; }
public decimal bailun_sku_quantity_ordered_14 { get; set; }
public decimal amount_sales_usd_7 { get; set; } public decimal amount_sales_usd_7 { get; set; }
public decimal bailun_sku_quantity_ordered_7 { get; set; } public decimal bailun_sku_quantity_ordered_7 { get; set; }
public decimal amount_sales_usd_30 { get; set; } public decimal amount_sales_usd_30 { get; set; }
......
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models
{
public class dc_report_gmv_extend
{
public int id { get; set; }
public string bailun_sku { get; set; }
public string warehouse_code { get; set; }
public string bailun_sku_warehouse_code { get; set; }
public decimal amount_sales_usd_14 { get; set; }
public decimal bailun_sku_quantity_ordered_14 { 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; }
/// <summary>
/// 加权gmv
/// </summary>
public decimal? amount_sales_usd_30_weighting { get; set; }
public DateTime? sales_reset_date { get; set; }
}
}
...@@ -60,6 +60,12 @@ namespace ResetOutofstock ...@@ -60,6 +60,12 @@ namespace ResetOutofstock
} }
if (now.Hour == 0 && now.Minute == 07) if (now.Hour == 0 && now.Minute == 07)
{ {
Console.WriteLine($"开始 刷新GMV,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
daily.ResetGmvExtendSales(now);
Console.WriteLine($"结束 刷新GMV,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
if (now.Hour == 0 && now.Minute == 08)
{
Console.WriteLine($"开始 刷新fba昨日review,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"开始 刷新fba昨日review,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
daily.ResetFbaExtendReview(now); daily.ResetFbaExtendReview(now);
Console.WriteLine($"结束 刷新fba昨日review,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"结束 刷新fba昨日review,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
......
...@@ -33,7 +33,8 @@ namespace ResetOutofstock ...@@ -33,7 +33,8 @@ namespace ResetOutofstock
//dc_base_transfer_extend_dao.SynchroLmsTransferOrder(); //dc_base_transfer_extend_dao.SynchroLmsTransferOrder();
//dc_base_full_link_wait_order_dao.ResetDatas(); //dc_base_full_link_wait_order_dao.ResetDatas();
//dc_auto_turnover.set_full_stock_use_days_turnover_sales(dc_auto_turnover.GetModel("250924601", "USFBABLXJ")); //dc_auto_turnover.set_full_stock_use_days_turnover_sales(dc_auto_turnover.GetModel("250924601", "USFBABLXJ"));
dc_base_trans_temp_schedule_dao.SynchroTransTempScheduleData(true); //dc_base_trans_temp_schedule_dao.SynchroTransTempScheduleData(true);
daily.ResetGmvExtendSales(now);
} }
catch (Exception ex) catch (Exception ex)
{ {
......
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