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;
|
}
|
|
|
}
|
}
|
}
|