移动系统liao
2025-02-17 557c2711a3e103ebc3d0492344eca9730d5e92b2
增加司机配送单超时处理任务,防止一直不停手机定位信息,
4个文件已修改
1个文件已添加
85 ■■■■■ 已修改文件
CoreCms.Net.Configuration/AppSettingsConstVars.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Services/CYOAServices/CyinOAService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Task/AutoCloseCYPeiSongJobs.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CoreCms.Net.Task/HangfireDispose.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | 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