/// <summary> /// 文字处理 /// 说明:实际项目中这里的逻辑可以交给Service处理具体信息,参考OnLocationRequest方法或/Service/LocationSercice.cs /// </summary> /// <param name="requestMessage"></param> /// <returns></returns> public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage) { var defaultResponseMessage = CreateResponseMessage <ResponseMessageText>(); var requestHandler = requestMessage.StartHandler() .Keyword("MUTE", () => //不回复任何消息 { return(new SuccessResponseMessage()); }) .Keyword("OPENID", () => { var openId = requestMessage.FromUserName; //获取OpenId var userInfo = new Services.impl.UserOAuthService().UserInfo(openId); defaultResponseMessage.Content = string.Format( @"您的OpenID为:{0} UnionId为:{1} 昵称:{2} 性别:{3} 地区(国家/省/市):{4}/{5}/{6} 关注时间:{7} 关注状态:{8}", requestMessage.FromUserName, userInfo.unionid, userInfo.nickname, (Sex)userInfo.sex, userInfo.country, userInfo.province, userInfo.city, DateTimeHelper.GetDateTimeFromXml(userInfo.subscribe_time), userInfo.subscribe); return(defaultResponseMessage); }) .Keyword("二维码", () => { defaultResponseMessage.Content = "点击<a href=\"http://wx.wftx666.com/account/UserQrCode?openid=" + requestMessage.FromUserName + "\">我的推广二维码</a>"; return(defaultResponseMessage); }) .Keyword("进入商城", () => { defaultResponseMessage.Content = "点击<a href=\"http://wx.wftx666.com/account/EnterShop?openid=" + requestMessage.FromUserName + "\">进入商城</a>"; return(defaultResponseMessage); }) .Keyword("EX", () => { //发送模板消息 var templateMessageService = new Services.impl.TemplateMessageService(); templateMessageService.SendExTemplateMessage(requestMessage.FromUserName, "发生错误了", "错误内容", "http://wx.wftx666.com"); return(new SuccessResponseMessage()); }) .Default(() => { //非关键字消息直接转发给客服 var transferCustomerServiceResponseMessage = CreateResponseMessage <ResponseMessageTransfer_Customer_Service>(); return(transferCustomerServiceResponseMessage); }); return(requestHandler.GetResponseMessage() as IResponseMessageBase); }
/// <summary> /// 通过二维码扫描 扫描事件 如果用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者 /// </summary> /// <param name="requestMessage"></param> /// <returns></returns> public override IResponseMessageBase OnEvent_ScanRequest(RequestMessageEvent_Scan requestMessage) { var responseMessage = CreateResponseMessage <ResponseMessageText>(); responseMessage.Content = "欢迎您加入五福商城大家庭"; if (!string.IsNullOrEmpty(requestMessage.EventKey)) { //新用户openId var openId = requestMessage.FromUserName; var userInfo = new Services.impl.UserOAuthService().UserInfo(openId); var parentOpenId = requestMessage.EventKey;//推荐人的openid //这里要锁定用户推荐关系 if (openId != parentOpenId) { Task.Factory.StartNew(() => { var userGenerator = new UserGenerator(); userGenerator.CreateUser(new Models.UserInfo { OpenId = openId, UnionId = userInfo.unionid, NickName = userInfo.nickname, Province = userInfo.province, City = userInfo.city, County = userInfo.country, Gender = userInfo.sex.ToString(), Portrait = userInfo.headimgurl, ParentOpenId = parentOpenId }); //给推荐人发送推荐成功消息 string notifyMsg = string.Format(@"用户【{0}】,通过您的二维码加入了商城,加入时间:{1}", userInfo.nickname, DateTime.Now.ToString()); new CustomService().SendText(parentOpenId, notifyMsg); }); } } return(responseMessage); }