/// <summary> /// 查询微信用户本地数据,来源自缓存 /// </summary> /// <param name="paramQue"></param> /// <returns></returns> public List <WeChatUser> QueryWCUserList_Cache(Queue <QueryEntity> paramQue) { //从缓存中获取所有微信用户数据集合 WCUserServiceLocal <WeChatUser> pUserService = new WCUserServiceLocal <WeChatUser>(); List <WeChatUser> pList = pUserService.GetWXUsersCache(); if (paramQue == null || paramQue.Count == 0) { return(pList); } //查询目标分组下的用户数据 IQueryable <WeChatUser> pQueryable = CommonFunction.QueryEnumerable <WeChatUser>(pList, paramQue); pList = pQueryable.ToList <WeChatUser>(); return(pList); }
/// <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); }); }