using Hangfire;
using Microsoft.Owin;
using Owin;
using System;
[assembly: OwinStartup(typeof(SmartPal.Web.Startup))]
namespace SmartPal.Web
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
try
{
ConfigureAuth(app);
#if !DEBUG
app.UseHangfireDashboard("/hangfire", new DashboardOptions
{
DisplayStorageConnectionString = false
});
RecurringJob.AddOrUpdate<HangFire.Job>(job => job.SyncPayShareBill(), "0 30 10 * * ? ", TimeZoneInfo.Local);
#endif
/// <summary>
/// 批量同步开户(凌晨:02:30:00)
/// </summary>
RecurringJob.AddOrUpdate<HangFire.Job>(job => job.SyncCreateVirtual(), "0 30 2 * * ? ", TimeZoneInfo.Local);
/// <summary>
/// 间接统计每个商户7天订单交易记录金额总合计(凌晨:01:30:00)
/// </summary>
RecurringJob.AddOrUpdate<HangFire.Job>(job => job.SetUserTransRecord(), "0 30 1 * * ? ", TimeZoneInfo.Local);
/// <summary>
///使用老版虚拟户来批量创建丰付前置系统开户及换卡功能 (Hangfire任务)(凌晨:05:01:00)
/// </summary>
//RecurringJob.AddOrUpdate<HangFire.Job>(job => job.TaskSyncVirtualAccount(), "0 01 5 * * ? ", TimeZoneInfo.Local);
}
catch (Exception ex)
{
SmartPalJK.Infrastructure.Context.Logger.Error(String.Format("{0}", ex.Message));
}
}
}
}
using Hangfire;
using SmartPalJK.Core.Models;
using SmartPalJK.Core.Services;
using SmartPalJK.Core.Services.JiuKa;
using SmartPalJK.Core.Services.JiuKa.Model;
using System;
namespace SmartPal.Web.HangFire
{
public class Job
{
public void SyncPayShareBill()
{
JiuKaService.SyncEncashPayShareBills(DateTime.Now);
}
public void SyncPayShareBillDT(DateTime dt)
{
JiuKaService.SyncEncashPayShareBills(dt);
}
/// <summary>
/// 批量同步开户
/// </summary>
public void SyncCreateVirtual()
{
VirtualService.BusinessVirtualAccount(0,0);
}
/// <summary>
/// 批量同步润物开户状态
/// </summary>
public void SyncRuiWuVirtualStatus()
{
VirtualService.BusinessVirtualRuiWuAccount(0);
}
/// <summary>
/// 间接统计每个商户7天订单交易记录金额总合计
/// </summary>
public void SetUserTransRecord()
{
MerchantService.SetUserSevenTransMoney();
}
/// <summary>
/// 使用老版虚拟户来批量创建丰付前置系统开户及换卡功能(Hangfire任务)
/// </summary>
public void TaskSyncVirtualAccount()
{
VirtualService.TaskSyncVirtualAccount((int)ChanneEnum.FengFuSignSystem);
}
/// <summary>
/// 提交分账任务
/// </summary>
/// <param name="encashCollectPayShareId"></param>
public void ApplyWithdraw(string encashCollectPayShareId)
{
var model = EncashCollectPayShareService.Find(encashCollectPayShareId);
var data = JiuKaService.ApplyWithdraw(model.Id, model.Amount, model.MerId.ToString());
if (data.Code == Code.Success)//该返回结果表示 提交成功
{
model.Status = SmartPalJK.Core.Models.ENCASH_STATUS.ThirdProcessing;
//加入异步查询任务
BackgroundJob.Schedule<Job>(jo
C# NET4.5 以上 HangFire异步框架使用
于 2024-02-18 12:52:54 首次发布