Browse Source

添加每月1号计算商户首台机具标记队列

lcl 1 năm trước cách đây
mục cha
commit
a968afb161

BIN
.DS_Store


BIN
AppStart/.DS_Store


BIN
AppStart/Helper/.DS_Store


+ 50 - 0
AppStart/Helper/ResetPosFirstFlagAndIsExecuteService.cs

@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Linq;
+using System.Data;
+using MySystem;
+using MySystem.Models;
+using Library;
+using LitJson;
+/// <summary>
+/// 每月1号重置机具首个标记和是否执行首个标记
+/// </summary>
+public class ResetPosFirstFlagAndIsExecuteService
+{
+    public readonly static ResetPosFirstFlagAndIsExecuteService Instance = new ResetPosFirstFlagAndIsExecuteService();
+    private ResetPosFirstFlagAndIsExecuteService()
+    {
+    }
+
+    public void Start()
+    {
+        Thread th = new Thread(doSomething);
+        th.IsBackground = true;
+        th.Start();
+    }
+
+    private void doSomething()
+    {
+        while (true)
+        {
+            if (DateTime.Now.Day < 10 && DateTime.Now.Hour > 1 && DateTime.Now.Hour < 5)
+            {
+                try
+                {
+                    string check = function.ReadInstance("/ResetPosFirstFlagAndIsExecute/check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt");
+                    if (string.IsNullOrEmpty(check))
+                    {
+                        function.WritePage("/ResetPosFirstFlagAndIsExecute/", "check" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                        DataTable dt = CustomerSqlConn.dtable("UPDATE PosMachinesTwo SET FirstFlag=1,IsExecute=1 WHERE IsExecute=0 AND Id IN(SELECT Id FROM(SELECT c.Id FROM(SELECT MerIdcardNo,MIN(Id) Id FROM PosMerchantInfo WHERE MerIdcardNo IS NOT NULL AND MerIdcardNo !='' AND MerIdcardNo NOT LIKE '%*%' GROUP BY MerIdcardNo)a LEFT JOIN (SELECT Id,MerIdcardNo,KqSnNo FROM PosMerchantInfo WHERE MerIdcardNo IS NOT NULL AND MerIdcardNo !='' AND MerIdcardNo NOT LIKE '%*%')b ON a.Id=b.Id LEFT JOIN (SELECT Id,PosSn FROM PosMachinesTwo WHERE IsExecute=0) c ON b.KqSnNo=c.PosSn)d)", Conn);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + "\n" + ex.ToString(), "每月1号重置机具首个标记和是否执行首个标记线程异常");
+                }
+            }
+            Thread.Sleep(1000);
+        }
+    }
+}

+ 1 - 0
Startup.cs

@@ -215,6 +215,7 @@ namespace MySystem
                 InstallmentDeductionService.Instance.Start(); //分期扣款(每月20号执行)
                 LeaderAmountMonthChangeQueue.Instance.Start(); //每月一号记录上月盟主储蓄金和可提现余额
                 LeaderCompPrizeHelper.Instance.Start(); //领导人达标奖
+                ResetPosFirstFlagAndIsExecuteService.Instance.Start(); //每月1号计算商户首台机具标记
 
                 ChangePosTimer.Instance.Start(); //售后换新执行机具数据转移
                 RecommendActStatService.Instance.Start(); //推荐王奖励数据统计