50 lines
2.0 KiB
C#
50 lines
2.0 KiB
C#
// using Dlhis.Entity.Basic.Entity;
|
|
// using Dlhis.ScheduledTask.Common.Request;
|
|
// using Dlhis.ScheduledTask.TaskAssignment.Request;
|
|
// using Hangfire;
|
|
// using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
|
|
// using Kurisu.AspNetCore.Utils;
|
|
// using Kurisu.AspNetCore.Utils.Extensions;
|
|
//
|
|
// namespace Dlhis.ScheduledTask.Common.Services.Implements;
|
|
//
|
|
// public class HangfireService : IHangfireService
|
|
// {
|
|
// private readonly RedisCache _redisCache;
|
|
// private readonly IDbContext _dbContext;
|
|
// private readonly IJinkoJipService _jinkoJipService;
|
|
//
|
|
// public HangfireService(RedisCache redisCache, IDbContext dbContext, IJinkoJipService jinkoJipService)
|
|
// {
|
|
// _redisCache = redisCache;
|
|
// _dbContext = dbContext;
|
|
// _jinkoJipService = jinkoJipService;
|
|
// }
|
|
//
|
|
// public async Task CreateSapPersonSyncBackgroundJobAsync(SapNoRequest request)
|
|
// {
|
|
// // var jobKey = $"hangfire:background:person:{request.Code}";
|
|
// //
|
|
// // using var handler = await _redisCache.LockAsync(jobKey);
|
|
// // if (handler.Acquired)
|
|
// // {
|
|
// // BackgroundJob.Enqueue<IGainfoUpdateService>(x => x.TodoByCodeAsync(request.Code));
|
|
// // }
|
|
// }
|
|
//
|
|
// public async Task CreateSapWerkSyncBackgroundJobAsync(SapNoRequest request)
|
|
// {
|
|
// // var jobKey = $"hangfire:background:werk:{request.Code}";
|
|
// //
|
|
// // await using var handler = await _redisCache.LockAsync(jobKey);
|
|
// // if (handler.Acquired)
|
|
// // {
|
|
// // var werkInfo = await _dbContext.Queryable<WerkEntity>().Where(x => x.Werk == request.Code).SingleAsync();
|
|
// // werkInfo.ThrowIfNull("人事范围不存在");
|
|
// //
|
|
// // werkInfo.BackgroundJobKey.IsPresent().ThrowIfTrue("任务进行中,无法再次发起同步");
|
|
// //
|
|
// // BackgroundJob.Enqueue<IGainfoUpdateService>(x => x.TodoByWerkAsync(request.Code));
|
|
// // }
|
|
// }
|
|
// } |