365 lines
15 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
|