Ejemplo n.º 1
0
        private bool DoAdd(out string errmsg)
        {
            Model.weixin_request_rule model = new Model.weixin_request_rule();
            BLL.weixin_request_rule   bll   = new BLL.weixin_request_rule();

            model.name          = "语音回复";
            model.request_type  = 1;
            model.response_type = 3;
            model.keywords      = txtKeywords.Text.Trim();
            model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0);
            model.sort_id       = Utils.StrToInt(txtSortId.Text.Trim(), 99);
            List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();
            //上传素材到微信服务器
            string mediaId = new API.Weixin.Common.CRMComm().UploadForeverMedia(Utils.GetMapPath(txtImgUrl.Text.Trim()), out errmsg);

            if (!string.IsNullOrEmpty(errmsg))
            {
                return(false);
            }
            ls.Add(new Model.weixin_request_content()
            {
                account_id = model.account_id, title = txtTitle.Text.Trim(), img_url = txtImgUrl.Text.Trim(),
                media_id   = mediaId, media_url = txtMediaUrl.Text.Trim(), meida_hd_url = txtMediaUrl.Text.Trim(), content = txtContent.Text.Trim()
            });
            model.contents = ls;

            if (bll.Add(model) > 0)
            {
                AddAdminLog(DTEnums.ActionEnum.Add.ToString(), "添加微信语音回复,关健字:" + model.keywords); //记录日志
                errmsg = string.Empty;
                return(true);
            }
            errmsg = "保存过程中出错!";
            return(false);
        }
Ejemplo n.º 2
0
        private bool DoEdit(int _id, out string errmsg)
        {
            API.Weixin.Common.CRMComm wxComm = new API.Weixin.Common.CRMComm();
            BLL.weixin_request_rule   bll    = new BLL.weixin_request_rule();
            Model.weixin_request_rule model  = bll.GetModel(_id);

            model.account_id    = Utils.StrToInt(ddlAccountId.SelectedValue, 0);
            model.keywords      = txtKeywords.Text.Trim();
            model.is_like_query = Utils.StrToInt(rblIsLikeQuery.SelectedValue, 0);
            model.sort_id       = Utils.StrToInt(txtSortId.Text.Trim(), 99);
            //判断是否需要重新上传素材
            string mediaId = model.contents[0].media_id;

            if (model.contents[0].img_url != txtImgUrl.Text.Trim())
            {
                if (!string.IsNullOrEmpty(mediaId))
                {
                    wxComm.DeleteForeverMedia(model.account_id, mediaId, out errmsg);                                       //删除永久素材
                }
                mediaId = wxComm.UploadForeverMedia(model.account_id, Utils.GetMapPath(txtImgUrl.Text.Trim()), out errmsg); //重新上传素材
            }

            List <Model.weixin_request_content> ls = new List <Model.weixin_request_content>();

            ls.Add(new Model.weixin_request_content()
            {
                account_id   = model.account_id,
                rule_id      = model.id,
                title        = txtTitle.Text.Trim(),
                img_url      = txtImgUrl.Text.Trim(),
                media_id     = mediaId,
                media_url    = txtMediaUrl.Text.Trim(),
                meida_hd_url = txtMediaUrl.Text.Trim(),
                content      = txtContent.Text.Trim()
            });
            model.contents = ls;

            if (bll.Update(model))
            {
                AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "修改微信语音回复,关健字:" + model.keywords); //记录日志
                errmsg = string.Empty;
                return(true);
            }
            errmsg = "保存过程中出错!";
            return(false);
        }
Ejemplo n.º 3
0
        //微信推送
        protected void btnWxPost_Click(object sender, EventArgs e)
        {
            ChkAdminLevel("channel_" + this.channel_name + "_list", DTEnums.ActionEnum.Edit.ToString()); //检查权限
            //检查该微信公众号是否开启消息推送功能
            Model.weixin_account wxModel = new BLL.weixin_account().GetModel();
            if (wxModel == null || wxModel.is_push == 0)
            {
                JscriptMsg("微信账户未开启消息推送!", string.Empty);
                return;
            }
            string errmsg              = string.Empty;               //错误消息
            string linkdomain          = GetLinkDomain();            //链接网址
            List <Model.article> artls = new List <Model.article>(); //选中文章的实体

            API.Weixin.Common.CRMComm wxComm = new API.Weixin.Common.CRMComm();
            List <Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel> ls = new List <Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel>();

            BLL.article bll     = new BLL.article();
            Repeater    rptList = new Repeater();

            if (this.rptList1.Visible == true)
            {
                rptList = this.rptList1;
            }
            else
            {
                rptList = this.rptList2;
            }
            for (int i = 0; i < rptList.Items.Count; i++)
            {
                int      id = Convert.ToInt32(((HiddenField)rptList.Items[i].FindControl("hidId")).Value);
                CheckBox cb = (CheckBox)rptList.Items[i].FindControl("chkId");
                if (cb.Checked)
                {
                    Model.article model = bll.GetWXModel(id); //获取文章实体
                    if (model == null || string.IsNullOrEmpty(model.img_url.Trim()))
                    {
                        JscriptMsg("错误:所选择信息有些没有图片!", string.Empty);
                        return;
                    }
                    artls.Add(model);
                }
            }

            //判断是否超出推送的数量
            if (artls.Count == 0 || artls.Count > 10)
            {
                JscriptMsg("错误:推送消息数量应在1-10条范围!", string.Empty);
                return;
            }
            //上传及群发消息
            foreach (Model.article modelt in artls)
            {
                //上传永久素材获取media_id
                string mediaId = wxComm.UploadForeverMedia(Utils.GetMapPath(modelt.img_url), out errmsg);
                if (string.IsNullOrEmpty(mediaId))
                {
                    JscriptMsg("错误:" + errmsg, string.Empty);
                    return;
                }
                //添加消息实体
                Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel newsModel = new Senparc.Weixin.MP.AdvancedAPIs.GroupMessage.NewsModel();
                newsModel.thumb_media_id     = mediaId;                           //图文消息缩略图的media_id
                newsModel.title              = modelt.title;                      //图文消息的标题
                newsModel.content_source_url = linkdomain;                        //点击“阅读原文”后的页面
                newsModel.content            = ReplaceImagesPath(modelt.content); //图文消息页面的内容,替换图片路径
                newsModel.digest             = modelt.zhaiyao;                    //图文消息的描述
                newsModel.show_cover_pic     = "1";                               //是否显示封面,1为显示,0为不显示
                ls.Add(newsModel);                                                //添加实体到泛型
            }
            //开始群发消息
            bool result = wxComm.SendGroupMessageByGroupId(ls, out errmsg);

            if (!result)
            {
                JscriptMsg("错误:" + errmsg, string.Empty);
                return;
            }
            JscriptMsg("微信消息推送成功!", Utils.CombUrlTxt("article_list.aspx", "channel_id={0}&category_id={1}&keywords={2}&property={3}&page={4}",
                                                     this.channel_id.ToString(), this.category_id.ToString(), this.keywords, this.property, this.page.ToString()));
        }