Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
            });
        }
Esempio n. 3
0
        /// <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);
            });
        }
Esempio n. 4
0
 /// <summary>
 /// 发送音频消息
 /// </summary>
 /// <param name="openId"></param>
 /// <param name="mediaId"></param>
 private void SendCSMessageVoice(string openId, string mediaId)
 {
     WeixinMessageSender.SendVoice(openId, mediaId);
 }
Esempio n. 5
0
 /// <summary>
 /// 发送文本消息
 /// </summary>
 private void SendCSMessageText(string openId, string pText)
 {
     WeixinMessageSender.SendText(openId, pText);
 }
Esempio n. 6
0
 /// <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);
 }