Browse Source

Merge branch 'feat-lcl-每天同步创客上级关联' of kxs-end/main-server into release-mainserver

lichunlei 1 năm trước cách đây
mục cha
commit
cc63d031e3
3 tập tin đã thay đổi với 91 bổ sung3 xóa
  1. 3 3
      AppStart/Helper/StatService.cs
  2. 87 0
      AppStart/Helper/UpUserSaveService.cs
  3. 1 0
      Startup.cs

+ 3 - 3
AppStart/Helper/StatService.cs

@@ -28,7 +28,7 @@ namespace MySystem
             {
                 try
                 {
-                    if(DateTime.Now.Hour > 0)
+                    if(DateTime.Now.Hour > 0 && DateTime.Now.Hour < 9)
                     {
                         string doDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
                         string flag = function.ReadInstance("/Stat/" + doDate + ".txt");
@@ -42,9 +42,9 @@ namespace MySystem
                 }
                 catch (Exception ex)
                 {
-                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "每天重置交易额异常");
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "每天同步创客上级关联异常");
                 }
-                Thread.Sleep(3600000);
+                Thread.Sleep(1800000);
             }
         }
 

+ 87 - 0
AppStart/Helper/UpUserSaveService.cs

@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using Library;
+using LitJson;
+using System.Linq;
+using System.Data;
+using System.Threading;
+using MySystem.PxcModels;
+
+namespace MySystem
+{
+    public class UpUserSaveService
+    {
+        public readonly static UpUserSaveService Instance = new UpUserSaveService();
+        private UpUserSaveService()
+        { }
+
+        public void Start()
+        {
+            Thread th = new Thread(StartDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+
+        public void StartDo()
+        {
+            while(true)
+            {
+                try
+                {
+                    if(DateTime.Now.Hour > 0)
+                    {
+                        string doDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
+                        string flag = function.ReadInstance("/UpUserSave/" + doDate + ".txt");
+                        if (string.IsNullOrEmpty(flag))
+                        {
+                            function.WritePage("/UpUserSave/", doDate + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    function.WriteLog(DateTime.Now.ToString() + ":" + ex.ToString(), "异常");
+                }
+                Thread.Sleep(3600000);
+            }
+        }
+
+        public void doSomething(string date = "")
+        {
+            WebCMSEntities db = new WebCMSEntities();
+            var users = db.Users.Select(m => new { m.Id, m.ParentNav, m.CreateDate });
+            if(!string.IsNullOrEmpty(date))
+            {
+                DateTime start = DateTime.Parse(date + " 00:00:00");
+                DateTime end = start.AddDays(1);
+                users = users.Where(m => m.CreateDate >= start && m.CreateDate < end);
+            }
+            string sql = "";
+            int num = 0;
+            foreach(var user in users.ToList())
+            {
+                if(!string.IsNullOrEmpty(user.ParentNav))
+                {
+                    string[] ParentNavList = user.ParentNav.Replace(",,", ",").Trim(',').Split(',');
+                    int i = 0;
+                    foreach(string ParentUserId in ParentNavList)
+                    {
+                        i += 1;
+                        num += 1;
+                        sql += "insert into UpUserRelation (UserId,UpUserId,Floor) values (" + user.Id + ", " + ParentUserId + ", " + i + ");";
+                        if(num % 200 == 0)
+                        {
+                            CustomerSqlConn.op(sql, MysqlConn.SqlConnStr);
+                            sql = "";
+                        }
+                    }
+                }
+            }
+            if(!string.IsNullOrEmpty(sql))
+            {
+                CustomerSqlConn.op(sql, MysqlConn.SqlConnStr);
+                sql = "";
+            }
+        }
+    }
+}

+ 1 - 0
Startup.cs

@@ -239,6 +239,7 @@ namespace MySystem
                 AddPosCouponPrizeHelper.Instance.Start(); //补机具券奖励
                 
                 PosChannelHelper.Instance.Start(); //实时查询查询终端收单机构
+                UpUserSaveService.Instance.Start(); //每天凌晨保存头一天的创客关系数据
             // }