ComplianceServer/oldcode/DAL/weapp/WX_UserInfo_DAL.cs

515 lines
24 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OracleClient;
using WX.CRM.Common;
namespace WX.CRM.DAL.weapp
{
public class WX_UserInfo_DAL
{
#region
public bool weapp_userinfo_Storage(string v_openid, string v_nickname, int v_gender, string v_language, string v_city, string v_province, string v_country, string v_avatarurl, int v_infotype, string v_unionid, int? Subscribe, DateTime? SubscribeTime, string AccountNum)
{
bool result = true;
try
{
var param = new List<OracleParameter>
{
new OracleParameter() { ParameterName = "v_openid", OracleType = OracleType.VarChar, Value =v_openid },
string.IsNullOrEmpty(v_nickname)? new OracleParameter() { ParameterName = "v_nickname", OracleType = OracleType.VarChar, Value =DBNull.Value }: new OracleParameter() { ParameterName = "v_nickname", OracleType = OracleType.VarChar, Value =v_nickname },
new OracleParameter() { ParameterName = "v_gender", OracleType = OracleType.Number, Value = v_gender },
string.IsNullOrEmpty(v_nickname)?new OracleParameter() { ParameterName = "v_language", OracleType = OracleType.VarChar, Value = DBNull.Value }:new OracleParameter() { ParameterName = "v_language", OracleType = OracleType.VarChar, Value = v_language },
string.IsNullOrEmpty(v_city)? new OracleParameter() { ParameterName = "v_city", OracleType = OracleType.VarChar, Value = DBNull.Value }:new OracleParameter() { ParameterName = "v_city", OracleType = OracleType.VarChar, Value = v_city },
string.IsNullOrEmpty(v_province)?new OracleParameter() { ParameterName = "v_province", OracleType = OracleType.VarChar, Value = DBNull.Value }:new OracleParameter() { ParameterName = "v_province", OracleType = OracleType.VarChar, Value = v_province },
string.IsNullOrEmpty(v_country)?new OracleParameter() { ParameterName = "v_country", OracleType = OracleType.VarChar, Value = DBNull.Value }:new OracleParameter() { ParameterName = "v_country", OracleType = OracleType.VarChar, Value = v_country },
string.IsNullOrEmpty(v_avatarurl)? new OracleParameter() { ParameterName = "v_avatarurl", OracleType = OracleType.VarChar, Value = DBNull.Value }: new OracleParameter() { ParameterName = "v_avatarurl", OracleType = OracleType.VarChar, Value = v_avatarurl },
new OracleParameter() { ParameterName = "v_infotype", OracleType = OracleType.Number, Value = v_infotype },
string.IsNullOrEmpty(v_unionid)? new OracleParameter() { ParameterName = "v_unionid", OracleType = OracleType.VarChar, Value = DBNull.Value }: new OracleParameter() { ParameterName = "v_unionid", OracleType = OracleType.VarChar, Value = v_unionid },
Subscribe.HasValue?new OracleParameter() { ParameterName = "v_Subscribe", OracleType = OracleType.Number, Value = Subscribe }:new OracleParameter() { ParameterName = "v_Subscribe", OracleType = OracleType.Number, Value = DBNull.Value },
SubscribeTime.HasValue? new OracleParameter() { ParameterName = "v_SubscribeTime", OracleType = OracleType.DateTime, Value = SubscribeTime }: new OracleParameter() { ParameterName = "v_SubscribeTime", OracleType = OracleType.DateTime, Value = DBNull.Value },
new OracleParameter() { ParameterName = "v_AccountNum", OracleType = OracleType.VarChar, Value = AccountNum },
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WEAPP.weapp_userinfo_Storage", param.ToArray());
}
catch
{
result = false;
throw;
}
return result;
}
public bool Img_flat_Storage(string v_username, int v_imgflag, long v_lastupdatetime, string v_url1, string v_url2, string v_url3, string v_url4)
{
bool result = true;
try
{
var param = new List<OracleParameter>
{
new OracleParameter() { ParameterName = "v_username", OracleType = OracleType.VarChar, Value =v_username },
new OracleParameter() { ParameterName = "v_imgflag", OracleType = OracleType.Number, Value =v_imgflag },
new OracleParameter() { ParameterName = "v_lastupdatetime", OracleType = OracleType.Number, Value = v_lastupdatetime },
new OracleParameter() { ParameterName = "v_url1", OracleType = OracleType.VarChar, Value = v_url1 },
new OracleParameter() { ParameterName = "v_url2", OracleType = OracleType.VarChar, Value = v_url2 },
new OracleParameter() { ParameterName = "v_url3", OracleType = OracleType.VarChar, Value = v_url3 },
new OracleParameter() { ParameterName = "v_url4", OracleType = OracleType.VarChar, Value = v_url4 },
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WEAPP.Img_flat_Storage", param.ToArray());
}
catch
{
result = false;
throw;
}
return result;
}
/// <summary>
/// 获取用户头像信息
/// </summary>
/// <param name="openid">打开ID</param>
/// <returns></returns>
public DataTable GetUserHeadInfo(string openid)
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_openid", OracleType = OracleType.VarChar, Value = openid });
param.Add(new OracleParameter() { ParameterName = "v_sqldata", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP.GetUserheaderByOpenId", param.ToArray());
return dest.Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
/// <summary>
/// 获取分配的售后服务人员
/// </summary>
/// <param name="openid">打开ID</param>
/// <returns></returns>
public DataTable GetFenPeiCustomerService(int type, string openid, string onlineUser, string accountnum, string fenpei)
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_type", OracleType = OracleType.Number, Value = type });
param.Add(new OracleParameter() { ParameterName = "v_openid", OracleType = OracleType.VarChar, Value = openid });
param.Add(new OracleParameter() { ParameterName = "v_lineUser", OracleType = OracleType.VarChar, Value = onlineUser });
param.Add(new OracleParameter() { ParameterName = "v_accountnum", OracleType = OracleType.VarChar, Value = accountnum });
param.Add(new OracleParameter() { ParameterName = "v_sqldata", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP." + fenpei, param.ToArray());
return dest.Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
public DataSet GetCustomerInfoByOpenId(string openid)
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_openid", OracleType = OracleType.VarChar, Value = openid });
param.Add(new OracleParameter() { ParameterName = "v_CustoermResData", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
param.Add(new OracleParameter() { ParameterName = "v_ChatListData", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP.GetCustomerInfoByOpenId", param.ToArray());
return dest;
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
#endregion
#region MD5获取
/// <summary>
/// 获取用户头像信息
/// </summary>
/// <param name="openid">打开ID</param>
/// <returns></returns>
public DataTable Get_ImgFlagForDownLoad()
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP_FLAG.Get_ImgFlag", param.ToArray());
return dest.Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
/// <summary>
/// 修改数据
/// </summary>
/// <param name="v_username"></param>
/// <param name="v_md5"></param>
/// <param name="v_file"></param>
/// <returns></returns>
public bool Upadte_ImgFlag(string v_username, string v_md5, string v_file)
{
bool result = true;
try
{
var param = new List<OracleParameter>
{
new OracleParameter() { ParameterName = "v_username", OracleType = OracleType.VarChar, Value =v_username },
new OracleParameter() { ParameterName = "v_md5", OracleType = OracleType.VarChar, Value =v_md5 },
new OracleParameter() { ParameterName = "v_file", OracleType = OracleType.VarChar, Value = v_file },
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WEAPP_FLAG.Upadte_ImgFlag", param.ToArray());
}
catch
{
result = false;
throw;
}
return result;
}
#endregion
#region MD5获取
/// <summary>
/// 获取用户头像信息
/// </summary>
/// <param name="openid">打开ID</param>
/// <returns></returns>
public DataTable Get_WeapUserInfo()
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP_FLAG.Get_WeapUserInfo", param.ToArray());
return dest.Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
/// <summary>
/// 修改数据
/// </summary>
/// <param name="v_username"></param>
/// <param name="v_md5"></param>
/// <param name="v_file"></param>
/// <returns></returns>
public bool Up_WeapImgFlag(string v_openid, string v_md5, string v_file)
{
bool result = true;
try
{
var param = new List<OracleParameter>
{
new OracleParameter() { ParameterName = "v_openid", OracleType = OracleType.VarChar, Value =v_openid },
new OracleParameter() { ParameterName = "v_md5", OracleType = OracleType.VarChar, Value =v_md5 },
new OracleParameter() { ParameterName = "v_file", OracleType = OracleType.VarChar, Value = v_file },
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WEAPP_FLAG.Up_WeapImgFlag", param.ToArray());
}
catch
{
result = false;
throw;
}
return result;
}
#endregion
#region
/// <summary>
/// 获取微信公众号列表 以及分配过程
/// </summary>
/// <returns></returns>
public DataTable GetWxAccount()
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP.GetWxAccount", param.ToArray());
return dest.Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
#endregion
#region
public DataTable GetFriends(decimal eid, string accountnum)
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_eid", OracleType = OracleType.VarChar, Value = eid });
param.Add(new OracleParameter() { ParameterName = "v_accountnum", OracleType = OracleType.VarChar, Value = accountnum });
param.Add(new OracleParameter() { ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP.OnLogonGetFriends", param.ToArray());
return dest.Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
#endregion
#region 线
/// <summary>
/// 获取在线人员
/// </summary>
/// <returns></returns>
public DataTable GetOnlineUser()
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP_LINE.GetOnlineUser", param.ToArray());
return dest.Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
/// <summary>
/// 客服上线
/// </summary>
/// <param name="v_ConnectionId"></param>
/// <param name="v_UserID"></param>
/// <param name="v_UserName"></param>
/// <param name="v_DeptName"></param>
/// <param name="v_LoginTime"></param>
/// <param name="v_accountNum"></param>
/// <returns></returns>
public bool Logon(string v_ConnectionId, string v_UserID, string v_UserName, string v_DeptName, DateTime v_LoginTime, string v_accountNum)
{
bool result = true;
try
{
var param = new List<OracleParameter>
{
new OracleParameter() { ParameterName = "v_ConnectionId", OracleType = OracleType.VarChar, Value =v_ConnectionId },
new OracleParameter() { ParameterName = "v_UserID", OracleType = OracleType.VarChar, Value =v_UserID },
new OracleParameter() { ParameterName = "v_UserName", OracleType = OracleType.VarChar, Value = v_UserName },
new OracleParameter() { ParameterName = "v_DeptName", OracleType = OracleType.VarChar, Value = v_DeptName },
new OracleParameter() { ParameterName = "v_LoginTime", OracleType = OracleType.DateTime, Value = v_LoginTime },
new OracleParameter() { ParameterName = "v_accountNum", OracleType = OracleType.VarChar, Value = v_accountNum }
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WEAPP_LINE.Logon", param.ToArray());
}
catch
{
result = false;
throw;
}
return result;
}
/// <summary>
/// 客服离线
/// </summary>
/// <param name="v_UserId"></param>
/// <param name="v_accountNum"></param>
/// <returns></returns>
public bool UnLogon(string v_UserId, string v_accountNum)
{
bool result = true;
try
{
var param = new List<OracleParameter>
{
new OracleParameter() { ParameterName = "v_UserID", OracleType = OracleType.VarChar, Value =v_UserId },
new OracleParameter() { ParameterName = "v_accountNum", OracleType = OracleType.VarChar, Value = v_accountNum }
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WEAPP_LINE.UnLogon", param.ToArray());
}
catch
{
result = false;
throw;
}
return result;
}
#endregion
#region Resid
/// <summary>
/// 关联公众号客户的Resid
/// </summary>
/// <param name="v_UserId"></param>
/// <param name="v_accountNum"></param>
/// <returns></returns>
public bool SetWeapUserResId(string v_resid, string v_openid)
{
bool result = true;
try
{
var param = new List<OracleParameter>
{
new OracleParameter() { ParameterName = "v_resid", OracleType = OracleType.VarChar, Value =v_resid },
new OracleParameter() { ParameterName = "v_openid", OracleType = OracleType.VarChar, Value = v_openid }
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WEAPP.SetWeapUserResId", param.ToArray());
}
catch
{
result = false;
throw;
}
return result;
}
#endregion
#region
public bool weapp_update_subscribe(string v_openid, string v_subType, DateTime v_time, string v_AccountNum)
{
bool result = true;
try
{
var param = new List<OracleParameter>
{
new OracleParameter() { ParameterName = "v_openid", OracleType = OracleType.VarChar, Value = v_openid },
new OracleParameter() { ParameterName = "v_subType", OracleType = OracleType.VarChar, Value = v_subType },
new OracleParameter() { ParameterName = "v_time", OracleType = OracleType.DateTime, Value = v_time },
new OracleParameter() { ParameterName = "v_AccountNum", OracleType = OracleType.VarChar, Value = v_AccountNum }
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WEAPP.weapp_update_subscribe", param.ToArray());
}
catch
{
result = false;
throw;
}
return result;
}
#endregion
#region
public bool UpdateSendTime(string v_openid, DateTime v_ctime, string v_AccountNum, decimal eid)
{
bool result = true;
try
{
var param = new List<OracleParameter>
{
new OracleParameter() { ParameterName = "v_openid", OracleType = OracleType.VarChar, Value = v_openid },
new OracleParameter() { ParameterName = "v_ctime", OracleType = OracleType.DateTime, Value = v_ctime },
new OracleParameter() { ParameterName = "v_accountnum", OracleType = OracleType.VarChar, Value = v_AccountNum },
new OracleParameter() { ParameterName = "v_eid", OracleType = OracleType.Number, Value = eid }
};
OracleHelper.ExecuteNonQuery(CommandType.StoredProcedure, "PACK_WEAPP.UpdateSendTime", param.ToArray());
}
catch (Exception x)
{
result = false;
LogHelper.Error("错误=>v_openid:" + v_openid + ",v_ctime:" + v_ctime + ",v_AccountNum:" + v_AccountNum + ",eid:" + eid + x.ToString());
}
return result;
}
#endregion
public int BindResIdByOpenId(string openId, string resId, decimal resIdVerify, ref ValidationErrors errors)
{
int result = 0;
try
{
var sql = "update WEAPP_USERINFO set resid=:resid,residverify=:residverify where openid=:openid and (residverify=0 or residverify is null)";
var param = new List<OracleParameter>()
{
new OracleParameter() { ParameterName="resid",OracleType= OracleType.VarChar,Value=resId},
new OracleParameter() {ParameterName="residverify",OracleType = OracleType.VarChar,Value=resIdVerify },
new OracleParameter() {ParameterName="openid",OracleType = OracleType.VarChar,Value=openId },
};
result = OracleHelper.ExecuteNonQuery(CommandType.Text, sql, param.ToArray());
}
catch (Exception ex)
{
LogHelper.Error(ex);
errors.Add(ex.ToString());
}
return result;
}
#region
/// <summary>
/// 关联公众号客户的Resid
/// </summary>
/// <param name="v_UserId"></param>
/// <param name="v_accountNum"></param>
/// <returns></returns>
public DataTable TransferEid(int fromEid, int toEid, string openId, string accountNum)
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_fromEid", OracleType = OracleType.Number, Value = fromEid });
param.Add(new OracleParameter() { ParameterName = "v_toEid", OracleType = OracleType.Number, Value = toEid });
param.Add(new OracleParameter() { ParameterName = "v_openId", OracleType = OracleType.VarChar, Value = openId });
param.Add(new OracleParameter() { ParameterName = "v_accountNum", OracleType = OracleType.VarChar, Value = accountNum });
param.Add(new OracleParameter() { ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP_OP.TransferEid", param.ToArray());
return dest.Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
#endregion
/// <summary>
/// 获取员工对应的公众号
/// </summary>
/// <param name="eid"></param>
/// <returns></returns>
public DataTable GetUserAccount(decimal eid)
{
try
{
var param = new List<OracleParameter>();
param.Add(new OracleParameter() { ParameterName = "v_eid", OracleType = OracleType.Number, Value = eid });
param.Add(new OracleParameter() { ParameterName = "v_data", OracleType = OracleType.Cursor, Direction = ParameterDirection.Output });
DataSet dest = OracleHelper.DataQueray(CommandType.StoredProcedure, "PACK_WEAPP_OP.GetUserAccount", param.ToArray());
return dest.Tables[0];
}
catch (Exception ex)
{
LogHelper.Error(ex);
}
return null;
}
}
}