Commit ab0ebb76 by guanzhenshan

完成itemno的广告利润率

parent 43b86914
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="2.0.78" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.0.0" />
<PackageReference Include="MySql.Data" Version="8.0.18" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Bailun.DC.Common\Bailun.DC.Common.csproj" />
<ProjectReference Include="..\Bailun.DC.Models\Bailun.DC.Models.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Models\" />
</ItemGroup>
</Project>
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim AS base
WORKDIR /app
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["Bailun.DC.DailyItemNoProfitRate/Bailun.DC.DailyItemNoProfitRate.csproj", "Bailun.DC.DailyItemNoProfitRate/"]
COPY ["Bailun.DC.Common/Bailun.DC.Common.csproj", "Bailun.DC.Common/"]
COPY ["Bailun.DC.Models/Bailun.DC.Models.csproj", "Bailun.DC.Models/"]
RUN dotnet restore "Bailun.DC.DailyItemNoProfitRate/Bailun.DC.DailyItemNoProfitRate.csproj"
COPY . .
WORKDIR "/src/Bailun.DC.DailyItemNoProfitRate"
RUN dotnet build "Bailun.DC.DailyItemNoProfitRate.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Bailun.DC.DailyItemNoProfitRate.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Bailun.DC.DailyItemNoProfitRate.dll"]
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.Threading.Tasks;
namespace Bailun.DC.DailyItemNoProfitRate
{
class Program
{
static async Task Main(string[] args)
{
//Console.WriteLine("Hello World!");
Console.WriteLine("启动服务 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Services>();
});
await builder.RunConsoleAsync();
//var _service = new Services();
//var day = DateTime.Parse(DateTime.Now.AddDays(-1).ToShortDateString());
//_service.Init(day.AddDays(-20), day);
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
/// <summary>
/// item id 的利润率,包括广告利润率,自然利润率,订单利润率
/// </summary>
public class dc_daily_item_profit_rate
{
/// <summary>
///
/// </summary>
public int id { get; set; }
/// <summary>
///
/// </summary>
public string item_id { get; set; }
/// <summary>
/// 过去20天oms订单销售额
/// </summary>
public decimal amount_sales { get; set; }
/// <summary>
/// 过去20天广告费
/// </summary>
public decimal cost_ad { get; set; }
/// <summary>
/// 过去20天全部的订单销售成本,包括:
/// </summary>
public decimal cost_sales { get; set; }
/// <summary>
/// 过去20天广告GMV
/// </summary>
public decimal amount_sales_ad_gmv { get; set; }
/// <summary>
/// 广告订单利润率
///过去20天广告GMV/过去20天OMS订单销量额=广告订单GMV占比
///过去20天OMS订单总销售成本(不计广告费)*广告订单GMV占比=过去20天广告订单总销售成本
///广告GMV-过去20天广告订单总销售成本-广告费=广告订单利润
///广告订单利润/广告GMV=广告订单利润率
/// </summary>
public decimal rate_order_ad { get; set; }
/// <summary>
/// 自然订单利润率
///过去20天自然订单GMV=总GMV-广告GMV
///过去20天自然订单销售成本 = 过去20天OMS订单总销售成本(不计广告费)*(1-广告订单GMV占比)
///自然订单GMV-过去20天自然订单销售成=自然订单利润
///自然订单利润/过去20天自然订单GMV=自然订单利润率
/// </summary>
public decimal rate_order { get; set; }
/// <summary>
/// 全部订单利润率
///(过去20天OMS订单销售额-过去20天广告费-过去20天全部订单销售成本)/过去20天OMS订单销售额
/// </summary>
public decimal rate_all { get; set; }
/// <summary>
/// 统计日期
/// </summary>
public DateTime day { get; set; }
/// <summary>
///
/// </summary>
public DateTime createtime { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
/// <summary>
/// itemno 每天的 广告 GMV 数据
/// </summary>
public class dc_daily_itemno_ad_gmv
{
public int id { get; set; }
/// <summary>
/// 记录时间
/// </summary>
public DateTime day { get; set; }
/// <summary>
/// item id
/// </summary>
public string item_id { get; set; }
/// <summary>
/// 站点
/// </summary>
public string website { get; set; }
/// <summary>
/// 广告销售额 GMV
/// </summary>
public decimal sales_amount { get; set; }
/// <summary>
/// 广告订单量
/// </summary>
public int sales_count { get; set; }
/// <summary>
/// 广告费 (总费用)
/// </summary>
public decimal ad_fees { get; set; }
/// <summary>
/// 销售额币种
/// </summary>
public string sales_currency { get; set; }
/// <summary>
/// 销售额汇率 to cny
/// </summary>
public decimal sales_rate { get; set; }
/// <summary>
/// 广告费币种
/// </summary>
public string ad_currency { get; set; }
/// <summary>
/// 广告费汇率 to cny
/// </summary>
public decimal ad_rate { get; set; }
/// <summary>
/// 销售日期 (站点时间)
/// </summary>
public DateTime sale_date { get; set; }
/// <summary>
/// 销售日期(北京时间)
/// </summary>
public DateTime sale_date_bj { get; set; }
/// <summary>
///
/// </summary>
public DateTime createtime { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
/// <summary>
/// 用于计算itemno的利润率计算的订单明细
/// </summary>
public class dc_mid_itemno_profit_order
{
public int id { get; set; }
/// <summary>
/// 记录日期
/// </summary>
public DateTime day { get; set; }
/// <summary>
///
/// </summary>
public double order_sku_id { get; set; }
/// <summary>
/// 百伦单号
/// </summary>
public string bailun_order_id { get; set; }
/// <summary>
/// 平台单号
/// </summary>
public string origin_order_id { get; set; }
/// <summary>
///
/// </summary>
public string item_id { get; set; }
/// <summary>
/// 平台SKU
/// </summary>
public string platform_sku { get; set; }
/// <summary>
/// itemid 的销售数量
/// </summary>
public int platform_sku_quantity_ordered { get; set; }
/// <summary>
/// 映射百伦SKU数量
/// </summary>
public int count { get; set; }
/// <summary>
/// 百伦SKU
/// </summary>
public string bailun_sku { get; set; }
/// <summary>
/// 付款时间
/// </summary>
public DateTime paid_time { get; set; }
/// <summary>
/// 销售额
/// </summary>
public decimal amount_sales { get; set; }
/// <summary>
/// 产品成本
/// </summary>
public decimal cost_product { get; set; }
/// <summary>
/// 平台费
/// </summary>
public decimal cost_platform_fee { get; set; }
/// <summary>
/// paypal费
/// </summary>
public decimal cost_paypal_fee { get; set; }
/// <summary>
/// fba费
/// </summary>
public decimal cost_fba_fee { get; set; }
/// <summary>
/// 头程费-根据LMS线路算出来的
/// </summary>
public decimal cost_first { get; set; }
/// <summary>
/// 物流费-真实物流费,取不到则LMS
/// </summary>
public decimal cost_logistics { get; set; }
/// <summary>
/// 处理费-平台收取收取
/// </summary>
public decimal cost_handle_platform { get; set; }
/// <summary>
/// 处理费-百伦收取
/// </summary>
public decimal cost_handle_bailun { get; set; }
/// <summary>
/// 发货仓库
/// </summary>
public string warehouse_code { get; set; }
/// <summary>
/// 发货状态
/// </summary>
public string shipping_status { get; set; }
/// <summary>
/// 转RMB汇率
/// </summary>
public decimal seller_order_exchange_rate { get; set; }
/// <summary>
/// 平台类型
/// </summary>
public string platform_type { get; set; }
/// <summary>
/// 站点
/// </summary>
public string website { get; set; }
/// <summary>
/// 销售帐号
/// </summary>
public int bailun_account_id { get; set; }
}
}
......@@ -2211,7 +2211,7 @@ namespace Bailun.DC.Services
public List<dc_daily_fee> ListBorrowAmount(BtTableParameter request, DateTime date, int? companyvalue, ref int total)
{
//排除4k的主体
var sql = "select * from dc_daily_fee where company_value not in (78,72,71,67,58,54) and cost_status>-1 and recoed_time='" + date.ToString("yyyy-MM-dd")+"'";
var sql = "select * from dc_daily_fee where company_name not in ('香港四千里数据科技有限公司','YOUNGTOP INTERNATIONAL LIMITED','深圳市四千里数据科技有限公司','4Kmiles tec Limited','广州四千里数据科技有限公司','(英国)4kmiles technologies ltd') and cost_status>-1 and recoed_time='" + date.ToString("yyyy-MM-dd")+"'";
if (companyvalue.HasValue && companyvalue.Value>0)
{
......@@ -2251,7 +2251,7 @@ namespace Bailun.DC.Services
public dc_daily_fee ListBorrowAmountCount(DateTime date, int? companyvalue)
{
//只取百伦主体的
var sql = "select sum((amount - had_pay + ifnull(compensate, 0)) * to_rmb_rate) amount from dc_daily_fee where company_value not in (78,72,71,67,58,54) and cost_status>-1 and recoed_time='" + date.ToString("yyyy-MM-dd") + "'";
var sql = "select sum((amount - had_pay + ifnull(compensate, 0)) * to_rmb_rate) amount from dc_daily_fee where company_name not in ('香港四千里数据科技有限公司','YOUNGTOP INTERNATIONAL LIMITED','深圳市四千里数据科技有限公司','4Kmiles tec Limited','广州四千里数据科技有限公司','(英国)4kmiles technologies ltd') and cost_status>-1 and recoed_time='" + date.ToString("yyyy-MM-dd") + "'";
if (companyvalue.HasValue && companyvalue.Value > 0)
{
......
......@@ -3094,7 +3094,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
a.type_name,
a.kind_name,
a.create_username,
create_time = a.create_time.Value.ToString("yyyy-MM-dd HH:mm:ss"),
create_time = a.create_time.HasValue?a.create_time.Value.ToString("yyyy-MM-dd HH:mm:ss"):"",
amount = (a.amount - a.had_pay + (a.compensate??0)) * a.to_rmb_rate,
recoed_time = a.recoed_time.Value.ToString("yyyy-MM-dd")
});
......@@ -3125,7 +3125,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
a.type_name,
a.kind_name,
a.create_username,
create_time = a.create_time.Value.ToString("yyyy-MM-dd HH:mm:ss"),
create_time = a.create_time.HasValue?a.create_time.Value.ToString("yyyy-MM-dd HH:mm:ss"):"",
amount = (a.amount - a.had_pay + (a.compensate ?? 0)) * a.to_rmb_rate,
recoed_time = a.recoed_time.Value.ToString("yyyy-MM-dd")
});
......
......@@ -71,6 +71,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.CostFirstMonitori
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.DailyItemNoAdGMV", "Bailun.DC.DailyItemNoAdGMV\Bailun.DC.DailyItemNoAdGMV.csproj", "{9605282C-81F9-44C6-BADA-D0DFFDE9880B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bailun.DC.DailyItemNoProfitRate", "Bailun.DC.DailyItemNoProfitRate\Bailun.DC.DailyItemNoProfitRate.csproj", "{0BDF5631-AA7C-4548-84ED-740D861D569E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -209,6 +211,10 @@ Global
{9605282C-81F9-44C6-BADA-D0DFFDE9880B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9605282C-81F9-44C6-BADA-D0DFFDE9880B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9605282C-81F9-44C6-BADA-D0DFFDE9880B}.Release|Any CPU.Build.0 = Release|Any CPU
{0BDF5631-AA7C-4548-84ED-740D861D569E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0BDF5631-AA7C-4548-84ED-740D861D569E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0BDF5631-AA7C-4548-84ED-740D861D569E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0BDF5631-AA7C-4548-84ED-740D861D569E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -241,6 +247,7 @@ Global
{39AFD398-27D0-4C3D-98C7-7BDDC7A7BCBA} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{2FF9E656-0E88-4A0E-84EC-4FBB26001580} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{9605282C-81F9-44C6-BADA-D0DFFDE9880B} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{0BDF5631-AA7C-4548-84ED-740D861D569E} = {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