using System; using System.Data; using System.Text; using System.Data.SqlClient; namespace Mtxfw.DAL { /// /// 数据访问类:User_OnLine /// public partial class User_OnLine : Mtxfw.Utility.Myabstract { public User_OnLine() : base("User_OnLine") { } /// /// 增加一条数据 /// public int Add(Mtxfw.Model.User_OnLine model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into User_OnLine("); strSql.Append("SessionId,MemberId,DLID,ZDLID,GDID,FGSID,InTime,IsOnline,IP,MAC,UserType,gtype)"); strSql.Append(" values ("); strSql.Append("@SessionId,@MemberId,@DLID,@ZDLID,@GDID,@FGSID,@InTime,@IsOnline,@IP,@MAC,@UserType,@gtype);select SCOPE_IDENTITY()"); SqlParameter[] parameters = { new SqlParameter("@SessionId", SqlDbType.VarChar,50), new SqlParameter("@MemberId", SqlDbType.Int), new SqlParameter("@DLID", SqlDbType.Int), new SqlParameter("@ZDLID", SqlDbType.Int), new SqlParameter("@GDID", SqlDbType.Int), new SqlParameter("@FGSID", SqlDbType.Int), new SqlParameter("@InTime", SqlDbType.DateTime), new SqlParameter("@IsOnline", SqlDbType.Int), new SqlParameter("@IP", SqlDbType.VarChar,50), new SqlParameter("@MAC", SqlDbType.VarChar,250), new SqlParameter("@UserType", SqlDbType.Int), new SqlParameter("@gtype", SqlDbType.Int)}; parameters[0].Value = model.SessionId; parameters[1].Value = model.MemberId; parameters[2].Value = model.DLID; parameters[3].Value = model.ZDLID; parameters[4].Value = model.GDID; parameters[5].Value = model.FGSID; parameters[6].Value = model.InTime; parameters[7].Value = model.IsOnline; parameters[8].Value = model.IP; parameters[9].Value = model.MAC; parameters[10].Value = model.UserType; parameters[11].Value = model.gtype; string obj = Mtxfw.Utility.SqlDbHelper_U.GetObject(strSql.ToString(), parameters).ToString(); if (obj == "") { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public int Update(int gtype, string SessionId) { StringBuilder strSql = new StringBuilder(); strSql.Append("Update User_OnLine Set "); strSql.Append("OutTime=GetDate(),IsOnline=0"); strSql.Append(" Where gtype=@gtype and SessionId=@SessionId and UserType=0"); SqlParameter[] parameters = { new SqlParameter("@gtype", SqlDbType.Int), new SqlParameter("@SessionId", SqlDbType.VarChar,50)}; parameters[0].Value = gtype; parameters[1].Value = SessionId; object obj = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public int Update(int gtype) { StringBuilder strSql = new StringBuilder(); strSql.Append("Update User_OnLine Set "); strSql.Append("OutTime=GetDate(),IsOnline=0"); strSql.Append(" Where gtype=@gtype and IsOnline=1 and UserType=0"); SqlParameter[] parameters = { new SqlParameter("@gtype", SqlDbType.Int)}; parameters[0].Value = gtype; object obj = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public int UpdateOutTime(int gtype, DateTime OutTime,int Id) { StringBuilder strSql = new StringBuilder(); strSql.Append("Update User_OnLine Set "); strSql.Append("OutTime=@OutTime"); strSql.Append(" Where gtype=@gtype and id=@Id"); SqlParameter[] parameters = { new SqlParameter("@gtype", SqlDbType.Int), new SqlParameter("@OutTime", SqlDbType.DateTime), new SqlParameter("@Id", SqlDbType.Int,4)}; parameters[0].Value = gtype; parameters[1].Value = OutTime; parameters[2].Value = Id; object obj = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public int Update(int gtype, string SessionId,int MemberId, DateTime MemberDLSJ) { StringBuilder strSql = new StringBuilder(); strSql.Append("Update User_OnLine Set "); strSql.Append("OutTime=GetDate(),IsOnline=0"); strSql.Append(" Where gtype=@gtype and SessionId=@SessionId and MemberId=@MemberId and UserType=0 and CONVERT(varchar(100),InTime,120)=CONVERT(varchar(100),@MemberDLSJ,120)"); SqlParameter[] parameters = { new SqlParameter("@gtype", SqlDbType.Int), new SqlParameter("@SessionId", SqlDbType.VarChar,50), new SqlParameter("@MemberId", SqlDbType.Int), new SqlParameter("@MemberDLSJ", SqlDbType.DateTime)}; parameters[0].Value = gtype; parameters[1].Value = SessionId; parameters[2].Value = MemberId; parameters[3].Value = MemberDLSJ; object obj = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public int Update0(int gtype, string SessionId, int MemberId) { StringBuilder strSql = new StringBuilder(); strSql.Append("Update User_OnLine Set ReTime=GetDate() Where gtype=@gtype and SessionId=@SessionId and MemberId=@MemberId And IsOnline=1 and UserType=0"); strSql.Append(";Update User_OnLine Set OutTime=GetDate(),IsOnline=0 Where gtype=@gtype and IsOnline=1 and UserType=0 And DateDiff(day,ReTime,getdate())>1"); SqlParameter[] parameters = { new SqlParameter("@gtype", SqlDbType.Int), new SqlParameter("@SessionId", SqlDbType.VarChar,50), new SqlParameter("@MemberId", SqlDbType.Int)}; parameters[0].Value = gtype; parameters[1].Value = SessionId; parameters[2].Value = MemberId; object obj = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public int Update1(int gtype, string SessionId, int MemberId, DateTime DLTime) { StringBuilder strSql = new StringBuilder(); strSql.Append("Update User_OnLine Set "); strSql.Append("IsDL=1,IsOnline=0"); strSql.Append(" Where gtype=@gtype and (CONVERT(varchar(100),InTime,120)<>CONVERT(varchar(100),@DLTime,120)) and MemberId=@MemberId and IsOnline=1 and UserType=0"); SqlParameter[] parameters = { new SqlParameter("@gtype", SqlDbType.Int), new SqlParameter("@SessionId", SqlDbType.VarChar,50), new SqlParameter("@MemberId", SqlDbType.Int), new SqlParameter("@DLTime", SqlDbType.DateTime)}; parameters[0].Value = gtype; parameters[1].Value = SessionId; parameters[2].Value = MemberId; parameters[3].Value = DLTime; object obj = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public int UpdateMAC(string MAC, Int64 Id) { StringBuilder strSql = new StringBuilder(); strSql.Append("Update User_OnLine Set "); strSql.Append("MAC=@MAC"); strSql.Append(" Where Id=@Id"); SqlParameter[] parameters = { new SqlParameter("@MAC", SqlDbType.VarChar,50), new SqlParameter("@Id", SqlDbType.BigInt)}; parameters[0].Value = MAC; parameters[1].Value = Id; object obj = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 更新一条数据 /// public int Update2(int gtype, int MemberId) { StringBuilder strSql = new StringBuilder(); strSql.Append("Update User_OnLine Set "); strSql.Append("IsDL=1"); strSql.Append(" Where gtype=@gtype and MemberId=@MemberId and IsOnline=1 and IsDL=0 and UserType=0"); SqlParameter[] parameters = { new SqlParameter("@gtype", SqlDbType.Int), new SqlParameter("@MemberId", SqlDbType.Int)}; parameters[0].Value = gtype; parameters[1].Value = MemberId; object obj = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString(), parameters); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } } /// /// 删除一条数据 /// public bool Delete(Int64 Id) { StringBuilder strSql = new StringBuilder(); strSql.Append("delete from User_OnLine "); int rows = 0; if (Id > 0) { strSql.Append(" where Id=@Id"); SqlParameter[] parameters = { new SqlParameter("@Id", SqlDbType.BigInt)}; parameters[0].Value = Id; rows = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString(), parameters); } else { rows = Mtxfw.Utility.SqlDbHelper_U.ExecuteCmd(strSql.ToString()); } if (rows > 0) { return true; } else { return false; } } /// /// 获取列表 /// public DataSet GetUser_OnLine(string top, string where) { SqlParameter[] para = { new SqlParameter("@top", SqlDbType.VarChar,8000), new SqlParameter("@where", SqlDbType.VarChar,8000)}; para[0].Value = top; para[1].Value = where; return Mtxfw.Utility.SqlDbHelper_U.GetDataSet("GetResultsSumList", para); } // /// 判断用户名是否在别处登录 /// /// public bool IsExistsIsDL(int gtype, string SessionId, int MemberId, DateTime DLTime) { string sqlStr = "select top 1 id from User_OnLine where gtype=@gtype and SessionId=@SessionId and MemberId=@MemberId And IsDL=1 and CONVERT(varchar(100),InTime,120)=CONVERT(varchar(100),@DLTime,120) and UserType=0"; SqlParameter[] para = { new SqlParameter("@gtype", SqlDbType.Int), new SqlParameter("@SessionId", SqlDbType.VarChar, 50), new SqlParameter("@MemberId", SqlDbType.Int), new SqlParameter("@DLTime", SqlDbType.DateTime)}; para[0].Value = gtype; para[1].Value = SessionId; para[2].Value = MemberId; para[3].Value = DLTime; bool Isbool = false; SqlDataReader Dr = Mtxfw.Utility.SqlDbHelper_U.GetDataReader(sqlStr.ToString(), para); if (Dr.Read()) Isbool = true; Dr.Close(); return Isbool; } // /// 判断用户名是否已退出 /// /// public bool IsExistsIsOut(int gtype, string SessionId, int MemberId, DateTime DLTime) { string sqlStr = "select top 1 id from User_OnLine where gtype=@gtype and SessionId=@SessionId and CONVERT(varchar(100),InTime,120)=CONVERT(varchar(100),@DLTime,120) And MemberId=@MemberId And IsOnline=0 and UserType=0"; SqlParameter[] para = { new SqlParameter("@gtype", SqlDbType.Int), new SqlParameter("@SessionId", SqlDbType.VarChar, 50), new SqlParameter("@MemberId", SqlDbType.Int), new SqlParameter("@DLTime", SqlDbType.DateTime)}; para[0].Value = gtype; para[1].Value = SessionId; para[2].Value = MemberId; para[3].Value = DLTime; bool Isbool = false; SqlDataReader Dr = Mtxfw.Utility.SqlDbHelper_U.GetDataReader(sqlStr.ToString(), para); if (Dr.Read()) Isbool = true; Dr.Close(); return Isbool; } /// /// 獲取在線人數 /// /// public int getonlinecount(int gtype, int p) { string sqlStr = ""; sqlStr = "select Count(id) from User_OnLine where gtype=@gtype and IsOnline=1 and UserType=0"; if (p == 1) { sqlStr = "select Count(DISTINCT IP) from User_OnLine a where a.gtype=@gtype and a.IsOnline=1 and UserType=0"; } SqlParameter[] parameters = { new SqlParameter("@gtype", SqlDbType.Int)}; parameters[0].Value = gtype; int rows = Mtxfw.Utility.SqlDbHelper_U.ExecuteScalar(sqlStr, parameters); return rows; } } }