/// <summary> /// 发送图文消息 /// </summary> private void SendCSMessageMpnews(string openId, string pHost, int?lcId) { if (lcId == null) { return; } WeChatArticleService pService = new WeChatArticleService("MP"); List <Article> pArticles = pService.LoadResources2LocalArticles(pHost, lcId.Value); var pResult = pService.GetActionResult(); if (pResult != null || pArticles == null || pArticles.Count == 0) { return; } EG.WeChat.Service.WeiXin.WeixinMessageSender pSender = new WeixinMessageSender(); pSender.SendArticle(openId, pArticles); }
/// <summary> /// 根据用户OpenID进行群发消息 /// </summary> /// <param name="messageid"></param> /// <param name="groupId"></param> /// <param name="mediaId"></param> /// <param name="content"></param> /// <param name="messageType"></param> public void SendGroupMessageByOpenID(string messageid, string userId, string mediaId, string content, string messageType, string sex) { this.ExecuteTryCatch(() => { if (string.IsNullOrEmpty(mediaId) && string.IsNullOrEmpty(content)) { EGExceptionOperator.ThrowX <Exception>("請輸入發送內容", EGActionCode.缺少必要参数); } //从缓存中读取微信用户缓存 WCUserServiceLocal <WeChatUser> pUserService = new WCUserServiceLocal <WeChatUser>(); List <WeChatUser> pList = pUserService.GetWXUsersCache(); List <string> pListOpenID = new List <string>(); //筛选条件——以后扩展为动态条件,暂时只支持性别 if (sex == "1" || sex == "2") { int iSex = Convert.ToInt16(sex); pList = pList.Where(pEn => pEn.sex == iSex).ToList(); } // foreach (WeChatUser pUser in pList) { if (!pListOpenID.Contains(pUser.openid)) { pListOpenID.Add(pUser.openid); } } //转换为数组 string[] pArray = pListOpenID.ToArray(); //发送群发消息 SendResult pResult = WeixinMessageSender.SendGroupMessageByOpenId(mediaId, content, messageType, pArray); if (!string.IsNullOrEmpty(pResult.errmsg) && pResult.errmsg != "send job submission success") { EGExceptionOperator.ThrowX <Exception>(pResult.errmsg, pResult.errcode.ToString()); } //发送完成后更新 UpdateGsMessageAfterSend(messageid, userId, 1, string.Empty, pResult.errmsg); }); }
/// <summary> /// 根据分组进行群发消息 /// </summary> /// <param name="messageid"></param> /// <param name="groupId"></param> /// <param name="mediaId"></param> /// <param name="content"></param> /// <param name="messageType"></param> public void SendGroupMessageByGroupID(string messageid, string userId, string groupId, string mediaId, string content, string messageType) { this.ExecuteTryCatch(() => { if (string.IsNullOrEmpty(groupId)) { EGExceptionOperator.ThrowX <Exception>("請選中目標發送微信用戶組", EGActionCode.缺少必要参数); } if (string.IsNullOrEmpty(mediaId) && string.IsNullOrEmpty(content)) { EGExceptionOperator.ThrowX <Exception>("請輸入發送內容", EGActionCode.缺少必要参数); } // SendResult pResult = WeixinMessageSender.SendGroupMessageByGroupId(groupId, mediaId, content, messageType); if (!string.IsNullOrEmpty(pResult.errmsg) && pResult.errmsg != "send job submission success") { EGExceptionOperator.ThrowX <Exception>(pResult.errmsg, pResult.errcode.ToString()); } //发送完成后更新 UpdateGsMessageAfterSend(messageid, userId, 2, groupId, pResult.errmsg); }); }
/// <summary> /// 发送音频消息 /// </summary> /// <param name="openId"></param> /// <param name="mediaId"></param> private void SendCSMessageVoice(string openId, string mediaId) { WeixinMessageSender.SendVoice(openId, mediaId); }
/// <summary> /// 发送文本消息 /// </summary> private void SendCSMessageText(string openId, string pText) { WeixinMessageSender.SendText(openId, pText); }
/// <summary> /// 发送视频消息 /// </summary> /// <param name="openId"></param> /// <param name="mediaId"></param> private void SendCSMessageVideo(string openId, string mediaId) { WeixinMessageSender.SendVideo(openId, mediaId, string.Empty, string.Empty); }