DuGuYang 1 year ago
parent
commit
900f6b783e
4 changed files with 41 additions and 15 deletions
  1. 24 0
      Startup.cs
  2. 8 7
      Util/Business/BusinessUtil.cs
  3. 8 8
      Util/HaoDa/UserTradeDbconn.cs
  4. 1 0
      appsettings.Development.json

+ 24 - 0
Startup.cs

@@ -132,6 +132,7 @@ namespace MySystem
             });
 
             initMainServer();
+            InitStat();
         }
 
         //初始化数据结构
@@ -157,5 +158,28 @@ namespace MySystem
             }
             AppConfig.Base.mainTables = tables;
         }
+
+        private void InitStat()
+        {
+            Dictionary<string, Dictionary<string, string>> tables = new Dictionary<string, Dictionary<string, string>>();
+            string connstr = Configuration["Setting:StatSqlConnStr"];
+            System.Data.DataTable tablecollection = Library.CustomerSqlConn.dtable("select DISTINCT TABLE_NAME from information_schema.columns where table_schema = 'QrCodePlateStatServer2'", connstr);
+            foreach (System.Data.DataRow subtable in tablecollection.Rows)
+            {
+                Dictionary<string, string> Columns = new Dictionary<string, string>();
+                System.Data.DataTable columncollection = Library.CustomerSqlConn.dtable("select COLUMN_NAME,DATA_TYPE from information_schema.columns where table_schema = 'QrCodePlateStatServer2' and TABLE_NAME='" + subtable["TABLE_NAME"].ToString() + "'", connstr);
+                foreach (System.Data.DataRow column in columncollection.Rows)
+                {
+                    string datatype = column["DATA_TYPE"].ToString();
+                    if (datatype == "decimal")
+                    {
+                        datatype = "numeric";
+                    }
+                    Columns.Add(column["COLUMN_NAME"].ToString(), datatype);
+                }
+                tables.Add(subtable["TABLE_NAME"].ToString(), Columns);
+            }
+            AppConfig.Base.mainTables = tables;
+        }
     }
 }

+ 8 - 7
Util/Business/BusinessUtil.cs

@@ -3,6 +3,7 @@ using Library;
 using MySystem.Service.Main;
 using System.Collections.Generic;
 using System;
+using System.Linq;
 
 namespace MySystem
 {
@@ -31,15 +32,16 @@ namespace MySystem
             {
                 Dictionary<string, object> curData = new Dictionary<string, object>();
                 curData.Add("TradeDate", subdata["TradeDate"].ToString()); //日期
-                curData.Add("TotalAmount", subdata["TotalAmount"].ToString()); //营业总金额
+                curData.Add("TotalAmount", subdata["TradeAmount"].ToString()); //营业总金额
                 curData.Add("InFactAmount", subdata["InFactAmount"].ToString()); //实收总金额
                 curData.Add("ActAmount", subdata["ActAmount"].ToString()); //活动总金额
                 curData.Add("NonActAmount", subdata["NonActAmount"].ToString()); //非活动总金额
                 curData.Add("WeChatInFactAmount", subdata["WeChatInFactAmount"].ToString()); //微信实收
                 curData.Add("AliPayInFactAmount", subdata["AliPayInFactAmount"].ToString()); //支付宝实收
-                curData.Add("OrderCount", subdata["OrderCount"].ToString()); //订单数
+                curData.Add("OrderCount", subdata["OderCount"].ToString()); //订单数
                 dataList.Add(curData);
             }
+            dataList = dataList.Skip((pageNum - 1) * pageSize).Take(pageSize).ToList();//分页的重点
             return dataList;
         }
         #endregion
@@ -55,23 +57,22 @@ namespace MySystem
         /// <returns></returns>
         public static List<Dictionary<string, object>> BussinessRecordForHalfYear(int MerchantId, int pageSize, int pageNum)
         {
-            var TradeMonth = "";
-            List<RelationData> relationData = new List<RelationData>();
             List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
-            List<Dictionary<string, object>> source = MerchantTradeSummaryService.List(relationData, " and MerchantId=" + MerchantId, TradeMonth, pageNum, pageSize);
+            List<Dictionary<string, object>> source = UserTradeDbconn.Instance.GetMonthTradeList(MerchantId, "TradeAmount,InFactAmount,ActAmount,NonActAmount,WeChatInFactAmount,AliPayInFactAmount,OderCount");
             foreach (Dictionary<string, object> subdata in source)
             {
                 Dictionary<string, object> curData = new Dictionary<string, object>();
                 curData.Add("TradeDate", subdata["TradeDate"].ToString()); //日期
-                curData.Add("TotalAmount", subdata["TotalAmount"].ToString()); //营业总金额
+                curData.Add("TotalAmount", subdata["TradeAmount"].ToString()); //营业总金额
                 curData.Add("InFactAmount", subdata["InFactAmount"].ToString()); //实收总金额
                 curData.Add("ActAmount", subdata["ActAmount"].ToString()); //活动总金额
                 curData.Add("NonActAmount", subdata["NonActAmount"].ToString()); //非活动总金额
                 curData.Add("WeChatInFactAmount", subdata["WeChatInFactAmount"].ToString()); //微信实收
                 curData.Add("AliPayInFactAmount", subdata["AliPayInFactAmount"].ToString()); //支付宝实收
-                curData.Add("OrderCount", subdata["OrderCount"].ToString()); //订单数
+                curData.Add("OrderCount", subdata["OderCount"].ToString()); //订单数
                 dataList.Add(curData);
             }
+            dataList = dataList.Skip((pageNum - 1) * pageSize).Take(pageSize).ToList();//分页的重点
             return dataList;
         }
         #endregion

