private ActionResult SendActivityToUser(BonusModel bonusModel, Senparc.Weixin.MP.Entities.IRequestMessageBase requestBaseMsg) { string str = (string.IsNullOrEmpty(base.Request.Url.Port.ToString()) ? "" : string.Concat(":", base.Request.Url.Port)); object[] objArray = new object[] { "http://", base.Request.Url.Host.ToString(), str, "/m-weixin/Bonus/Index/", bonusModel.Id }; string str1 = string.Concat(objArray); string str2 = string.Format(string.Concat("<a href='", str1, "'>您参加{0},成功获得{1}赠送的红包</a>,点击去拆红包"), bonusModel.Name, bonusModel.MerchantsName); return(new XmlResult(DealTextMsg(requestBaseMsg, str2))); }
private string DealTextMsg(Senparc.Weixin.MP.Entities.IRequestMessageBase doc, string msg) { string empty = string.Empty; string fromUserName = doc.FromUserName; string toUserName = doc.ToUserName; empty = string.Concat("", "<xml>"); empty = string.Concat(empty, "<ToUserName><![CDATA[", fromUserName, "]]></ToUserName>"); object obj = string.Concat(empty, "<FromUserName><![CDATA[", toUserName, "]]></FromUserName>"); object[] weixinDateTime = new object[] { obj, "<CreateTime>", WXApiController.GetWeixinDateTime(DateTime.Now), "</CreateTime>" }; empty = string.Concat(string.Concat(weixinDateTime), "<MsgType><![CDATA[text]]></MsgType>"); empty = string.Concat(empty, "<Content><![CDATA[", msg, "]]></Content>"); return(string.Concat(empty, "</xml>")); }
private ActionResult SendAttentionToUser(Senparc.Weixin.MP.Entities.IRequestMessageBase requestBaseMsg) { string str = ""; try { str = ServiceHelper.Create <IBonusService>().Receive(requestBaseMsg.FromUserName); if (!string.IsNullOrEmpty(str)) { return(new XmlResult(DealTextMsg(requestBaseMsg, str))); } } catch (Exception exception) { Log.Info("关注红包出错:", exception); } return(base.Content("")); }
private ActionResult SendActivityToUser(object sceneObj, Senparc.Weixin.MP.Entities.IRequestMessageBase requestBaseMsg) { ActionResult user; BonusModel bonusModel = sceneObj as BonusModel; if (bonusModel.Type == BonusInfo.BonusType.Activity) { try { user = SendActivityToUser(bonusModel, requestBaseMsg); } catch (Exception exception) { Log.Info("活动红包出错:", exception); return(base.Content("")); } return(user); } return(base.Content("")); }
public ActionResult Index() { Log.Info("进入微信API"); SiteSettingsInfo siteSettings = ServiceHelper.Create <ISiteSettingService>().GetSiteSettings(); string weixinToken = ""; string item = ""; string str = ""; string item1 = ""; string str1 = ""; weixinToken = siteSettings.WeixinToken; item = base.Request["signature"]; str = base.Request["nonce"]; item1 = base.Request["timestamp"]; str1 = base.Request["echostr"]; ActionResult user = base.Content(""); if (base.Request.HttpMethod != "GET") { if (!Senparc.Weixin.MP.CheckSignature.Check(item, item1, str, weixinToken)) { Log.Info("验证不通过"); } XDocument xDocument = XDocument.Load(base.Request.InputStream); Senparc.Weixin.MP.Entities.IRequestMessageBase requestEntity = Senparc.Weixin.MP.RequestMessageFactory.GetRequestEntity(xDocument, null); SceneHelper sceneHelper = new SceneHelper(); IWXCardService wXCardService = ServiceHelper.Create <IWXCardService>(); if (requestEntity.MsgType == RequestMsgType.Event) { RequestMessageEventBase requestMessageEventBase = requestEntity as RequestMessageEventBase; Event @event = requestMessageEventBase.Event; switch (@event) { case Event.subscribe: { RequestMessageEvent_Subscribe requestMessageEventSubscribe = requestMessageEventBase as RequestMessageEvent_Subscribe; bool flag = false; if (requestMessageEventSubscribe.EventKey != string.Empty) { string str2 = requestMessageEventSubscribe.EventKey.Replace("qrscene_", string.Empty); SceneModel model = sceneHelper.GetModel(str2); if (model != null) { if (model.SceneType == QR_SCENE_Type.WithDraw) { flag = true; str1 = ProcessWithDrawScene(requestMessageEventSubscribe, str2, model); user = base.Content(str1); } else if (model.SceneType == QR_SCENE_Type.Bonus) { flag = true; user = SendActivityToUser(sceneHelper.GetModel(str2).Object, requestEntity); } } } if (!flag) { user = SendAttentionToUser(requestEntity); } Subscribe(requestEntity.FromUserName); break; } case Event.unsubscribe: { UnSubscribe(requestMessageEventBase.FromUserName); break; } case Event.CLICK: { break; } case Event.scan: { RequestMessageEvent_Scan requestMessageEventScan = requestMessageEventBase as RequestMessageEvent_Scan; if (string.IsNullOrWhiteSpace(requestMessageEventScan.EventKey)) { break; } SceneModel sceneModel = sceneHelper.GetModel(requestMessageEventScan.EventKey); if (sceneModel == null || sceneModel.SceneType != QR_SCENE_Type.WithDraw) { break; } str1 = ProcessWithDrawScene(requestMessageEventScan, requestMessageEventScan.EventKey, sceneModel); user = base.Content(str1); break; } default: { switch (@event) { case Event.card_pass_check: { RequestMessageEvent_Card_Pass_Check requestMessageEventCardPassCheck = requestMessageEventBase as RequestMessageEvent_Card_Pass_Check; if (string.IsNullOrWhiteSpace(requestMessageEventCardPassCheck.CardId)) { return(user); } wXCardService.Event_Audit(requestMessageEventCardPassCheck.CardId, WXCardLogInfo.AuditStatusEnum.Audited); break; } case Event.card_not_pass_check: { RequestMessageEvent_Card_Pass_Check requestMessageEventCardPassCheck1 = requestMessageEventBase as RequestMessageEvent_Card_Pass_Check; if (string.IsNullOrWhiteSpace(requestMessageEventCardPassCheck1.CardId)) { return(user); } wXCardService.Event_Audit(requestMessageEventCardPassCheck1.CardId, WXCardLogInfo.AuditStatusEnum.AuditNot); break; } case Event.user_get_card: { RequestMessageEvent_User_Get_Card requestMessageEventUserGetCard = requestMessageEventBase as RequestMessageEvent_User_Get_Card; if (string.IsNullOrWhiteSpace(requestMessageEventUserGetCard.CardId) || string.IsNullOrWhiteSpace(requestMessageEventUserGetCard.UserCardCode)) { return(user); } wXCardService.Event_Send(requestMessageEventUserGetCard.CardId, requestMessageEventUserGetCard.UserCardCode, requestMessageEventUserGetCard.FromUserName, requestMessageEventUserGetCard.OuterId); break; } case Event.user_del_card: { RequestMessageEvent_User_Del_Card requestMessageEventUserDelCard = requestMessageEventBase as RequestMessageEvent_User_Del_Card; if (string.IsNullOrWhiteSpace(requestMessageEventUserDelCard.CardId) || string.IsNullOrWhiteSpace(requestMessageEventUserDelCard.UserCardCode)) { return(user); } wXCardService.Event_Unavailable(requestMessageEventUserDelCard.CardId, requestMessageEventUserDelCard.UserCardCode); break; } } break; } } } } else if (Senparc.Weixin.MP.CheckSignature.Check(item, item1, str, weixinToken)) { user = base.Content(str1); } return(user); }
public override Senparc.Weixin.MP.Entities.IResponseMessageBase DefaultResponseMessage(Senparc.Weixin.MP.Entities.IRequestMessageBase requestMessage) { return(DefautMessageHande()); }
public override Senparc.Weixin.MP.Entities.IResponseMessageBase DefaultResponseMessage(Senparc.Weixin.MP.Entities.IRequestMessageBase requestMessage) { _log.Info("aaaa"); return(new SuccessResponseMessage()); }
public override Senparc.Weixin.MP.Entities.IResponseMessageBase DefaultResponseMessage(Senparc.Weixin.MP.Entities.IRequestMessageBase requestMessage) { var responseMessage = this.CreateResponseMessage <ResponseMessageText>(); responseMessage.Content = "欢迎关注酷伴成长通,我们将竭诚为您服务"; return(responseMessage); }
public override Senparc.Weixin.MP.Entities.IResponseMessageBase DefaultResponseMessage(Senparc.Weixin.MP.Entities.IRequestMessageBase requestMessage) { var responseMessage = requestMessage.CreateResponseMessage <ResponseMessageText>(); responseMessage.Content = "默认消息"; return(responseMessage); }