zx před 6 roky
rodič
revize
72602d0561

+ 19 - 1
Business/KJH/KJBLL.cs

@@ -6,6 +6,7 @@ using Models.Entity.LotteryNumDB;
 using Services;
 using Services;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Data.SqlClient;
 using System.Diagnostics;
 using System.Diagnostics;
 using System.Linq;
 using System.Linq;
 using System.Reflection;
 using System.Reflection;
@@ -1088,9 +1089,26 @@ namespace Business.KJH
         {
         {
             return LottryDataHandle.GetLotteryData(Typename, Term, Opentime, ID, OpenCode, Detail, MenuName, KaiJiHao, ShiJiHao);
             return LottryDataHandle.GetLotteryData(Typename, Term, Opentime, ID, OpenCode, Detail, MenuName, KaiJiHao, ShiJiHao);
         }
         }
-        
 
 
 
 
+        /// <summary>
+        /// 拦截器日志
+        /// </summary>
+        /// <param name="url"></param>
+        /// <param name="ip"></param>
+        public static void AddActionFilterLog(string url, string ip)
+        {
+            var sql = @"
+INSERT INTO VisitIP(IP,Url,Time)
+VALUES (@IP,@Url,@Time)
+";
+            var para = new SqlParameter[] {
+                new SqlParameter(@"IP",ip),
+                new SqlParameter(@"Url",url),
+                new SqlParameter(@"Time",DateTime.Now),
+            };
+            services.CBAdd(sql, para);
+        }
 
 
 
 
 
 

+ 3 - 1
Common/SqlHelper.cs

@@ -183,7 +183,9 @@ namespace Common
             switch (DataBaseType)
             switch (DataBaseType)
             {
             {
                 case "ZXDataBase":
                 case "ZXDataBase":
-                    return ConfigurationManager.ConnectionStrings["ZXonnectionString"].ConnectionString; 
+                    return ConfigurationManager.ConnectionStrings["ZXonnectionString"].ConnectionString;
+                case "CBDataBase":
+                    return ConfigurationManager.ConnectionStrings["CB55128ConnectionString"].ConnectionString;
                 default:
                 default:
                     return ConfigurationManager.ConnectionStrings["KJonnectionString"].ConnectionString;
                     return ConfigurationManager.ConnectionStrings["KJonnectionString"].ConnectionString;
 
 

+ 2 - 0
Interface/BaseInterface.cs

@@ -1,6 +1,7 @@
 using Models;
 using Models;
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
+using System.Data.SqlClient;
 using System.Linq;
 using System.Linq;
 using System.Text;
 using System.Text;
 
 
@@ -9,6 +10,7 @@ namespace Interface
   public interface BaseInterface
   public interface BaseInterface
     {
     {
         Boolean Add<T>(T data);
         Boolean Add<T>(T data);
+        bool CBAdd(string sql, SqlParameter[] para);
         Boolean DeleteItemBykey<T>(object key);
         Boolean DeleteItemBykey<T>(object key);
         T QueryItembyKey<T>(object key);
         T QueryItembyKey<T>(object key);
         Boolean Update<T>(T data);
         Boolean Update<T>(T data);

+ 2 - 1
KJH55128_Rec/App_Start/FilterConfig.cs

@@ -1,4 +1,4 @@
-using System.Web;
+using KJH55128_Rec.App_Start;
 using System.Web.Mvc;
 using System.Web.Mvc;
 
 
 namespace KJH55128_Rec
 namespace KJH55128_Rec
@@ -8,6 +8,7 @@ namespace KJH55128_Rec
         public static void RegisterGlobalFilters(GlobalFilterCollection filters)
         public static void RegisterGlobalFilters(GlobalFilterCollection filters)
         {
         {
             filters.Add(new HandleErrorAttribute());
             filters.Add(new HandleErrorAttribute());
+            filters.Add(new ActionFilter());
         }
         }
     }
     }
 }
 }

+ 72 - 0
KJH55128_Rec/App_Start/Filters/ActionFilter.cs

@@ -0,0 +1,72 @@
+using Business.KJH;
+using System;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Sockets;
+using System.Threading.Tasks;
+using System.Web.Mvc;
+
+namespace KJH55128_Rec.App_Start
+{
+    public class ActionFilter : FilterAttribute, IActionFilter
+    {
+        private object obj = new object();
+
+        /// <summary>
+        /// 执行action后执行这个方法
+        /// </summary>
+        /// <param name="filterContext"></param>
+        void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext)
+        {
+
+        }
+
+        /// <summary>
+        /// 执行action前执行这个方法
+        /// </summary>
+        /// <param name="filterContext"></param>
+        void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
+        {
+            Task.Run(() =>
+            {
+                KJBLL.AddActionFilterLog(filterContext.HttpContext.Request.Url.ToString(), GetWebClientIp(filterContext));
+            });
+
+
+        }
+        private static string GetActionUrl(ActionExecutingContext filterContext)
+        {
+            var url = string.Empty;
+            foreach (var item in filterContext.RouteData.Values.Values)
+            {
+                url += "/" + item;
+            }
+            return url;
+        }
+
+        /// <summary>
+        /// 获取Web客户端的Ip
+        /// </summary>
+        private static string GetWebClientIp(ActionExecutingContext filterContext)
+        {
+            var ip = filterContext.HttpContext.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ?? filterContext.HttpContext.Request.ServerVariables["REMOTE_ADDR"];
+            foreach (var hostAddress in Dns.GetHostAddresses(ip))
+            {
+                if (hostAddress.AddressFamily == AddressFamily.InterNetwork)
+                {
+                    return hostAddress.ToString();
+                }
+                else
+                {
+                    return ip == "::1" ? "127.0.0.0" : ip;
+                }
+            }
+            return string.Empty;
+        }
+
+
+
+
+    }
+}

+ 1 - 0
KJH55128_Rec/KJH55128_Rec.csproj

@@ -140,6 +140,7 @@
     </Reference>
     </Reference>
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
+    <Compile Include="App_Start\Filters\ActionFilter.cs" />
     <Compile Include="App_Start\BundleConfig.cs" />
     <Compile Include="App_Start\BundleConfig.cs" />
     <Compile Include="App_Start\FilterConfig.cs" />
     <Compile Include="App_Start\FilterConfig.cs" />
     <Compile Include="App_Start\RouteConfig.cs" />
     <Compile Include="App_Start\RouteConfig.cs" />

+ 3 - 3
KJH55128_Rec/Web.config

@@ -5,9 +5,9 @@
   -->
   -->
 <configuration>
 <configuration>
   <connectionStrings>
   <connectionStrings>
-    <add name="ZXonnectionString" connectionString="server=61.156.157.244;database=LottomatBaseDB;uid=sa;pwd=NK4Qwql8Z?csv(XNew;Connect Timeout=30;persist security info=false;Pooling=true;" providerName="System.Data.SqlClient"/>
-    <add name="KJonnectionString" connectionString="server=39.108.190.163;database=LotteryNumber;uid=sa;pwd=NK4Qwql8Z?csv(XNew;Connect Timeout=30;persist security info=false;Pooling=true;" providerName="System.Data.SqlClient"/>
-    <add name="CB55128ConnectionString" connectionString="server=39.108.190.163;database=CB55128;uid=sa;pwd=NK4Qwql8Z?csv(XNew;Connect Timeout=30;persist security info=false;Pooling=true;" providerName="System.Data.SqlClient"/>
+    <add name="ZXonnectionString" connectionString="server=119.23.72.139;database=LottomatBaseDB;uid=sa;pwd=NK4Qwql8Z?csv(XNew;Connect Timeout=30;persist security info=false;Pooling=true;" providerName="System.Data.SqlClient"/>
+    <add name="KJonnectionString" connectionString="server=119.23.72.139;database=LotteryNumber;uid=sa;pwd=NK4Qwql8Z?csv(XNew;Connect Timeout=30;persist security info=false;Pooling=true;" providerName="System.Data.SqlClient"/>
+    <add name="CB55128ConnectionString" connectionString="server=119.23.72.139;database=CB55128;uid=sa;pwd=NK4Qwql8Z?csv(XNew;Connect Timeout=30;persist security info=false;Pooling=true;" providerName="System.Data.SqlClient"/>
 
 
     <add name="redisconnstring" connectionString="127.0.0.1:6379" providerName="redis"></add>
     <add name="redisconnstring" connectionString="127.0.0.1:6379" providerName="redis"></add>
   </connectionStrings>
   </connectionStrings>

+ 26 - 19
Services/BaseServices.cs

@@ -16,7 +16,7 @@ namespace Services
     /// <summary>
     /// <summary>
     /// 基础服务
     /// 基础服务
     /// </summary>
     /// </summary>
-    public class BaseServices: BaseInterface
+    public class BaseServices : BaseInterface
     {
     {
         /// <summary>
         /// <summary>
         /// 装箱单个数据对象
         /// 装箱单个数据对象
@@ -65,7 +65,7 @@ namespace Services
         protected List<string> Loadstringist(DataTable dt)
         protected List<string> Loadstringist(DataTable dt)
         {
         {
             List<string> result = new List<string>();
             List<string> result = new List<string>();
-           
+
             foreach (DataRow dr in dt.Rows)
             foreach (DataRow dr in dt.Rows)
             {
             {
                 result.Add(dr[0].ToString());
                 result.Add(dr[0].ToString());
@@ -75,11 +75,11 @@ namespace Services
 
 
         public Boolean Add<T>(T obj)
         public Boolean Add<T>(T obj)
         {
         {
-            if (obj==null)
+            if (obj == null)
             {
             {
                 return false;
                 return false;
             }
             }
-          string tablename= EnumHelper.GetZXTableName<T>();
+            string tablename = EnumHelper.GetZXTableName<T>();
             var tbnameary = tablename.Split('.');
             var tbnameary = tablename.Split('.');
             List<string> fildlist = new List<string>();
             List<string> fildlist = new List<string>();
             List<string> paramsql = new List<string>();
             List<string> paramsql = new List<string>();
@@ -95,13 +95,20 @@ namespace Services
                     {
                     {
                         fildlist.Add(pi.Name);
                         fildlist.Add(pi.Name);
                         paramsql.Add("@" + pi.Name);
                         paramsql.Add("@" + pi.Name);
-                        paramlist.Add(new SqlParameter("@"+pi.Name, value1));
-                    } 
+                        paramlist.Add(new SqlParameter("@" + pi.Name, value1));
+                    }
                 }
                 }
             }
             }
             string insertsql = string.Format(AddItemSql, tbnameary[1], string.Join(",", fildlist), string.Join(",", paramsql));
             string insertsql = string.Format(AddItemSql, tbnameary[1], string.Join(",", fildlist), string.Join(",", paramsql));
             var conn = SqlHelper.GetConnection(tbnameary[0]);
             var conn = SqlHelper.GetConnection(tbnameary[0]);
-            var result = SqlHelper.ExecuteNonQuery(conn,CommandType.Text, insertsql, paramlist.ToArray());
+            var result = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, insertsql, paramlist.ToArray());
+            return result > 0;
+        }
+
+        public bool CBAdd(string sql, SqlParameter[] para)
+        {
+            var conn = SqlHelper.GetConnection("CBDataBase");
+            var result = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sql, para);
             return result > 0;
             return result > 0;
         }
         }
 
 
@@ -128,8 +135,8 @@ namespace Services
             return result > 0;
             return result > 0;
         }
         }
 
 
-        
-        public T QueryItembyKey<T>(object key )
+
+        public T QueryItembyKey<T>(object key)
         {
         {
             string tablename = EnumHelper.GetZXTableName<T>();
             string tablename = EnumHelper.GetZXTableName<T>();
             var tbnameary = tablename.Split('.');
             var tbnameary = tablename.Split('.');
@@ -170,7 +177,7 @@ namespace Services
             string tablename = EnumHelper.GetZXTableName<T>();
             string tablename = EnumHelper.GetZXTableName<T>();
             var tbnameary = tablename.Split('.');
             var tbnameary = tablename.Split('.');
             List<string> paramsql = new List<string>();
             List<string> paramsql = new List<string>();
-            var key = new object() ;
+            var key = new object();
             string keyname = string.Empty;
             string keyname = string.Empty;
             List<SqlParameter> paramlist = new List<SqlParameter>();
             List<SqlParameter> paramlist = new List<SqlParameter>();
             foreach (PropertyInfo pi in data.GetType().GetProperties())
             foreach (PropertyInfo pi in data.GetType().GetProperties())
@@ -192,12 +199,12 @@ namespace Services
 
 
                     if (((IsInsert)attribute).FildName)
                     if (((IsInsert)attribute).FildName)
                     {
                     {
-                        paramsql.Add(string.Format(" {0} = @{0}",pi.Name));
+                        paramsql.Add(string.Format(" {0} = @{0}", pi.Name));
                         paramlist.Add(new SqlParameter("@" + pi.Name, value1));
                         paramlist.Add(new SqlParameter("@" + pi.Name, value1));
                     }
                     }
                 }
                 }
             }
             }
-            string insertsql = string.Format(UpdateItemsql, tbnameary[1], string.Join(" ,", paramsql),keyname,key.GetType()==typeof(int)?key:"'"+key+"'");
+            string insertsql = string.Format(UpdateItemsql, tbnameary[1], string.Join(" ,", paramsql), keyname, key.GetType() == typeof(int) ? key : "'" + key + "'");
             var conn = SqlHelper.GetConnection(tbnameary[0]);
             var conn = SqlHelper.GetConnection(tbnameary[0]);
             var result = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, insertsql, paramlist.ToArray());
             var result = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, insertsql, paramlist.ToArray());
             return result > 0;
             return result > 0;
@@ -205,8 +212,8 @@ namespace Services
 
 
         public List<T> GetList<T>(int page, int rows, string order, List<EExpression> expression, bool isDesc = true)
         public List<T> GetList<T>(int page, int rows, string order, List<EExpression> expression, bool isDesc = true)
         {
         {
-            int startindex = (page-1) * rows;
-            int endindex = startindex + rows+1;
+            int startindex = (page - 1) * rows;
+            int endindex = startindex + rows + 1;
             string tablename = EnumHelper.GetZXTableName<T>();
             string tablename = EnumHelper.GetZXTableName<T>();
             var tbnameary = tablename.Split('.');
             var tbnameary = tablename.Split('.');
             List<string> fildlist = new List<string>();
             List<string> fildlist = new List<string>();
@@ -227,10 +234,10 @@ namespace Services
             }
             }
             for (int i = 0; i < expression.Count; i++)
             for (int i = 0; i < expression.Count; i++)
             {
             {
-                expressionlist.Add(@" AND "+expression[i].GetSql());
+                expressionlist.Add(@" AND " + expression[i].GetSql());
             }
             }
             //"AND OpenCode1>3 AND IsChecked=1"
             //"AND OpenCode1>3 AND IsChecked=1"
-            string pageListSql = string.Format(QueryListPageSql, string.Join(",", fildlist),order==null?keyname: order, isDesc?"desc":"asc",tbnameary[1],string.Join("", expressionlist),startindex,endindex);
+            string pageListSql = string.Format(QueryListPageSql, string.Join(",", fildlist), order == null ? keyname : order, isDesc ? "desc" : "asc", tbnameary[1], string.Join("", expressionlist), startindex, endindex);
             var conn = SqlHelper.GetConnection(tbnameary[0]);
             var conn = SqlHelper.GetConnection(tbnameary[0]);
             var ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, pageListSql);
             var ds = SqlHelper.ExecuteDataset(conn, CommandType.Text, pageListSql);
             if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
             if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
@@ -243,7 +250,7 @@ namespace Services
                 return new List<T>();
                 return new List<T>();
             }
             }
         }
         }
-        public List<T> GetList<T>(string order,List<EExpression> expression, bool isDesc = true)
+        public List<T> GetList<T>(string order, List<EExpression> expression, bool isDesc = true)
         {
         {
             string tablename = EnumHelper.GetZXTableName<T>();
             string tablename = EnumHelper.GetZXTableName<T>();
             var tbnameary = tablename.Split('.');
             var tbnameary = tablename.Split('.');
@@ -278,7 +285,7 @@ namespace Services
             }
             }
         }
         }
 
 
-      
+
         public int GetCount<T>()
         public int GetCount<T>()
         {
         {
             string tablename = EnumHelper.GetZXTableName<T>();
             string tablename = EnumHelper.GetZXTableName<T>();
@@ -330,7 +337,7 @@ namespace Services
 
 
         private static string PageListCount = @"SELECT Count({0}) FROM  {1} WHERE 1=1 {2}";
         private static string PageListCount = @"SELECT Count({0}) FROM  {1} WHERE 1=1 {2}";
 
 
-       
+
 
 
     }
     }
 }
 }