99
This commit is contained in:
@@ -20,10 +20,18 @@ namespace MyCode.Project.Domain.Model
|
|||||||
/// Default:
|
/// Default:
|
||||||
/// Nullable:False
|
/// Nullable:False
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Request {get;set;}
|
[SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
|
||||||
|
public int Id {get;set;}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Desc:
|
/// Desc:
|
||||||
|
/// Default:
|
||||||
|
/// Nullable:False
|
||||||
|
/// </summary>
|
||||||
|
public string Request {get;set;}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:运行状态 0=未运行 1=运行中 2=运行成功 3=失败
|
||||||
/// Default:0
|
/// Default:0
|
||||||
/// Nullable:False
|
/// Nullable:False
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -36,5 +44,12 @@ namespace MyCode.Project.Domain.Model
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string ExceptionInfo {get;set;}
|
public string ExceptionInfo {get;set;}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Desc:刷新登录参数的时间
|
||||||
|
/// Default:DateTime.Now
|
||||||
|
/// Nullable:True
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? EditTime {get;set;}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<Jobs>
|
<Jobs>
|
||||||
<job name="EveryTimeJob" desc="每3秒执行调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.EveryJob,MyCode.Project.ScheduleTask" CronExpression="*/3 * * * * ?" />
|
<job name="EveryTimeJob" desc="每1分钟执行调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.EveryJob,MyCode.Project.ScheduleTask" CronExpression="0 */1 * * * ?" />
|
||||||
<job name="EveryPriority2Job" desc="每30秒执行调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.EveryPriority2Job,MyCode.Project.ScheduleTask" CronExpression="*/2 * * * * ?" />
|
<job name="EveryPriority2Job" desc="每30秒执行调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.EveryPriority2Job,MyCode.Project.ScheduleTask" CronExpression="*/30 * * * * ?" />
|
||||||
<job name="EveryOtherJob" desc="每60秒执行调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.EveryOtherJob,MyCode.Project.ScheduleTask" CronExpression="0 */1 * * * ?" />
|
<job name="EveryOtherJob" desc="每60秒执行调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.EveryOtherJob,MyCode.Project.ScheduleTask" CronExpression="0 */1 * * * ?" />
|
||||||
|
<job name="EveryMinuteJob" desc="每1分钟执行调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.EveryMinuteJob,MyCode.Project.ScheduleTask" CronExpression="0 */1 * * * ?" />
|
||||||
|
|
||||||
|
|
||||||
|
<job name="NinePMTimeJob" desc="半夜1点创建登录信息" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.NinePMTimeJob,MyCode.Project.ScheduleTask" CronExpression="0 0 1 * * ?" />
|
||||||
<job name="OpenIdJob" desc="半夜1点创建刷OPENID任务" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.NinePMTimeJob,MyCode.Project.ScheduleTask" CronExpression="0 0 1 * * ?" />
|
|
||||||
|
|
||||||
|
|
||||||
</Jobs>
|
</Jobs>
|
||||||
|
|||||||
@@ -15,21 +15,21 @@ using System.Threading;
|
|||||||
|
|
||||||
namespace MyCode.Project.ScheduleTask.Jobs
|
namespace MyCode.Project.ScheduleTask.Jobs
|
||||||
{
|
{
|
||||||
public class EveryFiveMinuteJob : IJob
|
public class EveryMinuteJob : IJob
|
||||||
{
|
{
|
||||||
|
|
||||||
private IReport2308Service _report2308Service;
|
private IStaffDataEnterpriseWechatService _staffDataEnterpriseWechatService;
|
||||||
|
|
||||||
public EveryFiveMinuteJob(IReport2308Service report2308Service)
|
public EveryMinuteJob(IStaffDataEnterpriseWechatService staffDataEnterpriseWechatService)
|
||||||
{
|
{
|
||||||
_report2308Service = report2308Service;
|
_staffDataEnterpriseWechatService = staffDataEnterpriseWechatService;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void Execute(IJobExecutionContext context)
|
public void Execute(IJobExecutionContext context)
|
||||||
{
|
{
|
||||||
_report2308Service.EveryFiveMinuteJob();
|
_staffDataEnterpriseWechatService.TaskAttendanceRequest();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -93,6 +93,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="JobsHelp.cs" />
|
<Compile Include="JobsHelp.cs" />
|
||||||
|
<Compile Include="Jobs\EveryMinuteJob.cs" />
|
||||||
<Compile Include="Jobs\EveryPriority2Job.cs" />
|
<Compile Include="Jobs\EveryPriority2Job.cs" />
|
||||||
<Compile Include="Jobs\EveryOtherJob.cs" />
|
<Compile Include="Jobs\EveryOtherJob.cs" />
|
||||||
<Compile Include="Jobs\NinePMTimeJob.cs" />
|
<Compile Include="Jobs\NinePMTimeJob.cs" />
|
||||||
|
|||||||
@@ -20,5 +20,11 @@ namespace MyCode.Project.Services
|
|||||||
void TaskGetUserByAccount();
|
void TaskGetUserByAccount();
|
||||||
|
|
||||||
void AddTask();
|
void AddTask();
|
||||||
|
/// <summary>
|
||||||
|
/// 定时打卡任务
|
||||||
|
/// </summary>
|
||||||
|
void TaskAttendanceRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,12 +8,14 @@ using MyCode.Project.Infrastructure.WebPost;
|
|||||||
using MyCode.Project.OutSideService;
|
using MyCode.Project.OutSideService;
|
||||||
using MyCode.Project.Repositories;
|
using MyCode.Project.Repositories;
|
||||||
using Senparc.CO2NET.Exceptions;
|
using Senparc.CO2NET.Exceptions;
|
||||||
|
using Senparc.Weixin.MP.Entities.Request;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Security.Policy;
|
using System.Security.Policy;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
using System.Web.Helpers;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace MyCode.Project.Services.Implementation
|
namespace MyCode.Project.Services.Implementation
|
||||||
@@ -27,6 +29,7 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
|
|
||||||
private ITBDStaffDataLRepository _tBDStaffDataLRepository;
|
private ITBDStaffDataLRepository _tBDStaffDataLRepository;
|
||||||
private ITBDStaffDataRepository _tBDStaffDataRepository;
|
private ITBDStaffDataRepository _tBDStaffDataRepository;
|
||||||
|
private ITAttendanceRequestRepository _tAttendanceRequestRepository;
|
||||||
private ITUserLoginParameterRepository _tUserLoginParameterRepository;
|
private ITUserLoginParameterRepository _tUserLoginParameterRepository;
|
||||||
|
|
||||||
private static object locker = new object(); //创建锁
|
private static object locker = new object(); //创建锁
|
||||||
@@ -35,16 +38,21 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
, ITBDStaffDataLRepository tBDStaffDataLRepository
|
, ITBDStaffDataLRepository tBDStaffDataLRepository
|
||||||
, ITBDStaffDataRepository tBDStaffDataRepository
|
, ITBDStaffDataRepository tBDStaffDataRepository
|
||||||
, ITUserLoginParameterRepository tUserLoginParameterRepository
|
, ITUserLoginParameterRepository tUserLoginParameterRepository
|
||||||
|
, ITAttendanceRequestRepository tAttendanceRequestRepository
|
||||||
, IEnterpriseWechatService enterpriseWechatService)
|
, IEnterpriseWechatService enterpriseWechatService)
|
||||||
{
|
{
|
||||||
_workProcessService = workProcessService;
|
_workProcessService = workProcessService;
|
||||||
_tUserLoginParameterRepository = tUserLoginParameterRepository;
|
_tUserLoginParameterRepository = tUserLoginParameterRepository;
|
||||||
_tBDStaffDataLRepository = tBDStaffDataLRepository;
|
_tBDStaffDataLRepository = tBDStaffDataLRepository;
|
||||||
_tBDStaffDataRepository = tBDStaffDataRepository;
|
_tBDStaffDataRepository = tBDStaffDataRepository;
|
||||||
|
_tAttendanceRequestRepository = tAttendanceRequestRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
DateTime now = DateTime.Now;
|
DateTime now = DateTime.Now;
|
||||||
|
/// <summary>
|
||||||
|
/// 打卡
|
||||||
|
/// </summary>
|
||||||
|
public static string _UpdateAttendanceDataUrl = "http://14.21.32.187:9090/K3Cloud/G_HRApi.Attendance.UpdateAttendanceData.ExecuteService,G-HRApi.common.kdsvc";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 定时获取用户登录参数
|
/// 定时获取用户登录参数
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -135,15 +143,55 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
_tUserLoginParameterRepository.Update(t);
|
_tUserLoginParameterRepository.Update(t);
|
||||||
Thread.Sleep(300);
|
Thread.Sleep(300);
|
||||||
});
|
});
|
||||||
//_workProcessService.Add<IStaffDataEnterpriseWechatService>(this.MerchantId, "InitDepartment", "刷企业微信数据", "", 2);
|
_workProcessService.Add<IStaffDataEnterpriseWechatService>(this.MerchantId, "TaskGetUserByAccount", "调度定时登录账号信息", "", 2);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void AddTask()
|
public void AddTask()
|
||||||
{
|
{
|
||||||
_workProcessService.Add<IStaffDataEnterpriseWechatService>(this.MerchantId, "TaskGetPasswordData", "定时获取用户登录参数", "", 2);
|
_workProcessService.Add<IStaffDataEnterpriseWechatService>(this.MerchantId, "TaskGetPasswordData", "定时获取用户登录参数", "", 2);
|
||||||
_workProcessService.Add<IStaffDataEnterpriseWechatService>(this.MerchantId, "TaskGetUserByAccount", "调度定时登录账号信息", "", 2);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 定时打卡任务
|
||||||
|
/// </summary>
|
||||||
|
public void TaskAttendanceRequest()
|
||||||
|
{
|
||||||
|
WebUtils webUtility = new WebUtils();
|
||||||
|
var list = _tAttendanceRequestRepository.Queryable().Where(t => t.Status == 0).OrderBy(y => y.Id).Take(50).ToList();
|
||||||
|
list.ForEach(t =>
|
||||||
|
{
|
||||||
|
t.Status = 1;
|
||||||
|
t.EditTime = DateTime.Now;
|
||||||
|
t.ExceptionInfo = "";
|
||||||
|
|
||||||
|
});
|
||||||
|
_tAttendanceRequestRepository.Update(list);
|
||||||
|
list.ForEach(t =>
|
||||||
|
{
|
||||||
|
LogHelper.Info(t.Request);
|
||||||
|
var re = webUtility.DoPostJson(_UpdateAttendanceDataUrl, t.Request);
|
||||||
|
LogHelper.Info(re);
|
||||||
|
var result = JsonHelper.ToObject<DeMiResp>(re);
|
||||||
|
if (result.Result.IsSuccess == "true")
|
||||||
|
{
|
||||||
|
t.Status = 2;
|
||||||
|
t.EditTime = DateTime.Now;
|
||||||
|
t.ExceptionInfo = "";
|
||||||
|
_tAttendanceRequestRepository.Update(t);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
t.Status = 3;
|
||||||
|
t.EditTime = DateTime.Now;
|
||||||
|
t.ExceptionInfo = result.Result.ErrorMessage;
|
||||||
|
_tAttendanceRequestRepository.Update(t);
|
||||||
|
}
|
||||||
|
Thread.Sleep(500);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user