示例#1
0
        /// <summary>
        /// 重写推送方法
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        public override string Push(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            //获取AccessToken
            bool result = SetCorpAccount(accessTokenModel);
            //如果有素材需要上传,则上传素材,否则返回null
            U_UploadResult uploadResult = UpLoadSource(accessTokenModel, contentModel);
            //获取微信用户详细信息
            List <U_WeChatUser> weChatUserList = SearchWeChatUserList();
            //比较微信用户列表与要推送人员列表
            List <U_WeChatUser> pushPersonListOk = weChatUserList.Join(contentModel.PushObject, c => c.mobile, b => b.PhoneNumber, (c, b) => c).ToList();

            if (result)
            {
                string postUrl = string.Format(_sendUrl, _accessToken);
                //获取推送内容Json
                string json = GetPushJson(uploadResult, contentModel);
                //推送
                string         pushResult  = PostWebRequest(postUrl, json, Encoding.UTF8);
                U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(pushResult);
                if (resultModel.errcode == 0)
                {
                    UpdatePushStatus(contentModel);
                }

                return(pushResult);
            }
            else
            {
                return("推送失败!");
            }
        }
        /// <summary>
        /// 删除微信通讯录人员
        /// </summary>
        /// <returns></returns>
        public bool DeleteWeChatData(U_AccessToken accessTokenModel, List <V_UserNotexistsmiddata> personList)
        {
            bool   result           = false;
            string isSuccessDelete  = string.Empty;
            bool   isGetAccessToken = SetCorpAccount(accessTokenModel);

            if (isGetAccessToken)
            {
                foreach (var item in personList)
                {
                    isSuccessDelete = DeleteWeChatPerson(item.UserID);
                    U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(isSuccessDelete);
                    if (resultModel.errcode == 0)
                    {
                        result = true;
                    }
                    else
                    {
                        LogManager.WriteLog(LogFile.Error, "删除微信通讯录人员Logic:" + resultModel.errcode + resultModel.errmsg);
                        result = false;
                        return(result);
                    }
                }
            }

            return(result);
        }
示例#3
0
        /// <summary>
        /// 重写推送方法
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        public override string Push(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            //获取AccessToken
            bool result = SetCorpAccount(accessTokenModel);
            //如果有素材需要上传,则上传素材,否则返回null
            U_UploadResult uploadResult = new U_UploadResult();

            //比较微信用户列表与要推送人员列表
            //List<U_WeChatUser> pushPersonListOk = weChatUserList.Join(contentModel.PushObject, c => c.mobile, b => b.PhoneNumber, (c, b) => c).ToList();
            if (result)
            {
                string postUrl = string.Format(_sendUrl, _accessToken);
                //获取推送内容Json
                string json = GetPushJson(uploadResult, contentModel);
                //推送
                string         pushResult  = PostWebRequest(postUrl, json, Encoding.UTF8);
                U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(pushResult);
                UpdatePushStatus(contentModel);
                if (resultModel.errcode == 0)
                {
                    UpdateIsReadStatus(contentModel, resultModel.invaliduser);
                }
                else
                {
                    LogManager.WriteLog(LogFile.Error, "文本推送" + resultModel.errcode + resultModel.errmsg);
                }
                return(pushResult);
            }
            else
            {
                return("推送失败!");
            }
        }
示例#4
0
        /// <summary>
        /// 重写推送方法
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        public override string Push(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            //获取AccessToken
            bool result = SetCorpAccount(accessTokenModel);
            //如果有素材需要上传,则上传素材,否则返回null
            U_UploadResult uploadResult = UpLoadSource(accessTokenModel, contentModel);

            if (result)
            {
                string postUrl = string.Format(_sendUrl, _accessToken);
                //获取推送内容Json
                string json = GetPushJson(uploadResult, contentModel);
                //推送
                string         pushResult  = PostWebRequest(postUrl, json, Encoding.UTF8);
                U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(pushResult);
                if (resultModel.errcode == 0)
                {
                    UpdatePushStatus(contentModel);
                    UpdateIsReadStatus(contentModel, resultModel.invaliduser);
                }
                return(pushResult);
            }
            else
            {
                return("推送失败!");
            }
        }
        /// <summary>
        /// 重写推送方法
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        public override string Push(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            //获取AccessToken
            bool result = SetCorpAccount(accessTokenModel);
            //如果有素材需要上传,则上传素材,否则返回null
            U_UploadResult uploadResult = UpLoadSource(accessTokenModel, contentModel);

            if (!result)
            {
                return("推送失败!");
            }
            string pushResult;

            try
            {
                string postUrl = string.Format(_sendUrl, _accessToken);
                //获取推送内容Json
                string json = GetPushJson(uploadResult, contentModel);
                //推送
                pushResult = PostWebRequest(postUrl, json, Encoding.UTF8);
                U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(pushResult);
                if (resultModel.errcode != 0)
                {
                    LogManager.WriteLog(LogFile.Error, "协议推送:" + resultModel.errcode + resultModel.errmsg);
                }
            }
            catch (Exception ex)
            {
                LogManager.WriteLog(LogFile.Error, ex.ToString());
                pushResult = "推送失败!";
            }
            UpdatePushStatus(contentModel);
            UpdateIsReadStatus(contentModel);
            return(pushResult);
        }
示例#6
0
        /// <summary>
        /// 重写推送方法
        /// </summary>
        /// <param name="accessTokenModel"></param>
        /// <param name="contentModel"></param>
        /// <returns></returns>
        public override string Push(U_AccessToken accessTokenModel, U_Content contentModel)
        {
            SetCorpAccount(accessTokenModel);
            U_UploadResult uploadResult = UpLoadSource(accessTokenModel, contentModel);
            string         postUrl      = string.Format(_sendUrl, _accessToken);
            string         json         = GetPushJson(uploadResult, contentModel);
            //推送
            string         pushResult  = PostWebRequest(postUrl, json, Encoding.UTF8);
            U_WeChatResult resultModel = JsonHelper.JsonToModel <U_WeChatResult>(pushResult);

            if (resultModel.errcode == 0)
            {
                UpdatePushStatus(contentModel);
            }

            return(pushResult);
        }