Commit 2231c82f authored by 黄奎's avatar 黄奎

定时服务调整

parent 93a5f40a
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Text;
using System;
using System.Threading;
namespace Mall.WindowsService.Helper
{
public class TimersHelper
{
private static int inTimer = 0;
private static int inTimer1 = 0;
private static int inTimer2 = 0;
private static int inTimer3 = 0;
private static int inTimer4 = 0;
private static int inTimer5 = 0;
private static int inTimer6 = 0;
private static int inTimer7 = 0;
private static int inTimer8 = 0;
......@@ -27,63 +18,62 @@ namespace Mall.WindowsService.Helper
/// <param name="e"></param>
public void RevenueFinance(object sender, System.Timers.ElapsedEventArgs e)
{
if (Interlocked.Exchange(ref inTimer, 1) == 0)
DateTime now = DateTime.Now;
if (now.Minute == 10)
{
Thread.Sleep(1000 * 60);
LogHelper.Write("RevenueFinance=====Start");
Module.FinanceModule.OrderIncomeFinanceModule();
LogHelper.Write("RevenueFinance=====End");
bool flag= Module.FinanceModule.OrderIncomeFinanceModule();
LogHelper.Write("RevenueFinance=====End " + flag);
#region 退款制单
LogHelper.Write("AutoCreateFinanceRefund=====Start");
Module.FinanceModule.AutoCreateFinanceRefund();
LogHelper.Write("AutoCreateFinanceRefund=====End");
flag= Module.FinanceModule.AutoCreateFinanceRefund();
LogHelper.Write("AutoCreateFinanceRefund=====End "+flag);
#endregion
#region 分享商VIP过期时间
LogHelper.Write("DistributorVipModule=====Start");
Module.FinanceModule.DistributorVipModule();
LogHelper.Write("DistributorVipModule=====End");
flag= Module.FinanceModule.DistributorVipModule();
LogHelper.Write("DistributorVipModule=====End "+flag);
#endregion
#region 电商统计
if (DateTime.Now.Hour == 1)
if (now.Hour == 1)
{
LogHelper.Write("UpdateToDayUserStatistics=====Start");
try
{
new Module.UserStatisticsModule().UpdateToDayUserStatistics("", "");
flag= new Module.UserStatisticsModule().UpdateToDayUserStatistics("", "");
}
catch (Exception ex)
{
flag = false;
LogHelper.Write("UpdateToDayUserStatistics:" + ex.Message);
}
LogHelper.Write("UpdateToDayUserStatistics=====End");
LogHelper.Write("UpdateToDayUserStatistics=====End " + flag);
}
#endregion
Interlocked.Exchange(ref inTimer, 0);
}
}
/// <summary>
/// 自动取消订单
/// 自动取消订单【10分钟执行一次】
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void AutoCancelOrder(object sender, System.Timers.ElapsedEventArgs e)
{
if (Interlocked.Exchange(ref inTimer1, 1) == 0)
DateTime now = DateTime.Now;
if (now.Minute % 10 == 0)
{
Thread.Sleep(1000 * 60);
LogHelper.Write("AutoCancelOrder=====Start");
Module.FinanceModule.AutoCancelOrder();
LogHelper.Write("AutoCancelOrder=====End");
Interlocked.Exchange(ref inTimer1, 0);
bool flag= Module.FinanceModule.AutoCancelOrder();
LogHelper.Write("AutoCancelOrder=====End " + flag);
}
}
/// <summary>
/// 自动收货订单
/// </summary>
......@@ -91,38 +81,36 @@ namespace Mall.WindowsService.Helper
/// <param name="e"></param>
public void AutoReceivingOrder(object sender, System.Timers.ElapsedEventArgs e)
{
if (Interlocked.Exchange(ref inTimer2, 1) == 0)
DateTime now = DateTime.Now;
if (now.Minute == 20)
{
if (DateTime.Now.Hour == 1)
if (now.Hour == 1)
{
LogHelper.Write("AutoReceivingOrder=====Start");
Module.FinanceModule.AutoReceivingOrder();
LogHelper.Write("AutoReceivingOrder=====End");
bool flag = Module.FinanceModule.AutoReceivingOrder();
LogHelper.Write("AutoReceivingOrder=====End " + flag);
}
Thread.Sleep(1000 * 60);
LogHelper.Write("AutoAfterSaleOrderSendCommission=====Start");
Module.FinanceModule.AutoAfterSaleOrderSendCommission();
LogHelper.Write("AutoAfterSaleOrderSendCommission=====End");
Interlocked.Exchange(ref inTimer2, 0);
bool flag2 = Module.FinanceModule.AutoAfterSaleOrderSendCommission();
LogHelper.Write("AutoAfterSaleOrderSendCommission=====End " + flag2);
}
}
/// <summary>
/// 七天自动取消下线
/// 七天自动取消下线【每天2:00执行一次】
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void AutoReleaseTheOffline(object sender, System.Timers.ElapsedEventArgs e)
{
if (Interlocked.Exchange(ref inTimer3, 1) == 0)
DateTime now = DateTime.Now;
if (now.Hour == 2 && now.Minute == 0)
{
if (DateTime.Now.Hour == 1)
{
LogHelper.Write("AutoReleaseTheOffline=====Start");
Module.FinanceModule.AutoReleaseTheOffline();
LogHelper.Write("AutoReleaseTheOffline=====End");
}
Interlocked.Exchange(ref inTimer3, 0);
Thread.Sleep(1000 * 60);
LogHelper.Write("AutoReleaseTheOffline=====Start");
Module.FinanceModule.AutoReleaseTheOffline();
LogHelper.Write("AutoReleaseTheOffline=====End");
}
}
......@@ -133,8 +121,10 @@ namespace Mall.WindowsService.Helper
/// <param name="e"></param>
public void GoodsShelves(object sender, System.Timers.ElapsedEventArgs e)
{
if (Interlocked.Exchange(ref inTimer4, 1) == 0)
DateTime now = DateTime.Now;
if ((now.Minute + 5) % 10 == 0)
{
Thread.Sleep(1000 * 60);
try
{
string str = Common.Config.GetConnectionString("DefaultConnection");
......@@ -147,34 +137,32 @@ namespace Mall.WindowsService.Helper
{
LogHelper.Write("GoodsShelves=====ex" + ex.Message);
}
Interlocked.Exchange(ref inTimer4, 0);
}
}
/// <summary>
/// 资讯定时上架,下架
/// 资讯定时上架,下架【每30分钟执行一次】
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void EducationArticleShelves(object sender, System.Timers.ElapsedEventArgs e)
{
if (Interlocked.Exchange(ref inTimer5, 1) == 0)
DateTime now = DateTime.Now;
if ((now.Minute + 6) % 30 == 0)
{
try
{
string str = Common.Config.GetConnectionString("DefaultConnection");
LogHelper.Write("EducationArticleShelves=====Start" + str);
Module.EducationArticleShelvesModule.ShelvesEducationArticleModule();
Module.EducationArticleShelvesModule.DownEducationArticleModule();
LogHelper.Write("EducationArticleShelves=====End");
LogHelper.Write("EducationArticleShelves=====Start");
bool flag1 = Module.EducationArticleShelvesModule.ShelvesEducationArticleModule();
bool flag2 = Module.EducationArticleShelvesModule.DownEducationArticleModule();
LogHelper.Write("EducationArticleShelves=====End flag1:" + flag1 + " flag2:" + flag2);
}
catch (Exception ex)
{
LogHelper.Write("EducationArticleShelves=====ex" + ex.Message);
}
Interlocked.Exchange(ref inTimer5, 0);
}
}
......
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<StartupObject>Mall.WindowsService.Program</StartupObject>
</PropertyGroup>
......
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using Mall.WindowsService.Helper;
using System.ServiceProcess;
using System.Text;
using Mall.WindowsService.Helper;
namespace Mall.WindowsService
{
partial class WindowsService : ServiceBase
......@@ -16,11 +9,11 @@ namespace Mall.WindowsService
private System.Timers.Timer timer3; //订单自动收货计时器
private System.Timers.Timer timer4; //七天自动取消下线计时器
private System.Timers.Timer timer5; //定时上架和下架
private System.Timers.Timer timer6; //资讯定时上架和下架
private System.Timers.Timer timer7; //会员储值卡赠送状态更新
private System.Timers.Timer timer8;//会员购买储值卡收入
private System.Timers.Timer timer9;//相亲每日随机查询信息删除
private System.Timers.Timer timer10; //教育咖啡劵
//private System.Timers.Timer timer6; //资讯定时上架和下架
//private System.Timers.Timer timer7; //会员储值卡赠送状态更新
//private System.Timers.Timer timer8;//会员购买储值卡收入
//private System.Timers.Timer timer9;//相亲每日随机查询信息删除
//private System.Timers.Timer timer10; //教育咖啡劵
public WindowsService()
{
InitializeComponent();
......@@ -30,9 +23,11 @@ namespace Mall.WindowsService
{
// TODO: 在此处添加代码以启动服务。
Helper.LogHelper.Write("主服务开始运行......");
TimersHelper helper = new TimersHelper();
timer1 = new System.Timers.Timer();
timer1.Interval = 1000 * (60 * 30); //60分钟
timer1.Interval = 1000 * 60; //1分钟检测一次(60分钟执行一次)
timer1.Elapsed += new System.Timers.ElapsedEventHandler(helper.RevenueFinance);
timer1.Enabled = true;
......@@ -40,7 +35,7 @@ namespace Mall.WindowsService
timer2 = new System.Timers.Timer
{
Interval = 1000 * (60 * 10) //10分钟处理一次
Interval = 1000 * 60 //1分钟检测一次,10分钟执行一次
};
timer2.Elapsed += new System.Timers.ElapsedEventHandler(helper.AutoCancelOrder);
timer2.Enabled = true;
......@@ -48,11 +43,9 @@ namespace Mall.WindowsService
#endregion
#region 订单自动完成定时器
timer3 = new System.Timers.Timer();
timer3 = new System.Timers.Timer
{
Interval = 1000 * (60 * 60) //60分钟调用一次
Interval = 1000 * 60 //1分钟检测一次,60分钟执行一次
};
timer3.Elapsed += new System.Timers.ElapsedEventHandler(helper.AutoReceivingOrder);
timer3.Enabled = true;
......@@ -60,11 +53,9 @@ namespace Mall.WindowsService
#endregion
#region 七天自动取消下线
timer4 = new System.Timers.Timer();
timer4 = new System.Timers.Timer
{
Interval = 1000 * (60 * 60) //60分钟调用一次
Interval = 1000 * 60 //1分钟检测一次,每天2:00执行一次
};
timer4.Elapsed += new System.Timers.ElapsedEventHandler(helper.AutoReleaseTheOffline);
timer4.Enabled = true;
......@@ -72,10 +63,9 @@ namespace Mall.WindowsService
#endregion
#region 商品定时上下架
timer5 = new System.Timers.Timer();
timer5 = new System.Timers.Timer
{
Interval = 1000 * (60 * 2) //10分钟调用一次
Interval = 1000 * 60 //1分钟检测一次, 10分钟执行一次
};
timer5.Elapsed += new System.Timers.ElapsedEventHandler(helper.GoodsShelves);
timer5.Enabled = true;
......@@ -83,57 +73,52 @@ namespace Mall.WindowsService
#region 资讯上下架
timer6 = new System.Timers.Timer();
timer6 = new System.Timers.Timer
{
Interval = 1000 * (60 * 2) //10分钟调用一次
};
timer6.Elapsed += new System.Timers.ElapsedEventHandler(helper.EducationArticleShelves);
timer6.Enabled = true;
//timer6 = new System.Timers.Timer
//{
// Interval = 1000 * 60 //1秒检测一次,30分钟执行一次
//};
//timer6.Elapsed += new System.Timers.ElapsedEventHandler(helper.EducationArticleShelves);
//timer6.Enabled = true;
#endregion
#region 会员储值卡赠送状态更新
timer7 = new System.Timers.Timer();
timer7 = new System.Timers.Timer
{
Interval = 1000 * (60 * 10) //10分钟调用一次
};
timer7.Elapsed += new System.Timers.ElapsedEventHandler(helper.MemberDepositBuyShelves);
timer7.Enabled = true;
//timer7 = new System.Timers.Timer
//{
// Interval = 1000 * (60 * 10) //10分钟调用一次
//};
//timer7.Elapsed += new System.Timers.ElapsedEventHandler(helper.MemberDepositBuyShelves);
//timer7.Enabled = true;
#endregion
#region 储值卡收入
timer8 = new System.Timers.Timer();
timer8 = new System.Timers.Timer
{
Interval = 1000 * (60 * 30) //10分钟调用一次
};
timer8.Elapsed += new System.Timers.ElapsedEventHandler(helper.DepositIncomeFinanceShelves);
timer8.Enabled = true;
//timer8 = new System.Timers.Timer
//{
// Interval = 1000 * (60 * 30) //10分钟调用一次
//};
//timer8.Elapsed += new System.Timers.ElapsedEventHandler(helper.DepositIncomeFinanceShelves);
//timer8.Enabled = true;
#endregion
#region 相亲每日随机查询信息删除
timer9 = new System.Timers.Timer();
timer9 = new System.Timers.Timer
{
Interval = 1000 * (60 * 240) //4小时调用一次
};
timer9.Elapsed += new System.Timers.ElapsedEventHandler(helper.DailyRandomShelves);
timer9.Enabled = true;
//timer9 = new System.Timers.Timer
//{
// Interval = 1000 * (60 * 240) //4小时调用一次
//};
//timer9.Elapsed += new System.Timers.ElapsedEventHandler(helper.DailyRandomShelves);
//timer9.Enabled = true;
#endregion
#region 咖啡劵定时器
timer10 = new System.Timers.Timer();
timer10 = new System.Timers.Timer
{
Interval = 1000 * (60 * 2) //2 分钟调用一次
};
timer10.Elapsed += new System.Timers.ElapsedEventHandler(helper.EduInitFreeCoffee);
timer10.Enabled = true;
//timer10 = new System.Timers.Timer
//{
// Interval = 1000 * (60 * 2) //2 分钟调用一次
//};
//timer10.Elapsed += new System.Timers.ElapsedEventHandler(helper.EduInitFreeCoffee);
//timer10.Enabled = true;
#endregion
}
......@@ -147,11 +132,11 @@ namespace Mall.WindowsService
this.timer3.Enabled = false;
this.timer4.Enabled = false;
this.timer5.Enabled = false;
this.timer6.Enabled = false;
this.timer7.Enabled = false;
this.timer8.Enabled = false;
this.timer9.Enabled = false;
this.timer10.Enabled = false;
//this.timer6.Enabled = false;
//this.timer7.Enabled = false;
//this.timer8.Enabled = false;
//this.timer9.Enabled = false;
//this.timer10.Enabled = false;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment