Files
g.hnyhua.cn/Mtxfw.DAL/User_OnLine.cs
2026-02-07 15:48:27 +08:00

365 lines
15 KiB
C#

using System;
using System.Data;
using System.Text;
using System.Data.SqlClient;
namespace Mtxfw.DAL
{
/// <summary>
/// 数据访问类:User_OnLine
/// </summary>
public partial class User_OnLine : Mtxfw.Utility.Myabstract
{
public User_OnLine()
: base("User_OnLine")
{ }
/// <summary>
/// 增加一条数据
/// </summary>
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);
}
}
/// <summary>
/// 更新一条数据
/// </summary>
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);
}
}
/// <summary>
/// 更新一条数据
/// </summary>
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);
}
}
/// <summary>
/// 更新一条数据
/// </summary>
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);
}
}
/// <summary>
/// 更新一条数据
/// </summary>
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);
}
}
/// <summary>
/// 更新一条数据
/// </summary>
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);
}
}
/// <summary>
/// 更新一条数据
/// </summary>
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);
}
}
/// <summary>
/// 更新一条数据
/// </summary>
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);
}
}
/// <summary>
/// 更新一条数据
/// </summary>
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);
}
}
/// <summary>
/// 删除一条数据
/// </summary>
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;
}
}
/// <summary>
/// 获取列表
/// </summary>
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);
}
// <summary>
/// 判断用户名是否在别处登录
/// </summary>
/// <returns></returns>
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;
}
// <summary>
/// 判断用户名是否已退出
/// </summary>
/// <returns></returns>
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;
}
/// <summary>
/// 獲取在線人數
/// </summary>
/// <returns></returns>
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;
}
}
}