222
schangxiang@126.com
2025-06-09 51c7ba2285c44af268858099871946e0b91dda55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// 麻省理工学院许可证
//
// 版权所有 (c) 2021-2023 zuohuaijun,大名科技(天津)有限公司  联系电话/微信:18020030720  QQ:515096995
//
// 特此免费授予获得本软件的任何人以处理本软件的权利,但须遵守以下条件:在所有副本或重要部分的软件中必须包括上述版权声明和本许可声明。
//
// 软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、适用性和非侵权的保证。
// 在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。
 
using Furion.Schedule;
using Microsoft.AspNetCore.SignalR;
using System.Threading;
using WMS.WC2.Core.Helper;
 
namespace WMS.WC2.Application;
 
[JobDetail("job_verify", Description = "验证授权文件", GroupName = "default", Concurrent = false)]
//[PeriodSeconds(3, TriggerId = "trigger_verify", Description = "验证授权文件", RunOnStart = true)]
//正式环境下,要1小时验证一次 
[PeriodHours(1, TriggerId = "trigger_verify", Description = "验证授权文件", RunOnStart = true)]
public class VerifyAuthrizeJob : IJob
{
    private readonly IHubContext<OnlineUserHub, IOnlineUserHub> _onlineUserHubContext;
 
    public VerifyAuthrizeJob(IHubContext<OnlineUserHub, IOnlineUserHub> onlineUserHubContext)
    {
        _onlineUserHubContext = onlineUserHubContext;
    }
 
    public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
    {
        var checkReault = await VerifyAuthorizationUtil.CheckAuthoriztion();
        if (!checkReault.result)
        {
            await _onlineUserHubContext.Clients.All.VerifyAuth(checkReault.resMsg);
        }
        else
        {
            if (string.IsNullOrEmpty(checkReault.warnMsg)) return;
            await _onlineUserHubContext.Clients.All.VerifyAuth(checkReault.warnMsg);
        }
    }
}