public static bool OriginalIdIsRegUser(string sOriginalId) { string sSql = string.Format("SELECT * FROM `mpserver_mpweixin_login` WHERE OriginalId = '{0}'", sOriginalId); DataTable dt = CDBAccess.MySqlDt(sSql); return(dt.Rows.Count > 0); }
/// <summary> /// 消息处理 /// </summary> /// <returns></returns> public static string MsgFeedback() { bool bGetFans = WeiXinTool.OpenIdToFans(WeiXinMsgInfo.OpenId); string[] aMPInfo = WeiXinTool.GetMPUserInfo(WeiXinMsgInfo.OriginalId); string[] aServerId = WeiXinTool.GetMPServerId(WeiXinMsgInfo.OriginalId); WeiXinBindInfo.MPUser = aMPInfo[0]; WeiXinBindInfo.MPPass = aMPInfo[1]; WeiXinLogin.ExecLogin(WeiXinBindInfo.MPUser, WeiXinBindInfo.MPPass); if (bGetFans) { foreach (string sServerId in aServerId) { if (sServerId == WeiXinFans.sFakeId) { return(ServerBack()); } } } if (aMPInfo == null) { return("客服系统配置出现问题,如果你是本系统管理员请进入后台完成相关设置。"); } WeiXinBindInfo.BreakMsg = Guid.NewGuid().ToString().Substring(0, 5); if (!bGetFans) { string sOutText = string.Format("您是首次使用“微客服”平台,将会为您自动注册到客服系统,如果在5秒内收到绑定成功信息则代表注册成功!<a href=\"http:////RMBZ.Net\\{0}\"> </a>", WeiXinBindInfo.BreakMsg); WritePage(sOutText, false); Thread.Sleep(2500); string[] aFakeId = Bind.MPBind.BindFakeId(WeiXinBindInfo.BreakMsg, WeiXinBindInfo.MPUser, WeiXinBindInfo.MPPass); if (aFakeId.Length == 2) { WeiXinFans.sFakeId = aFakeId[0]; string sSql = string.Format("INSERT INTO `mpserver_bridge` (`openid`, `fakeid`, `name`, `time`) VALUES ('{0}', '{1}', '{2}', '{3}')", WeiXinMsgInfo.OpenId, aFakeId[0], WeiXinTool.Base64Code(aFakeId[1]), DateTime.Now); CDBAccess.MySqlDt(sSql); SendMsg.SendMessageText(aFakeId[1] + " 绑定成功,现在您就可以和客服联系啦。", WeiXinFans.sFakeId); } else { //WriteFile.Write("log.txt", WeiXinMsgInfo.OpenId + ":NoFoundFakeId.\n"); } return("OK"); } else { if (aServerId == null) { return("无法联系到客服!\n\n本客服系统尚未设置客服人员ID,请管理员尽快设置!"); } else { string sServerId = aServerId[0]; string MsgText = string.Format("来自 {0} 的消息:\n\n{1}\n\n回复此消息请回复“{2}#回复内容”", WeiXinFans.sNickName, WeiXinMsgInfo.Text, WeiXinFans.sFansId); SendMsg.SendMessageText(MsgText, sServerId); return("消息已经送达至客服,我们会尽快为您做答复!\n回复“退出”可退出“微客服”平台。"); } } }
public static string OpenIdToNickName(string sOpenId) { string sSql = string.Format("SELECT name FROM `mpserver_bridge` WHERE openid = '{0}'", sOpenId); DataTable dt = CDBAccess.MySqlDt(sSql); if (dt.Rows.Count > 0) { return(dt.Rows[0]["name"].ToString()); } else { return("路人甲"); } }
/// <summary> /// 获取微信客服FakeId /// </summary> /// <param name="OriginalId">原始帐号Id</param> /// <returns>返回ServerId字符串组</returns> public static string[] GetMPServerId(string OriginalId) { string sSql = string.Format("SELECT * FROM `mpserver_mpweixin_login` WHERE OriginalId = '{0}'", OriginalId); DataTable dt = CDBAccess.MySqlDt(sSql); if (dt.Rows.Count <= 0) { return(null); } else { return(dt.Rows[0]["ServerId"].ToString().Split('#')); } }
/// <summary> /// 获得公众帐号密码 /// </summary> /// <param name="OriginalId">原始帐号</param> /// <returns>返回字符串组{MPUser,MPPass}</returns> public static string[] GetMPUserInfo(string OriginalId) { string sSql = string.Format("SELECT * FROM `mpserver_mpweixin_login` WHERE OriginalId = '{0}'", OriginalId); DataTable dt = CDBAccess.MySqlDt(sSql); if (dt.Rows.Count <= 0) { return(null); } else { return(new string[] { dt.Rows[0]["MPUser"].ToString(), dt.Rows[0]["MPPass"].ToString() }); } }
/// <summary> /// MPKey转OriginaId /// </summary> /// <param name="sMPKey">需查询的MPKey值</param> /// <returns>返回MPKey对应的OriginaId值</returns> public static string MPKeyToOriginaId(string sMPKey) { string sSql = string.Format("SELECT * FROM `mpserver_mpweixin_login` WHERE MPKey = '{0}'", sMPKey); DataTable dt = CDBAccess.MySqlDt(sSql); if (dt.Rows.Count <= 0) { return(string.Empty); } else { return(dt.Rows[0]["OriginalId"].ToString()); } }
/// <summary> /// OpenId转FakeId /// </summary> /// <param name="sOpenId">需要查询的OpenId</param> /// <returns>返回FakeId,无结果则返回0</returns> public static string OpenIdToFakeId(string sOpenId) { string sSql = string.Format("SELECT fakeid FROM `mpserver_bridge` WHERE openid = '{0}'", sOpenId); DataTable dt = CDBAccess.MySqlDt(sSql); if (dt.Rows.Count > 0) { return(dt.Rows[0]["fakeid"].ToString()); } else { return("0"); } }
public static bool OpenIdToFans(string sOpenId) { string sSql = string.Format("SELECT * FROM `mpserver_bridge` WHERE openid = '{0}'", sOpenId); DataTable dt = CDBAccess.MySqlDt(sSql); if (dt.Rows.Count > 0) { WeiXinFans.sFakeId = dt.Rows[0]["FakeId"].ToString(); WeiXinFans.sFansId = dt.Rows[0]["Id"].ToString(); WeiXinFans.sBaseNikeName = dt.Rows[0]["Name"].ToString(); return(true); } else { return(false); } }
public static void DelRegistration() { string sSql = "DELETE FROM `mpserver_registration`"; CDBAccess.MySqlDt(sSql); }