|
|
@@ -1,5 +1,6 @@
|
|
|
using dodohold.core;
|
|
|
using System.Text.Json;
|
|
|
+using TencentCloud.Cdn.V20180606.Models;
|
|
|
|
|
|
|
|
|
namespace molilian.core
|
|
|
@@ -246,103 +247,177 @@ namespace molilian.core
|
|
|
|
|
|
}
|
|
|
|
|
|
- public static void ApiCallStatistics(int intervalDay, TkChannelEnum channel, string prefix = "")
|
|
|
+ /// <summary>
|
|
|
+ ///
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="data_type">1转链 2优惠券</param>
|
|
|
+ /// <param name="intervalDay"></param>
|
|
|
+ /// <param name="channel"></param>
|
|
|
+ public static void ApiCallStatistics(int data_type, int intervalDay, TkChannelEnum channel)
|
|
|
{
|
|
|
-
|
|
|
DateTime log_date = DateTime.Now.AddDays(-intervalDay).Date;
|
|
|
|
|
|
- var accounts = TkPoolCore.List();
|
|
|
+ var endpoint = data_type == 1 ? EndPointCore.GetParseAdmin () : EndPointCore.GetCouponAdmin();
|
|
|
+ if (string.IsNullOrEmpty(endpoint.db_server)) return;
|
|
|
|
|
|
- foreach (var account in accounts)
|
|
|
- {
|
|
|
- int accountId = account.id;
|
|
|
- string accountName = $"{channel}_{account.id}";
|
|
|
+ using var conn = EndPointCore.GetDbConnection(endpoint.db_server);
|
|
|
+ using var center_conn = CenterHub.GetOpenConnection();
|
|
|
|
|
|
- int total_count = TkLogCore.GetTotal($":{prefix}total:{accountName}:{log_date:yyyyMMdd}");
|
|
|
- if (total_count == 0) continue;
|
|
|
+ var exist_report_dailys = new DBContext.Table(conn, "v_tk_report_dailys")
|
|
|
+ .Get<dynamic>("report_date=@log_date", new { log_date });
|
|
|
|
|
|
- var success_count = TkLogCore.GetTotal($":{prefix}total:{accountName}:success:{log_date:yyyyMMdd}");
|
|
|
- var abandon_count = TkLogCore.GetTotal($":{prefix}total:{accountName}:放弃转链:{log_date:yyyyMMdd}");
|
|
|
- string success_percentage = string.Empty;
|
|
|
- string abandon_percentage = string.Empty;
|
|
|
|
|
|
- if (total_count > 0)
|
|
|
- {
|
|
|
- success_percentage = $"{success_count / (double)total_count * 100:f2}%";
|
|
|
- abandon_percentage = $"{abandon_count / (double)total_count * 100:f2}%";
|
|
|
- }
|
|
|
-
|
|
|
- var exist = new DBContext.Table("api_call_statistics")
|
|
|
- .Fields("id,log_date")
|
|
|
- .Get<dynamic>("log_date=@log_date AND channel=@channel AND accountId=@accountId",
|
|
|
- new { log_date, channel, accountId });
|
|
|
+ var record = new DBContext.Table(center_conn, "api_call_report_dailys")
|
|
|
+ .Fields("id, report_date, read_num")
|
|
|
+ .Get<dynamic>("report_date=@log_date AND data_type=@data_type", new { log_date, data_type });
|
|
|
|
|
|
- var createArgs = new DBContext.Table("api_call_statistics")
|
|
|
+ var update = new DBContext.Table(center_conn, "api_call_report_dailys")
|
|
|
+ .Add("data_type", data_type)
|
|
|
+ .Add("is_show", 0)
|
|
|
+ .Add("report_date", log_date)
|
|
|
+ .Add("last_time", DateTime.Now);
|
|
|
|
|
|
- .Add($"{prefix}total_count", total_count)
|
|
|
- .Add($"{prefix}abandon_count", abandon_count)
|
|
|
- .Add($"{prefix}abandon_percentage", abandon_percentage)
|
|
|
- .Add($"{prefix}success_count", success_count)
|
|
|
- .Add($"{prefix}success_percentage", success_percentage)
|
|
|
- .Add("last_time", DateTime.Now);
|
|
|
+ if (exist_report_dailys != null)
|
|
|
+ {
|
|
|
+ update.Add("uclk_uv", exist_report_dailys.uclk_uv_56)
|
|
|
+ .Add("uclk_pv", exist_report_dailys.uclk_pv_56)
|
|
|
+ .Add("pay_ord_num", exist_report_dailys.pay_ord_num_56)
|
|
|
+ .Add("order_ord_num", exist_report_dailys.order_ord_num)
|
|
|
+ .Add("pay_ord_amt", exist_report_dailys.pay_ord_amt_56)
|
|
|
+ .Add("pay_tk_disp_tfee", exist_report_dailys.pay_tk_disp_tfee_56)
|
|
|
+ .Add("pay_ord_uv", exist_report_dailys.pay_ord_uv_56)
|
|
|
+ .Add("eff_ord_num", exist_report_dailys.eff_ord_num)
|
|
|
+ .Add("eff_ord_amt", exist_report_dailys.eff_ord_amt)
|
|
|
+ .Add("eff_tk_disp_tfee", exist_report_dailys.eff_tk_disp_tfee);
|
|
|
+ }
|
|
|
|
|
|
- if (exist == null)
|
|
|
+ var exist = new DBContext.Table(center_conn, "center_daily_logs")
|
|
|
+ .Get<dynamic>("log_date=@log_date AND accountId=@accountId",
|
|
|
+ new { log_date, channel, accountId = 0 });
|
|
|
+ if (exist != null)
|
|
|
+ {
|
|
|
+ if (data_type == 1)
|
|
|
{
|
|
|
- createArgs.Add("channel", channel)
|
|
|
- .Add("accountId", accountId)
|
|
|
- .Add("accountName", account.company)
|
|
|
- .Add("log_date", log_date)
|
|
|
- .Add("create_time", DateTime.Now)
|
|
|
- .Create();
|
|
|
+ update.Add("total_count", exist.parse_total_count)
|
|
|
+ .Add("abandon_count", exist.parse_abandon_count)
|
|
|
+ .Add("success_count", exist.parse_success_count);
|
|
|
}
|
|
|
- else
|
|
|
+ if (data_type == 2)
|
|
|
{
|
|
|
- createArgs.Where("id=@id", new { exist.id }).Update();
|
|
|
+ update.Add("total_count", exist.coupon_total_count)
|
|
|
+ .Add("abandon_count", exist.coupon_abandon_count)
|
|
|
+ .Add("success_count", exist.coupon_success_count);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- int all_total_count = TkLogCore.GetTotal($":{prefix}total:{channel.ToString()}:{log_date:yyyyMMdd}");
|
|
|
- var all_success_count = TkLogCore.GetTotal($":{prefix}total:{channel.ToString()}:success:{log_date:yyyyMMdd}");
|
|
|
- var all_abandon_count = TkLogCore.GetTotal($":{prefix}total:{channel.ToString()}:放弃转链:{log_date:yyyyMMdd}");
|
|
|
-
|
|
|
- string all_success_percentage = string.Empty;
|
|
|
- string all_abandon_percentage = string.Empty;
|
|
|
- if (all_total_count > 0)
|
|
|
+ if (record == null)
|
|
|
{
|
|
|
- all_success_percentage = $"{all_success_count / (double)all_total_count * 100:f2}%";
|
|
|
- all_abandon_percentage = $"{all_abandon_count / (double)all_total_count * 100:f2}%";
|
|
|
- }
|
|
|
-
|
|
|
- var exist2 = new DBContext.Table("api_call_statistics")
|
|
|
- .Fields("id,log_date")
|
|
|
- .Get<dynamic>("log_date=@log_date AND channel=@channel AND accountId=@accountId",
|
|
|
- new { log_date, channel, accountId = 0 });
|
|
|
-
|
|
|
- var createArgs2 = new DBContext.Table("api_call_statistics")
|
|
|
- .Add($"{prefix}total_count", all_total_count)
|
|
|
- .Add($"{prefix}abandon_count", all_abandon_count)
|
|
|
- .Add($"{prefix}abandon_percentage", all_abandon_percentage)
|
|
|
- .Add($"{prefix}success_count", all_success_count)
|
|
|
- .Add($"{prefix}success_percentage", all_success_percentage)
|
|
|
- .Add("last_time", DateTime.Now);
|
|
|
-
|
|
|
- if (exist2 == null)
|
|
|
- {
|
|
|
- createArgs2.Add("channel", channel)
|
|
|
- .Add("accountId", 0)
|
|
|
- .Add("accountName", "all")
|
|
|
- .Add("log_date", log_date)
|
|
|
- .Add("create_time", DateTime.Now)
|
|
|
- .Create();
|
|
|
+ update.Add("read_num", 0).Add("create_time", DateTime.Now).Create();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- createArgs2.Where("id=@id", new { exist2.id }).Update();
|
|
|
+ update.Add("read_num", record.read_num).Where("id=@id", new { record.id }).Update();
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ //public static void ApiCallStatistics(int intervalDay, TkChannelEnum channel, string prefix = "")
|
|
|
+ //{
|
|
|
+
|
|
|
+ // DateTime log_date = DateTime.Now.AddDays(-intervalDay).Date;
|
|
|
+
|
|
|
+ // var accounts = TkPoolCore.List();
|
|
|
+
|
|
|
+ // foreach (var account in accounts)
|
|
|
+ // {
|
|
|
+ // int accountId = account.id;
|
|
|
+ // string accountName = $"{channel}_{account.id}";
|
|
|
+
|
|
|
+ // int total_count = TkLogCore.GetTotal($":{prefix}total:{accountName}:{log_date:yyyyMMdd}");
|
|
|
+ // if (total_count == 0) continue;
|
|
|
+
|
|
|
+ // var success_count = TkLogCore.GetTotal($":{prefix}total:{accountName}:success:{log_date:yyyyMMdd}");
|
|
|
+ // var abandon_count = TkLogCore.GetTotal($":{prefix}total:{accountName}:放弃转链:{log_date:yyyyMMdd}");
|
|
|
+ // string success_percentage = string.Empty;
|
|
|
+ // string abandon_percentage = string.Empty;
|
|
|
+
|
|
|
+ // if (total_count > 0)
|
|
|
+ // {
|
|
|
+ // success_percentage = $"{success_count / (double)total_count * 100:f2}%";
|
|
|
+ // abandon_percentage = $"{abandon_count / (double)total_count * 100:f2}%";
|
|
|
+ // }
|
|
|
+
|
|
|
+ // var exist = new DBContext.Table("api_call_statistics")
|
|
|
+ // .Fields("id,log_date")
|
|
|
+ // .Get<dynamic>("log_date=@log_date AND channel=@channel AND accountId=@accountId",
|
|
|
+ // new { log_date, channel, accountId });
|
|
|
+
|
|
|
+ // var createArgs = new DBContext.Table("api_call_statistics")
|
|
|
+
|
|
|
+ // .Add($"{prefix}total_count", total_count)
|
|
|
+ // .Add($"{prefix}abandon_count", abandon_count)
|
|
|
+ // .Add($"{prefix}abandon_percentage", abandon_percentage)
|
|
|
+ // .Add($"{prefix}success_count", success_count)
|
|
|
+ // .Add($"{prefix}success_percentage", success_percentage)
|
|
|
+ // .Add("last_time", DateTime.Now);
|
|
|
+
|
|
|
+ // if (exist == null)
|
|
|
+ // {
|
|
|
+ // createArgs.Add("channel", channel)
|
|
|
+ // .Add("accountId", accountId)
|
|
|
+ // .Add("accountName", account.company)
|
|
|
+ // .Add("log_date", log_date)
|
|
|
+ // .Add("create_time", DateTime.Now)
|
|
|
+ // .Create();
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // createArgs.Where("id=@id", new { exist.id }).Update();
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+ // int all_total_count = TkLogCore.GetTotal($":{prefix}total:{channel.ToString()}:{log_date:yyyyMMdd}");
|
|
|
+ // var all_success_count = TkLogCore.GetTotal($":{prefix}total:{channel.ToString()}:success:{log_date:yyyyMMdd}");
|
|
|
+ // var all_abandon_count = TkLogCore.GetTotal($":{prefix}total:{channel.ToString()}:放弃转链:{log_date:yyyyMMdd}");
|
|
|
+
|
|
|
+ // string all_success_percentage = string.Empty;
|
|
|
+ // string all_abandon_percentage = string.Empty;
|
|
|
+ // if (all_total_count > 0)
|
|
|
+ // {
|
|
|
+ // all_success_percentage = $"{all_success_count / (double)all_total_count * 100:f2}%";
|
|
|
+ // all_abandon_percentage = $"{all_abandon_count / (double)all_total_count * 100:f2}%";
|
|
|
+ // }
|
|
|
+
|
|
|
+ // var exist2 = new DBContext.Table("api_call_statistics")
|
|
|
+ // .Fields("id,log_date")
|
|
|
+ // .Get<dynamic>("log_date=@log_date AND channel=@channel AND accountId=@accountId",
|
|
|
+ // new { log_date, channel, accountId = 0 });
|
|
|
+
|
|
|
+ // var createArgs2 = new DBContext.Table("api_call_statistics")
|
|
|
+ // .Add($"{prefix}total_count", all_total_count)
|
|
|
+ // .Add($"{prefix}abandon_count", all_abandon_count)
|
|
|
+ // .Add($"{prefix}abandon_percentage", all_abandon_percentage)
|
|
|
+ // .Add($"{prefix}success_count", all_success_count)
|
|
|
+ // .Add($"{prefix}success_percentage", all_success_percentage)
|
|
|
+ // .Add("last_time", DateTime.Now);
|
|
|
+
|
|
|
+ // if (exist2 == null)
|
|
|
+ // {
|
|
|
+ // createArgs2.Add("channel", channel)
|
|
|
+ // .Add("accountId", 0)
|
|
|
+ // .Add("accountName", "all")
|
|
|
+ // .Add("log_date", log_date)
|
|
|
+ // .Add("create_time", DateTime.Now)
|
|
|
+ // .Create();
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // createArgs2.Where("id=@id", new { exist2.id }).Update();
|
|
|
+ // }
|
|
|
+
|
|
|
+ //}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 事实动态接口(5分钟一次)
|
|
|
/// </summary>
|