xf 1 anno fa
parent
commit
e5c20b64f4

+ 40 - 32
src/Hotline.Application/Bigscreen/BigscreenDataShowRefreshService.cs

@@ -48,43 +48,51 @@ namespace Hotline.Application.Bigscreen
 
             while (!stoppingToken.IsCancellationRequested)
             {
-                var now = DateTime.Now;
-                var today = now.Date;
-                var month = now.Month;
-                var secRange = (now - _lastModifyTime).TotalSeconds;
-                
-
-                if (secRange >= 10)
+                try
                 {
-                    //area1
-                    var todayTotal = await orderRepository.CountAsync(d => d.CreationTime.Date == today, stoppingToken);
-                    var todayCompleted =
-                        await orderRepository.CountAsync(d => d.FiledTime.HasValue && d.FiledTime.Value.Date == today,
-                            stoppingToken);
-                    var monthTotal = await orderRepository.CountAsync(d => d.CreationTime.Month == month, stoppingToken);
-                    var monthCompleted = await orderRepository.CountAsync(d => d.FiledTime.HasValue && d.FiledTime.Value.Month == month, stoppingToken);
-                    await realtimeService.BsDataShowChanged1Async(new { todayTotal, todayCompleted, monthTotal, monthCompleted }, stoppingToken);
 
-                    //area3
-                    var calls = await callRepository.Queryable()
-                        .OrderByDescending(d => d.CreationTime)
-                        .Take(20)
-                        .Select(d => new { creationTime = d.CreatedTime, from = d.CPNName, to = d.CDPN, d.Duration })
-                        .ToListAsync(stoppingToken);
-                    await realtimeService.BsDataShowChanged3Async(calls, stoppingToken);
+                    var now = DateTime.Now;
+                    var today = now.Date;
+                    var month = now.Month;
+                    var secRange = (now - _lastModifyTime).TotalSeconds;
 
-                    //area8
-                    var orders = await orderRepository.Queryable(workflowFilter: false)
-                        .OrderByDescending(d => d.CreationTime)
-                        .Take(20)
-                        .Select(d => new { d.No, d.Title, d.Address, d.CreationTime, d.AcceptType })
-                        .ToListAsync(stoppingToken);
-                    await realtimeService.BsDataShowChanged8Async(orders, stoppingToken);
 
-                    logger.LogInformation($"send msg: {orders.First().Address}");
-                    _lastModifyTime = DateTime.Now;
-                }
+                    if (secRange >= 10)
+                    {
+                        //area1
+                        var todayTotal = await orderRepository.CountAsync(d => d.CreationTime.Date == today, stoppingToken);
+                        var todayCompleted =
+                            await orderRepository.CountAsync(d => d.FiledTime.HasValue && d.FiledTime.Value.Date == today,
+                                stoppingToken);
+                        var monthTotal = await orderRepository.CountAsync(d => d.CreationTime.Month == month, stoppingToken);
+                        var monthCompleted = await orderRepository.CountAsync(d => d.FiledTime.HasValue && d.FiledTime.Value.Month == month, stoppingToken);
+                        await realtimeService.BsDataShowChanged1Async(new { todayTotal, todayCompleted, monthTotal, monthCompleted }, stoppingToken);
+
+                        //area3
+                        var calls = await callRepository.Queryable()
+                            .OrderByDescending(d => d.CreationTime)
+                            .Take(20)
+                            .Select(d => new { creationTime = d.CreatedTime, from = d.CPNName, to = d.CDPN, d.Duration })
+                            .ToListAsync(stoppingToken);
+                        await realtimeService.BsDataShowChanged3Async(calls, stoppingToken);
+
+                        //area8
+                        var orders = await orderRepository.Queryable(workflowFilter: false)
+                            .OrderByDescending(d => d.CreationTime)
+                            .Take(20)
+                            .Select(d => new { d.No, d.Title, d.Address, d.CreationTime, d.AcceptType })
+                            .ToListAsync(stoppingToken);
+                        await realtimeService.BsDataShowChanged8Async(orders, stoppingToken);
 
+                        logger.LogInformation($"send msg: {orders.First().Address}");
+                        _lastModifyTime = DateTime.Now;
+                    }
+
+                }
+                catch (Exception)
+                {
+                    
+                }
                 await Task.Delay(times, stoppingToken);
             }
         }