+ 8 - 8
Util/HaoDa/UserTradeDbconn.cs

@@ -5,9 +5,8 @@ using System.Data;
 
 namespace MySystem
 {
-    public  class UserTradeDbconn
+    public class UserTradeDbconn
     {
-        static string _conn = ConfigurationManager.AppSettings["StatSqlConnStr"].ToString();
         public readonly static UserTradeDbconn Instance = new UserTradeDbconn();
         public UserTradeDbconn()
         { }
@@ -19,7 +18,7 @@ namespace MySystem
         /// <param name="TradeDate">日期/月份(yyyyMMdd或yyyyMM)</param>
         /// <param name="fields">字段(多个用逗号隔开)</param>
         /// <returns></returns>
-        public static Dictionary<string, object> GetTrade(int MerchantId, string TradeDate, string fields)
+        public Dictionary<string, object> GetTrade(int MerchantId, string TradeDate, string fields)
         {
             Dictionary<string, object> AmtList = new Dictionary<string, object>();
             string fieldList = "";
@@ -27,7 +26,7 @@ namespace MySystem
             {
                 fieldList += "sum(" + fieldList + ") " + fieldList + ",";
             }
-            DataTable dt = CustomerSqlConn.dtable("select " + fieldList.TrimEnd(',') + " from MerchantTradeSummary" + TradeDate + " where MerchantId=" + MerchantId + " and ", _conn);
+            DataTable dt = CustomerSqlConn.dtable("select " + fieldList.TrimEnd(',') + " from MerchantTradeSummary" + TradeDate + " where MerchantId=" + MerchantId + " and ", AppConfig.Base.StatConnRds);
             if(dt.Rows.Count > 0)
             {
                 foreach(string field in fields.Split(','))
@@ -45,10 +44,10 @@ namespace MySystem
         /// <param name="TradeMonth">月份(yyyyMM)</param>
         /// <param name="fields">字段(多个用逗号隔开)</param>
         /// <returns></returns>
-        public static List<Dictionary<string, object>> GetDateTradeList(int MerchantId, string TradeMonth, string fields)
+        public List<Dictionary<string, object>> GetDateTradeList(int MerchantId, string TradeMonth, string fields)
         {
             List<Dictionary<string, object>> AmtList = new List<Dictionary<string, object>>();
-            DataTable dt = CustomerSqlConn.dtable("select " + fields + " from MerchantTradeSummary" + TradeMonth + " where MerchantId=" + MerchantId + " and ", _conn);
+            DataTable dt = CustomerSqlConn.dtable("select " + fields + " from MerchantTradeSummary" + TradeMonth + " where MerchantId=" + MerchantId + " and ", AppConfig.Base.StatConnRds);
             if(dt.Rows.Count > 0)
             {
                 Dictionary<string, object> Item = new Dictionary<string, object>();
@@ -68,7 +67,7 @@ namespace MySystem
         /// <param name="TradeMonth">月份(yyyyMM)</param>
         /// <param name="fields">字段(多个用逗号隔开)</param>
         /// <returns></returns>
-        public static List<Dictionary<string, object>> GetMonthTradeList(int MerchantId, string fields)
+        public List<Dictionary<string, object>> GetMonthTradeList(int MerchantId, string fields)
         {
             List<Dictionary<string, object>> AmtList = new List<Dictionary<string, object>>();
             string fieldList = "";
@@ -79,7 +78,8 @@ namespace MySystem
             for(int i = 0; i < 6; i ++)
             {
                 Dictionary<string, object> Item = new Dictionary<string, object>();
-                DataTable dt = CustomerSqlConn.dtable("select " + fieldList.TrimEnd(',') + " from MerchantTradeSummary" + DateTime.Now.AddMonths(-i).ToString("yyyyMM") + " where MerchantId=" + MerchantId + " and ", _conn);
+                Item.Add("TradeDate", DateTime.Now.AddMonths(-i).ToString("yyyy-MM"));
+                DataTable dt = CustomerSqlConn.dtable("select " + fieldList.TrimEnd(',') + " from MerchantTradeSummary" + DateTime.Now.AddMonths(-i).ToString("yyyyMM") + " where MerchantId=" + MerchantId + " and ", AppConfig.Base.StatConnRds);
                 if(dt.Rows.Count > 0)
                 {
                     foreach(string field in fields.Split(','))

+ 1 - 0
appsettings.Development.json

@@ -9,6 +9,7 @@
   "AllowedHosts": "*",
   "Setting": {
     "Host": "http://localhost:6003/",
+    "SourceHost": "http://test.mpap.kexiaoshuang.com/",
     "SpHost": "http://mpsp.kexiaoshuang.com/",
     "Database": "TpAdminServer",
     "StatSqlConnStr": "server=47.109.31.237;port=3306;user=QrCodePlateMainServer;password=ll4DFaALMu9YIooM;database=QrCodePlateStatServer;charset=utf8;",