Эх сурвалжийг харах

拆分dp类型的push数据;
增加lastfastreport接口;

dodo hold 1 жил өмнө
parent
commit
84a6a61de1

+ 78 - 2
molilian.api/Controllers/public/TaskController.cs

@@ -447,7 +447,7 @@ namespace molilian.api.Controllers
 
 
 #if DEBUG
-                    await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, TkChannelEnum.pdd);
+                    await AlimamaPlus.ApiCallStatisticsAsync(3, intervalDay, TkChannelEnum.tb);
 #else
                 await AlimamaPlus.ApiCallStatisticsAsync(1, intervalDay, TkChannelEnum.tb);
                 await AlimamaPlus.ApiCallStatisticsAsync(2, intervalDay, TkChannelEnum.tb);
@@ -598,6 +598,79 @@ namespace molilian.api.Controllers
             return new APIResult(new { success = true, message = "ok" });
         }
 
+        [HttpGet]
+        public async Task<ActionResult> LastFastReport(int days = 0)
+        {
+            string lockKey = "lock:LastFastReport";
+
+            if (!RedisHelper.Set(lockKey, "1", 300))
+            {
+                string message = "【LastFastReport】任务正在执行中,跳过本次调用";
+                _ = new LoggerLibrary("task_lock", "skip")
+                    .Info(message)
+                    .SaveAsync();
+                return new APIResult(new { success = false, message = "任务正在执行中" });
+            }
+
+            var startTimestamp = DateTime.Now;
+            try
+            {
+                string message = string.Empty;
+                var list = await TkPoolCore.ListAsync();
+                foreach (var account in list)
+                {
+#if DEBUG
+                    if (account.id != 113) continue;
+#endif
+                    if (!account.enable_sync_order) continue;
+                    try
+                    {
+                        var alimama = new AlimamaPlus(account);
+                        await alimama.SaveReportOverview(days);
+                    }
+                    catch (Exception ex)
+                    {
+                        message = $"【报表接口异常】LastFastReport\n{ex.Message}\n{ex.StackTrace}";
+                        NotifyCore.Notify(new NifyMessage
+                        {
+                            message = message,
+                            priority = NifyMessagePriority.high,
+                            tags = ["red_circle"]
+                        });
+                        continue;
+                    }
+                }
+
+                await EndPointCore.NotifyReload(true);
+                return new APIResult(new { success = true, message = "ok" });
+            }
+            catch (Exception ex)
+            {
+                string errorMessage = $"【LastFastReport】执行异常: {ex.Message}";
+                _ = new LoggerLibrary("task_error", "LastFastReport")
+                    .Info(errorMessage, ex.StackTrace)
+                    .SaveAsync();
+
+                NotifyCore.Notify(new NifyMessage
+                {
+                    message = errorMessage,
+                    priority = NifyMessagePriority.high,
+                    tags = ["red_circle"]
+                });
+                return new APIResult(new { success = false, message = errorMessage });
+            }
+            finally
+            {
+                var executionTime = DateTime.Now - startTimestamp;
+                string logMessage = $"【LastFastReport】执行完成,耗时: {executionTime.TotalSeconds:F2}秒";
+                _ = new LoggerLibrary("task_performance", "LastFastReport")
+                    .Info(logMessage)
+                    .SaveAsync();
+                RedisHelper.Del(lockKey);
+            }
+        }
+
+
         [HttpGet]
         public async Task<ActionResult> FastReport(string ignore = "")
         {
@@ -623,6 +696,9 @@ namespace molilian.api.Controllers
                 {
                     foreach (var account in list)
                     {
+#if DEBUG
+                        if (account.id != 113) continue;
+#endif
                         try
                         {
                             account.current_daily_calls = await RiskControlCore.GetAllNodesCallsAsync(TkChannelEnum.tb, account.id, DateTime.Now.ToString("yyyyMMdd"));
@@ -650,7 +726,7 @@ namespace molilian.api.Controllers
                         try
                         {
                             var alimama = new AlimamaPlus(account);
-                            _ = alimama.SaveReportOverview();
+                            await alimama.SaveReportOverview();
                         }
                         catch (Exception ex)
                         {

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
molilian.api/Properties/PublishProfiles/latest.pubxml.user


+ 1 - 1
molilian.core/Core/EndPointCore.cs

@@ -75,7 +75,7 @@ Server=rm-2ze74506m3gfsqe7mco.rwlb.rds.aliyuncs.com; Port=3306; Database=coupon;
             var item = list.Where(s => !s.is_coupon_api && !s.is_public_api).FirstOrDefault();
 
 #if DEBUG
-            item.db_server = "Server=rm-2zey1jqxnoqy9mcc0uo.rwlb.rds.aliyuncs.com; Port=3306; Database=taoke; Uid=taoke; Pwd=67ktWBmw5G4yMs4J;SslMode=None;CharSet=utf8mb4;ConnectionTimeout=60;";
+            item.db_server = "Server=rm-2ze49fcn8e28e6gzu3o.rwlb.rds.aliyuncs.com; Port=3306; Database=taoke; Uid=taoke; Pwd=67ktWBmw5G4yMs4J;SslMode=None;CharSet=utf8mb4;ConnectionTimeout=60;";
 #endif
             return item;
         }

+ 9 - 0
molilian.core/Core/PushDataReport/PushDataReportCore.cs

@@ -57,16 +57,24 @@ namespace molilian.core
                 var platform_list = new List<DeeplinkParseRuleDTO>()
                 {
                     new() { channel_id = 0,  push_channel_id = 1, channel_name = "tb" },
+                    new() { channel_id = 0,  push_channel_id = 1, channel_name = "tbdp" },
                     new() { channel_id = 1, push_channel_id = 13, channel_name = "jd" },
                     new() { channel_id = 3,  push_channel_id = 9, channel_name = "pdd" }
                 };
 
 
                 int data_type = 1; //转链数据
+                int sub_type = 100000;
                 int count = 0;
                 foreach (var p in platform_list)
                 {
                     int platform = p.channel_id;
+                    string channel_name = p.channel_name;
+                    if ("tbdp".Equals(channel_name))
+                    {
+                        data_type = 3;
+                        sub_type = 300002;
+                    }
                     string filter = "`is_show`=@is_show AND data_type=@data_type AND platform=@platform AND report_date=@report_date";
 
                     string orderBy = "report_date DESC";
@@ -90,6 +98,7 @@ namespace molilian.core
                             item.platform = p.push_channel_id;
                             item.platform_name = p.channel_name;
                             item.type = data_type;
+                            item.sub_type = sub_type;
                             item.distribution = distribution;
                             item.req_count = data.total_count;
                             item.dp_transition_succ_count = data.success_count;

+ 19 - 0
molilian.core/Core/log/base.cs

@@ -524,6 +524,25 @@ namespace molilian.core
                     {
                         try
                         {
+
+#if DEBUG
+                            switch (node.name)
+                            {
+
+                                case "bj":
+                                    node.redis_server = "101.200.152.61:6379,password=pKBiS4ka2IpXayIdcx00,defaultDatabase=0,idleTimeout=20000,preheat=3,tryit=2,ssl=false,prefix=webhook";
+                                    break;
+                                case "gz":
+                                    node.redis_server = "8.138.110.158:6379,password=pKBiS4ka2IpXayIdcx00,defaultDatabase=0,idleTimeout=20000,preheat=3,tryit=2,ssl=false,prefix=webhook";
+                                    break;
+                                case "coupon1":
+                                    node.redis_server = "123.56.185.166:6379,password=pKBiS4ka2IpXayIdcx00,defaultDatabase=0,idleTimeout=20000,preheat=3,tryit=2,ssl=false,prefix=coupon";
+                                    break;
+                            }
+
+#endif
+
+
                             var redisServer = EndPointCore.GetRedisServer(node);
                             if (string.IsNullOrEmpty(redisServer))
                                 return 0;

+ 126 - 104
molilian.core/Plus/Alimama/crawler.cs

@@ -335,14 +335,14 @@ namespace molilian.core
         /// <summary>
         /// 
         /// </summary>
-        /// <param name="data_type">1转链 2优惠券</param>
+        /// <param name="data_type">1转链 2优惠券 3dp</param>
         /// <param name="intervalDay"></param>
         /// <param name="channel"></param>
         public static async Task ApiCallStatisticsAsync(int data_type, int intervalDay, TkChannelEnum channel)
         {
             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;
 
             using var conn = EndPointCore.GetDbConnection(endpoint.db_server);
@@ -367,7 +367,9 @@ namespace molilian.core
             {
                 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 });
 
                         if (exist_report_dailys != null)
@@ -390,7 +392,7 @@ namespace molilian.core
                              new { log_date, channel, accountId = 0 });
                         if (exist != null)
                         {
-                            if (data_type == 1)
+                            if (data_type == 1 || data_type == 3)
                             {
                                 update.Add("total_count", exist.parse_total_count)
                                     .Add("abandon_count", exist.parse_abandon_count)
@@ -588,9 +590,11 @@ namespace molilian.core
         /// 事实动态接口(5分钟一次)
         /// </summary>
         /// <param name="date"></param>
-        public async Task SaveReportOverview()
+        public async Task SaveReportOverview(int days = 0)
         {
             DateTime date = DateTime.Now;
+            if (days > 0) date = date.AddDays(-days);
+
             TkReportDTO result = new TkReportDTO();
             try
             {
@@ -599,14 +603,20 @@ namespace molilian.core
 
                 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";
+#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("Cookie", _cookies);
+                client.Referer = "https://pub.alimama.com/portal/v2/pages/effect/account/total/page/index.htm";
 #if DEBUG
+                client.Proxy = new System.Net.WebProxy("bjapi.molilian.com", 20087);
 #else
                 client.Proxy = _proxy;
 #endif
+
                 if (!string.IsNullOrEmpty(_user_agent)) client.UserAgent = _user_agent;
                 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, "tk_report", result);
                 }
+                else
+                {
+                    await EachSaveReportOverviewAsync(report_date, "tk_report", result);
+                }
             }
             catch (Exception ex)
             {
@@ -682,128 +696,136 @@ namespace molilian.core
         }
         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")
                  .Get<dynamic>("report_date=@report_date AND 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)
                 {
-                    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)
                 {
-                    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)
                 {
-                    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)
                 {
-                    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;
             }
         }
 

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 5 - 4
molilian.core/Plus/Alimama/orders.cs


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно