CoreCms.Net.Configuration/AppSettingsConstVars.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CoreCms.Net.Services/CYOAServices/CyinOAService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CoreCms.Net.Task/AutoCloseCYPeiSongJobs.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CoreCms.Net.Task/HangfireDispose.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
CoreCms.Net.Configuration/AppSettingsConstVars.cs
@@ -57,6 +57,11 @@ /// </summary> public static readonly string CyDbDbType = AppSettingsHelper.GetContent("CyConnectionStrings", "DbType"); /// <summary> /// 川印派送订单超时时间设置 /// </summary> public static readonly string CyDeliverOverTime = AppSettingsHelper.GetContent("CyinOs", "CyDeliverOverTime"); #endregion #region redis================================================================================ CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs
@@ -1,5 +1,7 @@ using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using SqlSugar; @@ -131,19 +133,28 @@ /// <summary> /// 未开始,已经预约 建立就表示预约 /// </summary> [Description("未开始,已经预约 建立就表示预约")] UnStart, /// <summary> /// 开始 /// </summary> [Description("开始")] Start, /// <summary> /// 完成 /// </summary> [Description("完成")] Completed, /// <summary> /// 失败取消 /// </summary> Faile [Description("失败取消")] Faile, /// <summary> /// 超时 /// </summary> [Description("超时完成")] OverTime } } CoreCms.Net.Services/CYOAServices/CyinOAService.cs
@@ -59,8 +59,7 @@ const string IsSchoolID = "IsShoodsID:"; const string IsSchoolMangerID = "IsSchoolManger:"; const string IsDeliverManageKey = "IsDeliverManageKey:"; private readonly ISqlSugarClient _CyDbClient; private readonly IUnitOfWork _UnitOfWork; private readonly ISqlSugarClient _CyDbClient; private readonly IHttpContextUser _User; private readonly ICoreCmsUserServices _coreCmsUserServices; private readonly IRedisOperationRepository _redisOperationRepository; @@ -76,7 +75,7 @@ IRedisOperationRepository redisOperationRepository, ICoreCmsUserServices coreCmsUser) { _UnitOfWork = unitOfWork; _CyDbClient = unitOfWork.GetDbClient().GetConnection(AppSettingsConstVars.CYDbDbID); _User = contextUser; _coreCmsUserServices = coreCmsUserServices; CoreCms.Net.Task/AutoCloseCYPeiSongJobs.cs
New file @@ -0,0 +1,60 @@ using CoreCms.Net.Configuration; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; using CoreCms.Net.Repository.UnitOfWork; using CoreCms.Net.Utility.Extensions; using EC_SeckillInfo; using Essensoft.Paylink.Alipay.Domain; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CoreCms.Net.Task { /// <summary> /// 自动关闭CY配送单,防止定位信息无效增长 /// </summary> public class AutoCloseCYPeiSongJobs { private readonly ISqlSugarClient _CyDbClient; public AutoCloseCYPeiSongJobs(IUnitOfWork unitOfWork) { _CyDbClient = unitOfWork.GetDbClient().GetConnection(AppSettingsConstVars.CYDbDbID); } public async System.Threading.Tasks.Task Execute() { var ListData= await _CyDbClient.Queryable<CoreDeliverOrder>().Where(x => x.OrderState == CoreDeliverOrderType.Start).ToListAsync(); await _CyDbClient.AsTenant().BeginTranAsync(); try { foreach (var item in ListData) { if( item.StartTime.Value.AddDays(AppSettingsConstVars.CyDeliverOverTime.ToInt32OrDefault(5))<DateTime.Now) { item.OverTime= DateTime.Now; item.OrderState = CoreDeliverOrderType.OverTime; item.UpDataBy = "定时任务"; item.UpdataTime = DateTime.Now; item.Remarke = "系统超时完结处理"; await _CyDbClient.Updateable(item).ExecuteCommandAsync(); } } await _CyDbClient.AsTenant().CommitTranAsync(); } catch (Exception) { await _CyDbClient.AsTenant().RollbackTranAsync(); throw; } } } } CoreCms.Net.Task/HangfireDispose.cs
@@ -72,6 +72,8 @@ //定时计算经销商推广费用 RecurringJob.AddOrUpdate<AutoSettleAchievementTotal>("AutoSettleAchievementTotal", s => s.Execute(), "0 0 0/1 * * ? ", new RecurringJobOptions { TimeZone = TimeZoneInfo.Local }); // 每小时计算经销商推广费用 //定时处理司机配送单超时处理 RecurringJob.AddOrUpdate<AutoCloseCYPeiSongJobs>("AutoCloseCYPeiSongJobs", s => s.Execute(), "0 */6 * * *", new RecurringJobOptions { TimeZone = TimeZoneInfo.Local }); // 每6小时执行一次配送单超时检测 0 */6 * * * } #endregion