Browse Source

每天重置运营中心数据修改

lcl 2 years ago
parent
commit
09c3853966
2 changed files with 18 additions and 47 deletions
  1. 8 47
      AppStart/Helper/OperateService.cs
  2. 10 0
      Config/MysqlConn.cs

+ 8 - 47
AppStart/Helper/OperateService.cs

@@ -36,61 +36,23 @@ namespace MySystem
                     {
                         string Month = DateTime.Now.ToString("yyyyMM");
                         string Date = DateTime.Now.ToString("yyyyMMdd");
-                        string check = function.ReadInstance("/Operate/" + Month + ".txt");
+                        string check = function.ReadInstance("/Operate/" + Date + ".txt");
                         if (string.IsNullOrEmpty(check))
                         {
-                            function.WritePage("/Operate/", "" + Month + ".txt", DateTime.Now.ToString("HH:mm:ss"));
+                            function.WritePage("/Operate/", "" + Date + ".txt", DateTime.Now.ToString("HH:mm:ss"));
                             WebCMSEntities db = new WebCMSEntities();
-                            OpModels.WebCMSEntities opdb = new OpModels.WebCMSEntities();
 
                             //统计发货量
-                            Dictionary<int, int> OpData = new Dictionary<int, int>();
-                            if(DateTime.Now.Day == 1)
+                            DataTable dt = CustomerSqlConn.dtable("select CONCAT('update Users set ThisMonthSend=(select count(Id) from StoreStockChange where CreateDate>=\'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00\' and TransType in (10,11) and OpId=',Id,') where Id=',Id,';') from Users where UserType=1", MysqlConn.SqlConnStr);
+                            foreach(DataRow dr in dt.Rows)
                             {
-                                var list = opdb.SendMonthSummary.Select(m => new { m.TradeMonth, m.OpId, m.SendCount }).Where(m => m.TradeMonth == Month).ToList();
-                                foreach(var sub in list)
-                                {
-                                    if(OpData.ContainsKey(sub.OpId))
-                                    {
-                                        OpData[sub.OpId] += sub.SendCount;
-                                    }
-                                    else
-                                    {
-                                        OpData.Add(sub.OpId, sub.SendCount);
-                                    }
-                                }
-                                foreach(int OpId in OpData.Keys)
-                                {
-                                    Users user = db.Users.FirstOrDefault(m => m.Id == OpId);
-                                    if(user != null)
-                                    {
-                                        user.ThisMonthSend = OpData[OpId];
-                                    }
-                                }
-                                db.SaveChanges();
-                            }
-                            OpData.Clear();
-                            var datelist = opdb.SendDaySummary.Select(m => new { m.TradeDate, m.OpId, m.SendCount }).Where(m => m.TradeDate == Date).ToList();
-                            foreach(var sub in datelist)
-                            {
-                                if(OpData.ContainsKey(sub.OpId))
-                                {
-                                    OpData[sub.OpId] += sub.SendCount;
-                                }
-                                else
-                                {
-                                    OpData.Add(sub.OpId, sub.SendCount);
-                                }
+                                CustomerSqlConn.op(dr[0].ToString(), MysqlConn.SqlConnStr);
                             }
-                            foreach(int OpId in OpData.Keys)
+                            dt = CustomerSqlConn.dtable("select distinct CONCAT('update Users set ThisMonthSend=(select count(Id) from StoreStockChange where CreateDate>=\'" + DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00\' and TransType in (10,11) and StoreId in (select Id from StoreHouse where UserId=',QueryCount,') and OpId=',OpId,') where Id=', QueryCount,';') from StoreForOperate where Sort=0 and Status>-1", MysqlConn.OpSqlConnStr);
+                            foreach(DataRow dr in dt.Rows)
                             {
-                                Users user = db.Users.FirstOrDefault(m => m.Id == OpId);
-                                if(user != null)
-                                {
-                                    user.ThisMonthSend += OpData[OpId];
-                                }
+                                CustomerSqlConn.op(dr[0].ToString(), MysqlConn.SqlConnStr);
                             }
-                            db.SaveChanges();
 
                             //统计库存
                             Dictionary<int, int> StoreList = db.StoreHouse.Select(m => new { m.UserId, m.LaveNum }).Where(m => m.LaveNum > 0).GroupBy(m => m.UserId).Select(m => new { UserId = m.Key, Count = m.Count() }).ToDictionary(m => m.UserId, m => m.Count);
@@ -104,7 +66,6 @@ namespace MySystem
                             }
                             db.SaveChanges();
 
-                            opdb.Dispose();
                             db.Dispose();
                         }
                     }

+ 10 - 0
Config/MysqlConn.cs

@@ -0,0 +1,10 @@
+using Library;
+
+namespace MySystem
+{
+    public class MysqlConn
+    {
+        public static string SqlConnStr = ConfigurationManager.AppSettings["SqlConnStr"].ToString();
+        public static string OpSqlConnStr = ConfigurationManager.AppSettings["OpSqlConnStr"].ToString();
+    }
+}