示例#1
0
        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);
        }
示例#2
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回复“退出”可退出“微客服”平台。");
                }
            }
        }
示例#3
0
        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("路人甲");
            }
        }
示例#4
0
        /// <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('#'));
            }
        }
示例#5
0
        /// <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() });
            }
        }
示例#6
0
        /// <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());
            }
        }
示例#7
0
        /// <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");
            }
        }
示例#8
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);
            }
        }
示例#9
0
        public static void DelRegistration()
        {
            string sSql = "DELETE FROM `mpserver_registration`";

            CDBAccess.MySqlDt(sSql);
        }