|
@@ -335,14 +335,14 @@ namespace molilian.core
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
///
|
|
///
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
- /// <param name="data_type">1转链 2优惠券</param>
|
|
|
|
|
|
|
+ /// <param name="data_type">1转链 2优惠券 3dp</param>
|
|
|
/// <param name="intervalDay"></param>
|
|
/// <param name="intervalDay"></param>
|
|
|
/// <param name="channel"></param>
|
|
/// <param name="channel"></param>
|
|
|
public static async Task ApiCallStatisticsAsync(int data_type, int intervalDay, TkChannelEnum channel)
|
|
public static async Task ApiCallStatisticsAsync(int data_type, int intervalDay, TkChannelEnum channel)
|
|
|
{
|
|
{
|
|
|
DateTime log_date = DateTime.Now.AddDays(-intervalDay).Date;
|
|
DateTime log_date = DateTime.Now.AddDays(-intervalDay).Date;
|
|
|
|
|
|
|
|
- var endpoint = data_type == 1 ? EndPointCore.GetParseAdmin() : EndPointCore.GetCouponAdmin();
|
|
|
|
|
|
|
+ var endpoint = data_type == 2 ? EndPointCore.GetCouponAdmin() : EndPointCore.GetParseAdmin();
|
|
|
if (endpoint == null || string.IsNullOrEmpty(endpoint.db_server)) return;
|
|
if (endpoint == null || string.IsNullOrEmpty(endpoint.db_server)) return;
|
|
|
|
|
|
|
|
using var conn = EndPointCore.GetDbConnection(endpoint.db_server);
|
|
using var conn = EndPointCore.GetDbConnection(endpoint.db_server);
|
|
@@ -367,7 +367,9 @@ namespace molilian.core
|
|
|
{
|
|
{
|
|
|
case TkChannelEnum.tb:
|
|
case TkChannelEnum.tb:
|
|
|
{
|
|
{
|
|
|
- var exist_report_dailys = new DBContext.Table(conn, "v_tk_report_dailys")
|
|
|
|
|
|
|
+ string v_table = "v_tk_report_dailys_parse";
|
|
|
|
|
+ if (data_type == 3) v_table = "v_tk_report_dailys_dp";
|
|
|
|
|
+ var exist_report_dailys = new DBContext.Table(conn, v_table)
|
|
|
.Get<dynamic>("report_date=@log_date", new { log_date });
|
|
.Get<dynamic>("report_date=@log_date", new { log_date });
|
|
|
|
|
|
|
|
if (exist_report_dailys != null)
|
|
if (exist_report_dailys != null)
|
|
@@ -390,7 +392,7 @@ namespace molilian.core
|
|
|
new { log_date, channel, accountId = 0 });
|
|
new { log_date, channel, accountId = 0 });
|
|
|
if (exist != null)
|
|
if (exist != null)
|
|
|
{
|
|
{
|
|
|
- if (data_type == 1)
|
|
|
|
|
|
|
+ if (data_type == 1 || data_type == 3)
|
|
|
{
|
|
{
|
|
|
update.Add("total_count", exist.parse_total_count)
|
|
update.Add("total_count", exist.parse_total_count)
|
|
|
.Add("abandon_count", exist.parse_abandon_count)
|
|
.Add("abandon_count", exist.parse_abandon_count)
|
|
@@ -588,9 +590,11 @@ namespace molilian.core
|
|
|
/// 事实动态接口(5分钟一次)
|
|
/// 事实动态接口(5分钟一次)
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
/// <param name="date"></param>
|
|
/// <param name="date"></param>
|
|
|
- public async Task SaveReportOverview()
|
|
|
|
|
|
|
+ public async Task SaveReportOverview(int days = 0)
|
|
|
{
|
|
{
|
|
|
DateTime date = DateTime.Now;
|
|
DateTime date = DateTime.Now;
|
|
|
|
|
+ if (days > 0) date = date.AddDays(-days);
|
|
|
|
|
+
|
|
|
TkReportDTO result = new TkReportDTO();
|
|
TkReportDTO result = new TkReportDTO();
|
|
|
try
|
|
try
|
|
|
{
|
|
{
|
|
@@ -599,14 +603,20 @@ namespace molilian.core
|
|
|
|
|
|
|
|
string url = "https://pub.alimama.com/openapi/param2/1/gateway.unionpub/data.lens.report.overview.json?" +
|
|
string url = "https://pub.alimama.com/openapi/param2/1/gateway.unionpub/data.lens.report.overview.json?" +
|
|
|
$"t={t}&_tb_token_={_tb_token}&ruleEnum=pub_overview&startDate={dt}&endDate={dt}&fixPeriod=1d";
|
|
$"t={t}&_tb_token_={_tb_token}&ruleEnum=pub_overview&startDate={dt}&endDate={dt}&fixPeriod=1d";
|
|
|
|
|
+#if DEBUG
|
|
|
|
|
+ //_cookies = "t_alimama=265947ef5452cb1dbc3a85423cb0b4ac; xlly_s=1; wk_cookie2=153667c5e7c346da3c64cc8be5db65b5; wk_unb=UUpjNmHYrAUDFe1XcQ%3D%3D; arms_uid=50fb4ec1-5342-4774-9b30-822cfb71ac29; cookie2_alimama=1939cd118da29bee099e20497d91d195; lid=tb464407448627; cookie3_bak=17c2085f3ca7b7e1d9932184a321265b; env_bak=FM%2BgwZ4N3DW5Nit1vtAN%2BnGo%2FlvOs%2BhcfJ4%2F0uUixKyv; cookie3_bak_exp=1753443569194; havana_lgc_exp=1786690298961; dnk=tb464407448627; tracknick=tb464407448627; lgc=; cookie2=17c2085f3ca7b7e1d9932184a321265b; cancelledSubSites=empty; t=b0f1900bb872fb73431103fd9fd685da; sn=; _tb_token_=e3be75e77317e; uc1=cookie14=UoYbzibV4BRygw%3D%3D&pas=0&cookie16=WqG3DMC9UpAPBHGz5QBErFxlCA%3D%3D&existShop=false&cookie15=WqG3DMC9VAQiUQ%3D%3D&cookie21=V32FPkk%2FhSt4; sgcookie=E100maFa2uGfFmlaN000MHH4oUxgMX%2Fe%2FWHW96Um0swftox2LuxNNHviK0VTqoHo%2F1NuX%2BYAGoSBwA8mzA3bTrtPkhdwXGBaIPytPt3iO9Ay%2Bh8%3D; csg=8a980a9f; login=; rurl=aHR0cHM6Ly9wdWIuYWxpbWFtYS5jb20vaW5kZXguaHRtP2ZvcndhcmQ9aHR0cHMlM0ElMkYlMkZwdWIuYWxpbWFtYS5jb20lMkZwb3J0YWwlMkZ2MiUyRmVmZmVjdCUyRm9yZGVyJTJGb3ZlcnZpZXdPcmRlciUyRnBhZ2UlMkZpbmRleC5odG0%3D; v_alimama=0; JSESSIONID=5529D2F4B4C1D00E84AEBD50280FB383; cna=BfkxIaeXgCYCAXs5yWAuAa9d; x5sec=7b22733b32223a2231323332306465383836393966346263222c2277616762726964676561643b32223a2262373162373332303165646366383332613431613832353966653761656462614349715476635547454c2f706a354c342f2f2f2f2f774561447a49794d6a41794e544d314d5445314e446b374e6a44662b63377042513d3d227d; tfstk=gmTZ8YfPzV3Zz8wI5pQ4Uawh0yQOjZkSnE6fiIAc1OXGl1s2YK9H1Gi91Z-enpI1IZ_1msvXKOqfmNAcuLvz5OctMoz2nQXi6AH93rveZO4f5t_qg9Am6dT2Mr5DiKhOhfnB6CQAoYMSV4O96v7UUiHCojAhlsuH-XOv6CQY9WwmVHATgvY6YsfcnX7hg_CcoOXgxX5OwZ4GmPq3K9CcoZXcjyVhN_5Gi1fiTBXdiZXDnZcF-9CcotvcofqwndUFLGcnq0Zj2WBNbTAGLzRJ81xQXCXUorYeYGWkP9z0oe5wg2dbkzofE3B1VO9nRP72tsJPadynO9xetFIW9c4CIHOMni-KUz1N5HSy7hhYKCv5Q3b9G7k6Tg-F26j3gkACS_IkVMF4SB7hwg8GYSrG53OWkgYi78BC2sJPadyN4PwAthCXkhy00GfdTTGETp4iolm_ZK9uDoIEv6WSwbEYDGxPTTGEToEAxaCFFbXG.";
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
- var client = new WebClientUtility().SetContentType("application/json;charset=utf-8")
|
|
|
|
|
|
|
+ var client = new WebClientUtility().SetContentType("application/x-www-form-urlencoded; charset=UTF-8")
|
|
|
.AddHeaders("X-Requested-With", "XMLHttpRequest")
|
|
.AddHeaders("X-Requested-With", "XMLHttpRequest")
|
|
|
.AddHeaders("Cookie", _cookies);
|
|
.AddHeaders("Cookie", _cookies);
|
|
|
|
|
+ client.Referer = "https://pub.alimama.com/portal/v2/pages/effect/account/total/page/index.htm";
|
|
|
#if DEBUG
|
|
#if DEBUG
|
|
|
|
|
+ client.Proxy = new System.Net.WebProxy("bjapi.molilian.com", 20087);
|
|
|
#else
|
|
#else
|
|
|
client.Proxy = _proxy;
|
|
client.Proxy = _proxy;
|
|
|
#endif
|
|
#endif
|
|
|
|
|
+
|
|
|
if (!string.IsNullOrEmpty(_user_agent)) client.UserAgent = _user_agent;
|
|
if (!string.IsNullOrEmpty(_user_agent)) client.UserAgent = _user_agent;
|
|
|
var response = client.Request(url);
|
|
var response = client.Request(url);
|
|
|
|
|
|
|
@@ -668,6 +678,10 @@ namespace molilian.core
|
|
|
await EachSaveReportOverviewAsync(report_date.AddHours(DateTime.Now.Hour), "tk_report_hourtrend", result);
|
|
await EachSaveReportOverviewAsync(report_date.AddHours(DateTime.Now.Hour), "tk_report_hourtrend", result);
|
|
|
await EachSaveReportOverviewAsync(report_date, "tk_report", result);
|
|
await EachSaveReportOverviewAsync(report_date, "tk_report", result);
|
|
|
}
|
|
}
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ await EachSaveReportOverviewAsync(report_date, "tk_report", result);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
catch (Exception ex)
|
|
catch (Exception ex)
|
|
|
{
|
|
{
|
|
@@ -682,128 +696,136 @@ namespace molilian.core
|
|
|
}
|
|
}
|
|
|
private async Task EachSaveReportOverviewAsync(DateTime report_date, string tableName, TkReportDTO data)
|
|
private async Task EachSaveReportOverviewAsync(DateTime report_date, string tableName, TkReportDTO data)
|
|
|
{
|
|
{
|
|
|
- var exist = new DBContext.Table(tableName)
|
|
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+
|
|
|
|
|
+ var exist = new DBContext.Table(tableName)
|
|
|
.Fields("id, report_date")
|
|
.Fields("id, report_date")
|
|
|
.Get<dynamic>("report_date=@report_date AND accountId=@accountId",
|
|
.Get<dynamic>("report_date=@report_date AND accountId=@accountId",
|
|
|
new { report_date, accountId = _accountId });
|
|
new { report_date, accountId = _accountId });
|
|
|
|
|
|
|
|
- var createArgs = new DBContext.Table(tableName)
|
|
|
|
|
- .Add("uclk_uv_56", data.uclk_uv_56)
|
|
|
|
|
- .Add("uclk_pv_56", data.uclk_pv_56)
|
|
|
|
|
- .Add("uclt_uv_56", data.uclt_uv_56)
|
|
|
|
|
- .Add("ucart_uv_56", data.ucart_uv_56)
|
|
|
|
|
- .Add("dep_ord_num_56", data.dep_ord_num_56)
|
|
|
|
|
- .Add("dep_ord_dep_amt_56", data.dep_ord_dep_amt_56)
|
|
|
|
|
- .Add("pay_ord_num_56", data.pay_ord_num_56)
|
|
|
|
|
- .Add("pay_ord_amt_56", data.pay_ord_amt_56)
|
|
|
|
|
- .Add("pay_tk_disp_tfee_56", data.pay_tk_disp_tfee_56)
|
|
|
|
|
- .Add("pay_ord_uv_56", data.pay_ord_uv_56)
|
|
|
|
|
- .Add("sett_ord_num_56", data.sett_ord_num_56)
|
|
|
|
|
- .Add("sett_ord_amt_56", data.sett_ord_amt_56)
|
|
|
|
|
- .Add("sett_tk_disp_tfee_56", data.sett_tk_disp_tfee_56)
|
|
|
|
|
- .Add("eff_ord_num", data.eff_ord_num)
|
|
|
|
|
- .Add("eff_ord_amt", data.eff_ord_amt)
|
|
|
|
|
- .Add("eff_tk_disp_tfee", data.eff_tk_disp_tfee);
|
|
|
|
|
-
|
|
|
|
|
- string data_suffix = report_date.ToString("yyyyMMdd");
|
|
|
|
|
- if ("tk_report_hourtrend".Equals(tableName))
|
|
|
|
|
- {
|
|
|
|
|
- data_suffix = report_date.ToString("yyyyMMddHH");
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ var createArgs = new DBContext.Table(tableName)
|
|
|
|
|
+ .Add("uclk_uv_56", data.uclk_uv_56)
|
|
|
|
|
+ .Add("uclk_pv_56", data.uclk_pv_56)
|
|
|
|
|
+ .Add("uclt_uv_56", data.uclt_uv_56)
|
|
|
|
|
+ .Add("ucart_uv_56", data.ucart_uv_56)
|
|
|
|
|
+ .Add("dep_ord_num_56", data.dep_ord_num_56)
|
|
|
|
|
+ .Add("dep_ord_dep_amt_56", data.dep_ord_dep_amt_56)
|
|
|
|
|
+ .Add("pay_ord_num_56", data.pay_ord_num_56)
|
|
|
|
|
+ .Add("pay_ord_amt_56", data.pay_ord_amt_56)
|
|
|
|
|
+ .Add("pay_tk_disp_tfee_56", data.pay_tk_disp_tfee_56)
|
|
|
|
|
+ .Add("pay_ord_uv_56", data.pay_ord_uv_56)
|
|
|
|
|
+ .Add("sett_ord_num_56", data.sett_ord_num_56)
|
|
|
|
|
+ .Add("sett_ord_amt_56", data.sett_ord_amt_56)
|
|
|
|
|
+ .Add("sett_tk_disp_tfee_56", data.sett_tk_disp_tfee_56)
|
|
|
|
|
+ .Add("eff_ord_num", data.eff_ord_num)
|
|
|
|
|
+ .Add("eff_ord_amt", data.eff_ord_amt)
|
|
|
|
|
+ .Add("eff_tk_disp_tfee", data.eff_tk_disp_tfee);
|
|
|
|
|
+
|
|
|
|
|
+ string data_suffix = report_date.ToString("yyyyMMdd");
|
|
|
|
|
+ if ("tk_report_hourtrend".Equals(tableName))
|
|
|
|
|
+ {
|
|
|
|
|
+ data_suffix = report_date.ToString("yyyyMMddHH");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- string accountName = $"{TkChannelEnum.tb}_{_accountId}";
|
|
|
|
|
- int total_count = await TkLogCore.GetTotalAsync($":total:{accountName}:{data_suffix}");
|
|
|
|
|
- int success_count = 0, abandon_count = 0;
|
|
|
|
|
- string success_percentage = string.Empty, abandon_percentage = string.Empty;
|
|
|
|
|
- if (total_count > 0)
|
|
|
|
|
- {
|
|
|
|
|
- success_count = await TkLogCore.GetTotalAsync($":total:{accountName}:success:{data_suffix}");
|
|
|
|
|
- abandon_count = await TkLogCore.GetTotalAsync($":total:{accountName}:放弃转链:{data_suffix}");
|
|
|
|
|
|
|
+ string accountName = $"{TkChannelEnum.tb}_{_accountId}";
|
|
|
|
|
+ int total_count = await TkLogCore.GetTotalAsync($":total:{accountName}:{data_suffix}");
|
|
|
|
|
+ int success_count = 0, abandon_count = 0;
|
|
|
|
|
+ string success_percentage = string.Empty, abandon_percentage = string.Empty;
|
|
|
if (total_count > 0)
|
|
if (total_count > 0)
|
|
|
{
|
|
{
|
|
|
- success_percentage = $"{success_count / (double)total_count * 100:f2}%";
|
|
|
|
|
- abandon_percentage = $"{abandon_count / (double)total_count * 100:f2}%";
|
|
|
|
|
|
|
+ success_count = await TkLogCore.GetTotalAsync($":total:{accountName}:success:{data_suffix}");
|
|
|
|
|
+ abandon_count = await TkLogCore.GetTotalAsync($":total:{accountName}:放弃转链:{data_suffix}");
|
|
|
|
|
+ if (total_count > 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ success_percentage = $"{success_count / (double)total_count * 100:f2}%";
|
|
|
|
|
+ abandon_percentage = $"{abandon_count / (double)total_count * 100:f2}%";
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- createArgs.Add("total_count", total_count);
|
|
|
|
|
- createArgs.Add("success_count", success_count);
|
|
|
|
|
- createArgs.Add("abandon_count", abandon_count);
|
|
|
|
|
- createArgs.Add("success_percentage", success_percentage);
|
|
|
|
|
- createArgs.Add("abandon_percentage", abandon_percentage);
|
|
|
|
|
-
|
|
|
|
|
- int parse_total_count = await TkLogCore.GetTotalAsync($":parse_total:{accountName}:{data_suffix}");
|
|
|
|
|
- int parse_success_count = 0, parse_abandon_count = 0;
|
|
|
|
|
- string parse_success_percentage = string.Empty, parse_abandon_percentage = string.Empty;
|
|
|
|
|
- if (parse_total_count > 0)
|
|
|
|
|
- {
|
|
|
|
|
- parse_success_count = await TkLogCore.GetTotalAsync($":parse_total:{accountName}:success:{data_suffix}");
|
|
|
|
|
- parse_abandon_count = await TkLogCore.GetTotalAsync($":parse_total:{accountName}:放弃转链:{data_suffix}");
|
|
|
|
|
|
|
+ createArgs.Add("total_count", total_count);
|
|
|
|
|
+ createArgs.Add("success_count", success_count);
|
|
|
|
|
+ createArgs.Add("abandon_count", abandon_count);
|
|
|
|
|
+ createArgs.Add("success_percentage", success_percentage);
|
|
|
|
|
+ createArgs.Add("abandon_percentage", abandon_percentage);
|
|
|
|
|
+
|
|
|
|
|
+ int parse_total_count = await TkLogCore.GetTotalAsync($":parse_total:{accountName}:{data_suffix}");
|
|
|
|
|
+ int parse_success_count = 0, parse_abandon_count = 0;
|
|
|
|
|
+ string parse_success_percentage = string.Empty, parse_abandon_percentage = string.Empty;
|
|
|
if (parse_total_count > 0)
|
|
if (parse_total_count > 0)
|
|
|
{
|
|
{
|
|
|
- parse_success_percentage = $"{parse_success_count / (double)parse_total_count * 100:f2}%";
|
|
|
|
|
- parse_abandon_percentage = $"{parse_abandon_count / (double)parse_total_count * 100:f2}%";
|
|
|
|
|
|
|
+ parse_success_count = await TkLogCore.GetTotalAsync($":parse_total:{accountName}:success:{data_suffix}");
|
|
|
|
|
+ parse_abandon_count = await TkLogCore.GetTotalAsync($":parse_total:{accountName}:放弃转链:{data_suffix}");
|
|
|
|
|
+ if (parse_total_count > 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ parse_success_percentage = $"{parse_success_count / (double)parse_total_count * 100:f2}%";
|
|
|
|
|
+ parse_abandon_percentage = $"{parse_abandon_count / (double)parse_total_count * 100:f2}%";
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- createArgs.Add("parse_total_count", parse_total_count);
|
|
|
|
|
- createArgs.Add("parse_success_count", parse_success_count);
|
|
|
|
|
- createArgs.Add("parse_abandon_count", parse_abandon_count);
|
|
|
|
|
- createArgs.Add("parse_success_percentage", parse_success_percentage);
|
|
|
|
|
- createArgs.Add("parse_abandon_percentage", parse_abandon_percentage);
|
|
|
|
|
|
|
+ createArgs.Add("parse_total_count", parse_total_count);
|
|
|
|
|
+ createArgs.Add("parse_success_count", parse_success_count);
|
|
|
|
|
+ createArgs.Add("parse_abandon_count", parse_abandon_count);
|
|
|
|
|
+ createArgs.Add("parse_success_percentage", parse_success_percentage);
|
|
|
|
|
+ createArgs.Add("parse_abandon_percentage", parse_abandon_percentage);
|
|
|
|
|
|
|
|
|
|
|
|
|
- int coupon_total_count = await TkLogCore.GetTotalAsync($":coupon_total:{accountName}:{data_suffix}", false);
|
|
|
|
|
- int coupon_success_count = 0, coupon_abandon_count = 0;
|
|
|
|
|
- string coupon_success_percentage = string.Empty, coupon_abandon_percentage = string.Empty;
|
|
|
|
|
- if (coupon_total_count > 0)
|
|
|
|
|
- {
|
|
|
|
|
- coupon_success_count = await TkLogCore.GetTotalAsync($":coupon_total:{accountName}:success:{data_suffix}", false);
|
|
|
|
|
- coupon_abandon_count = await TkLogCore.GetTotalAsync($":coupon_total:{accountName}:放弃转链:{data_suffix}", false);
|
|
|
|
|
|
|
+ int coupon_total_count = await TkLogCore.GetTotalAsync($":coupon_total:{accountName}:{data_suffix}", false);
|
|
|
|
|
+ int coupon_success_count = 0, coupon_abandon_count = 0;
|
|
|
|
|
+ string coupon_success_percentage = string.Empty, coupon_abandon_percentage = string.Empty;
|
|
|
if (coupon_total_count > 0)
|
|
if (coupon_total_count > 0)
|
|
|
{
|
|
{
|
|
|
- coupon_success_percentage = $"{coupon_success_count / (double)coupon_total_count * 100:f2}%";
|
|
|
|
|
- coupon_abandon_percentage = $"{coupon_abandon_count / (double)coupon_total_count * 100:f2}%";
|
|
|
|
|
|
|
+ coupon_success_count = await TkLogCore.GetTotalAsync($":coupon_total:{accountName}:success:{data_suffix}", false);
|
|
|
|
|
+ coupon_abandon_count = await TkLogCore.GetTotalAsync($":coupon_total:{accountName}:放弃转链:{data_suffix}", false);
|
|
|
|
|
+ if (coupon_total_count > 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ coupon_success_percentage = $"{coupon_success_count / (double)coupon_total_count * 100:f2}%";
|
|
|
|
|
+ coupon_abandon_percentage = $"{coupon_abandon_count / (double)coupon_total_count * 100:f2}%";
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- createArgs.Add("coupon_total_count", coupon_total_count);
|
|
|
|
|
- createArgs.Add("coupon_success_count", coupon_success_count);
|
|
|
|
|
- createArgs.Add("coupon_abandon_count", coupon_abandon_count);
|
|
|
|
|
- createArgs.Add("coupon_success_percentage", coupon_success_percentage);
|
|
|
|
|
- createArgs.Add("coupon_abandon_percentage", coupon_abandon_percentage);
|
|
|
|
|
|
|
+ createArgs.Add("coupon_total_count", coupon_total_count);
|
|
|
|
|
+ createArgs.Add("coupon_success_count", coupon_success_count);
|
|
|
|
|
+ createArgs.Add("coupon_abandon_count", coupon_abandon_count);
|
|
|
|
|
+ createArgs.Add("coupon_success_percentage", coupon_success_percentage);
|
|
|
|
|
+ createArgs.Add("coupon_abandon_percentage", coupon_abandon_percentage);
|
|
|
|
|
|
|
|
|
|
|
|
|
- int tool_total_count = await TkLogCore.GetTotalAsync($":tool_total:{accountName}:{data_suffix}");
|
|
|
|
|
- int tool_success_count = 0, tool_abandon_count = 0;
|
|
|
|
|
- string tool_success_percentage = string.Empty, tool_abandon_percentage = string.Empty;
|
|
|
|
|
- if (tool_total_count > 0)
|
|
|
|
|
- {
|
|
|
|
|
- tool_success_count = await TkLogCore.GetTotalAsync($":tool_total:{accountName}:success:{data_suffix}");
|
|
|
|
|
- tool_abandon_count = await TkLogCore.GetTotalAsync($":tool_total:{accountName}:放弃转链:{data_suffix}");
|
|
|
|
|
|
|
+ int tool_total_count = await TkLogCore.GetTotalAsync($":tool_total:{accountName}:{data_suffix}");
|
|
|
|
|
+ int tool_success_count = 0, tool_abandon_count = 0;
|
|
|
|
|
+ string tool_success_percentage = string.Empty, tool_abandon_percentage = string.Empty;
|
|
|
if (tool_total_count > 0)
|
|
if (tool_total_count > 0)
|
|
|
{
|
|
{
|
|
|
- tool_success_percentage = $"{tool_success_count / (double)tool_total_count * 100:f2}%";
|
|
|
|
|
- tool_abandon_percentage = $"{tool_abandon_count / (double)tool_total_count * 100:f2}%";
|
|
|
|
|
|
|
+ tool_success_count = await TkLogCore.GetTotalAsync($":tool_total:{accountName}:success:{data_suffix}");
|
|
|
|
|
+ tool_abandon_count = await TkLogCore.GetTotalAsync($":tool_total:{accountName}:放弃转链:{data_suffix}");
|
|
|
|
|
+ if (tool_total_count > 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ tool_success_percentage = $"{tool_success_count / (double)tool_total_count * 100:f2}%";
|
|
|
|
|
+ tool_abandon_percentage = $"{tool_abandon_count / (double)tool_total_count * 100:f2}%";
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- createArgs.Add("tool_total_count", tool_total_count);
|
|
|
|
|
- createArgs.Add("tool_success_count", tool_success_count);
|
|
|
|
|
- createArgs.Add("tool_abandon_count", tool_abandon_count);
|
|
|
|
|
- createArgs.Add("tool_success_percentage", tool_success_percentage);
|
|
|
|
|
- createArgs.Add("tool_abandon_percentage", tool_abandon_percentage);
|
|
|
|
|
|
|
+ createArgs.Add("tool_total_count", tool_total_count);
|
|
|
|
|
+ createArgs.Add("tool_success_count", tool_success_count);
|
|
|
|
|
+ createArgs.Add("tool_abandon_count", tool_abandon_count);
|
|
|
|
|
+ createArgs.Add("tool_success_percentage", tool_success_percentage);
|
|
|
|
|
+ createArgs.Add("tool_abandon_percentage", tool_abandon_percentage);
|
|
|
|
|
|
|
|
- if (exist == null)
|
|
|
|
|
- {
|
|
|
|
|
- createArgs.Add("accountId", _accountId)
|
|
|
|
|
- .Add("accountName", _company)
|
|
|
|
|
- .Add("report_date", report_date)
|
|
|
|
|
- .Add("create_time", DateTime.Now)
|
|
|
|
|
- .Add("last_time", DateTime.Now)
|
|
|
|
|
- .Create();
|
|
|
|
|
|
|
+ if (exist == null)
|
|
|
|
|
+ {
|
|
|
|
|
+ createArgs.Add("accountId", _accountId)
|
|
|
|
|
+ .Add("accountName", _company)
|
|
|
|
|
+ .Add("report_date", report_date)
|
|
|
|
|
+ .Add("create_time", DateTime.Now)
|
|
|
|
|
+ .Add("last_time", DateTime.Now)
|
|
|
|
|
+ .Create();
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ {
|
|
|
|
|
+ createArgs.Add("last_time", DateTime.Now)
|
|
|
|
|
+ .Where("id=@id", new { exist.id })
|
|
|
|
|
+ .Update();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- else
|
|
|
|
|
|
|
+ catch (Exception ex)
|
|
|
{
|
|
{
|
|
|
- createArgs.Add("last_time", DateTime.Now)
|
|
|
|
|
- .Where("id=@id", new { exist.id })
|
|
|
|
|
- .Update();
|
|
|
|
|
|
|
+ string msg = ex.Message;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|