Ejemplo n.º 1
0
        protected override string SendingMessage(WxMenuEventEntity entity, WxAccountEntity user, OutReplyTextHandler outReplyTextHandler, OutReplyImageTextHandler outReplyImageTextHandler)
        {
            switch (entity.EventKey.ToLower())
            {
            case "exitall":
                ServantService.ServantServiceSoapClient servant = new ServantService.ServantServiceSoapClient();
                ServantService.ServantInfoEntity        model   = servant.GetByOpenId(entity.FromUserName);
                if (model != null)
                {
                    // 回复访客
                    SocketService.SocketServiceSoapClient socket  = new SocketService.SocketServiceSoapClient();
                    SocketService.SocketP2PMessageEntity  message = new SocketService.SocketP2PMessageEntity();
                    message.Sender   = model.UserName;
                    message.Receiver = "exitall";
                    message.Identity = "SERVANT";
                    message.Data     = "exitall";
                    message.WeiXinNo = entity.ToUserName;
                    message.OpenId   = entity.FromUserName;
                    message.Owner    = model.UserId.ToString();
                    socket.SendMessageToP2PServer(message);
                }
                return(string.Empty);
            }

            return(base.SendingMessage(entity, user, outReplyTextHandler, outReplyImageTextHandler));
        }
Ejemplo n.º 2
0
        private void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            this.lblMsg.Content = string.Empty;

            try
            {
                if (string.IsNullOrWhiteSpace(this.txbUserName.Text) || this.txbUserName.Text.Trim().Length < 6)
                {
                    this.lblMsg.Content = "请输入用户名,6-20位";
                    return;
                }

                if (string.IsNullOrWhiteSpace(this.txbPassword.Password) || this.txbPassword.Password.Trim().Length < 6)
                {
                    this.lblMsg.Content = "请输入密码,6-20位";
                    return;
                }

                ServantService.ServantServiceSoapClient service = new ServantService.ServantServiceSoapClient();
                service.LoginAsync(this.txbUserName.Text, CryptHelper.MD5(this.txbPassword.Password));
                service.LoginCompleted += new EventHandler <ServantService.LoginCompletedEventArgs>(Service_LoginCompleted);
            }
            catch (Exception ex)
            {
                this.DialogResult = false;
                MessageBox.Show("异常:" + ex.Message, "警告", MessageBoxButton.OK);
            }
        }
Ejemplo n.º 3
0
        protected override void Page_Loaded(object sender, RoutedEventArgs e)
        {
            //login = new LoginWindow();
            //login.Closed += new EventHandler(Login_Closed);
            //login.Show();

            if (!CookieHelper.Exists("UserId") &&
                !CookieHelper.Exists("HighId"))
            {
                login         = new LoginWindow();
                login.Closed += new EventHandler(Login_Closed);
                login.Show();
            }
            else
            {
                var userId = CookieHelper.GetCookie("UserId");
                var owner  = CookieHelper.GetCookie("HighId");
                ServantService.ServantServiceSoapClient service = new ServantService.ServantServiceSoapClient();
                service.GetByOwnerAsync(userId, owner);
                service.GetByOwnerCompleted +=
                    new EventHandler <ServantService.GetByOwnerCompletedEventArgs>(Service_GetByOwnerCompleted);
            }
        }
Ejemplo n.º 4
0
        protected override string SendingMessage(WxTextEntity entity, WxAccountEntity user,
                                                 OutReplyTextHandler outReplyTextHandler, OutReplyImageTextHandler outReplyImageTextHandler)
        {
            try
            {
                LogHelper.WriteLog("这是Text消息");
                if (entity.Content.StartsWith("我是客服"))
                {
                    string[] loginItems = entity.Content.Split(new char[] { '#' });
                    if (loginItems.Length == 3 && Equals(loginItems[0], "我是客服"))
                    {
                        LogHelper.WriteLog("这是客服登录请求");
                        string loginName = loginItems[1];
                        string loginPwd  = CryptHelper.MD5(loginItems[2]);

                        ServantService.ServantServiceSoapClient servant = new ServantService.ServantServiceSoapClient();
                        ServantService.ServantInfoEntity        model   = servant.Login(loginName, loginPwd);
                        if (model != null)
                        {
                            LogHelper.WriteLog("登录成功");
                            bool b = servant.UpdateWeiXin(model.ID, entity.FromUserName, entity.ToUserName);
                            LogHelper.WriteLog(b ? "更新微信信息成功" : "更新微信信息失败");

                            if (b)
                            {
                                // 发Socket消息,缓存到P2PServer
                                SocketService.SocketServiceSoapClient socket  = new SocketService.SocketServiceSoapClient();
                                SocketService.SocketP2PMessageEntity  message = new SocketService.SocketP2PMessageEntity();
                                message.Sender   = model.UserName;
                                message.Identity = "SERVANT";
                                message.Data     = "CHECKIDENTITY";
                                message.WeiXinNo = entity.ToUserName;
                                message.OpenId   = entity.FromUserName;
                                message.Owner    = model.UserId.ToString();
                                socket.SendMessageToP2PServer(message);

                                return(string.Empty);
                            }
                        }
                    }
                }
                else
                {
                    string[] replys = entity.Content.Split(new char[] { '#' });
                    long     cid    = 0;
                    if (long.TryParse(replys[0], out cid))
                    {
                        ServantService.ServantServiceSoapClient servant = new ServantService.ServantServiceSoapClient();
                        ServantService.ServantInfoEntity        model   = servant.GetByOpenId(entity.FromUserName);
                        if (model != null)
                        {
                            // 回复访客
                            SocketService.SocketServiceSoapClient socket  = new SocketService.SocketServiceSoapClient();
                            SocketService.SocketP2PMessageEntity  message = new SocketService.SocketP2PMessageEntity();
                            message.Sender   = model.UserName;
                            message.Receiver = replys[0];
                            message.Identity = "SERVANT";
                            message.Data     = replys[1];
                            message.WeiXinNo = entity.ToUserName;
                            message.OpenId   = entity.FromUserName;
                            message.Owner    = model.UserId.ToString();
                            socket.SendMessageToP2PServer(message);

                            return(string.Empty);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("Text SendingMessage Error:" + ex.InnerException.Message);
            }

            return(base.SendingMessage(entity, user, outReplyTextHandler, outReplyImageTextHandler));
        }