예제 #1
0
        /// <summary>
        /// 图文
        /// </summary>
        /// <returns></returns>
        public ActionResult Sync(string AppId)
        {
            var Ap   = new WX_AppManager().GetByPK(AppId);
            var list = new WX_MediaManager().Where(m => m.AppId.Equals(Ap.AppId) && m.MediaType.Equals("news")).TransitionToNews();

            return(Json(list, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public ActionResult ChangeApp(string appId)
        {
            WX_App app = new WX_AppManager().GetByPK(appId);

            Session["App"]     = app;
            Session["AppName"] = app.AppName;
            return(Redirect("/Base/Home/Index"));
        }
예제 #3
0
        /// <summary>
        /// 群发图文
        /// </summary>
        /// <param name="AppId"></param>
        /// <param name="mediaId"></param>
        /// <param name="tagId"></param>
        /// <returns></returns>
        public ActionResult SendNews(string AppId, string mediaId, int tagId)
        {
            var            Ap = new WX_AppManager().GetByPK(AppId);
            MessageService MS = new MessageService(Ap.AppId, Ap.AppSecret);
            var            Js = MS.Send(mediaId, tagId);

            return(Json(Js, JsonRequestBehavior.AllowGet));
        }
예제 #4
0
        /// <summary>
        /// 群发文字
        /// </summary>
        /// <param name="openIdList"></param>
        /// <param name="text"></param>
        /// <param name="appId"></param>
        /// <param name="appSecert"></param>
        /// <returns></returns>
        public ActionResult GroupSend(string OpenId, string Content, string appId)
        {
            var            Ap         = new WX_AppManager().GetByPK(appId);
            List <string>  openIdList = JsonConvert.DeserializeObject <List <string> >(OpenId);
            MessageService MS         = new MessageService(Ap.AppId, Ap.AppSecret);
            var            result     = MS.SendText(openIdList, Content);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #5
0
        /// <summary>
        /// 编辑该标签名
        /// </summary>
        /// <param name="tag"></param>
        /// <returns></returns>
        public ActionResult EditTag(WX_UserTag tag)
        {
            var        Ap     = new WX_AppManager().GetByPK(tag.AppId);
            TagService ser    = new TagService(Ap.AppId, Ap.AppSecret);
            JObject    jo     = JObject.Parse(ser.Update(tag.TagId, tag.TagName));
            var        result = new
            {
                errcode = jo["errcode"],
                errmsg  = jo["errmsg"]
            };

            GetTagList(Ap.AppId, Ap.AppSecret);
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #6
0
        public ActionResult DeleteApp(string id)
        {
            WX_AppManager bll  = new WX_AppManager();
            WX_App        app  = bll.GetByPK(id);
            WX_App        app1 = new WX_App();

            EntityUntility.CopyProperty(app, app1);
            app1.AppState = "无效";
            var result = new ReturnResult()
            {
                ErrorMsg = "修改状态失败!", Result = new WX_AppManager().Update(app1)
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #7
0
        /// <summary>
        /// 发送消息给用户
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public ActionResult TaleToUser(WX_CustomMsg msg)
        {
            msg.MsgId      = Guid.NewGuid().ToString();
            msg.CreateTime = DateTime.Now;
            msg.MsgSource  = "客服";
            var Ap = new WX_AppManager().GetByPK(msg.AppId);

            //发送到微信
            CustomService customSvr = new CustomService(Ap.AppId, Ap.AppSecret);

            customSvr.SendText(msg.OpenID, msg.Content);
            bool IsTrue = new WX_CustomMsgManager().Add(msg);

            return(Json(IsTrue, JsonRequestBehavior.AllowGet));
        }
예제 #8
0
        /// <summary>
        /// 删除该标签下的用户
        /// </summary>
        /// <returns></returns>
        public ActionResult RemoveTag(string OpenID, int tagId, string AppId)
        {
            var     Ap     = new WX_AppManager().GetByPK(AppId);
            JObject jo     = JObject.Parse(new UserService(Ap.AppId, Ap.AppSecret).RemoveTag(OpenID, tagId));
            var     result = new
            {
                errcode = jo["errcode"].ToString(),
                errmsg  = jo["errmsg"].ToString()
            };

            if (result.errcode.Equals("0"))
            {
                WX_UserManager manager = new WX_UserManager();
                manager.RemoveTag(manager.GetByPK(OpenID), tagId);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #9
0
        /// <summary>
        /// 从微信删除标签以及该标签下的所有用户
        /// </summary>
        /// <param name="tagid"></param>
        /// <returns></returns>
        public ActionResult DeleteTag(int TagId, string AppId)
        {
            WX_App     app    = new WX_AppManager().GetByPK(AppId);
            TagService ser    = new TagService(app.AppId, app.AppSecret);
            JObject    jo     = JObject.Parse(ser.Delete(TagId));
            var        result = new
            {
                errcode = jo["errcode"].ToString(),
                errmsg  = jo["errmsg"].ToString()
            };

            if (result.errcode.Equals("0"))
            {
                new WX_UserTagManager().Delete(TagId, app.AppId);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #10
0
        public ActionResult GetAppList(int typeId = 0, string key = null)
        {
            List <WX_App> list = null;

            if (typeId == 0)
            {
                list = new WX_AppManager().GetAll();
            }
            else
            {
                list = new WX_AppManager().Where(a => a.TypeId == typeId);
            }
            if (!string.IsNullOrEmpty(key))
            {
                JObject jo = JObject.Parse(key);
                if (!string.IsNullOrEmpty(jo["AppName"].ToString()))
                {
                    string AppName = jo["AppName"].ToString();
                    list = list.Where(a => a.AppName.Contains(AppName)).ToList();
                }
                if (!string.IsNullOrEmpty(jo["WXId"].ToString()))
                {
                    string WXId = jo["WXId"].ToString();
                    list = list.Where(a => a.WXId.Contains(WXId)).ToList();
                }
                if (!string.IsNullOrEmpty(jo["CompanyName"].ToString()))
                {
                    string CompanyName = jo["CompanyName"].ToString();
                    list = list.Where(a => a.CompanyName != null && a.CompanyName.Contains(CompanyName)).ToList();
                }
            }
            var json = list.Select(s => new
            {
                AppType = s.WX_AppType.TypeName,
                s.AppName,
                s.AppId,
                s.WXId,
                s.CompanyName,
                s.AppState,
                s.Remark,
                s.TypeId
            });

            return(Json(json, JsonRequestBehavior.AllowGet));
        }
예제 #11
0
        /// <summary>
        /// 新增标签到微信并在此标签下新增用户
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="tagName"></param>
        /// <returns></returns>
        public ActionResult AddTagAndUse(string AppId, string tagName, string OpenId)
        {
            WX_App     app  = new WX_AppManager().GetByPK(AppId);
            TagService ser  = new TagService(app.AppId, app.AppSecret);
            string     json = ser.Create(tagName);
            JObject    jo   = (JObject)JsonConvert.DeserializeObject(json);
            WX_UserTag tag  = new WX_UserTag()
            {
                AppId   = AppId,
                TagId   = (int)jo["tag"]["id"],
                TagName = jo["tag"]["name"].ToString(),
            };
            ReturnResult result = new ReturnResult()
            {
                Result = true
            };

            if (!new WX_UserTagManager().Add(tag))
            {
                result.Result   = false;
                result.ErrorMsg = "新增失败!";
            }
            else
            {
                List <string> openIdList = JsonConvert.DeserializeObject <List <string> >(OpenId);
                JObject       job        = JObject.Parse(new UserService(app.AppId, app.AppSecret).AddTag(openIdList, tag.TagId));
                var           Adresult   = new
                {
                    errcode = job["errcode"].ToString(),
                    errmsg  = job["errmsg"].ToString()
                };
                if (Adresult.errcode.Equals("0"))
                {
                    WX_UserManager manager = new WX_UserManager();
                    foreach (var id in openIdList)
                    {
                        manager.AddTag(manager.GetByPK(id), tag.TagId);
                    }
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #12
0
        /// <summary>
        /// 发送图片/语音给用户
        /// </summary>
        /// <param name="AppId"></param>
        /// <param name="OpenId"></param>
        /// <param name="fileName"></param>
        /// <param name="fileType"></param>
        /// <returns></returns>
        public ActionResult SendImageUser(string AppId, string OpenId, string fileName, string fileType)
        {
            var          Ap     = new WX_AppManager().GetByPK(AppId);
            MediaService ser    = new MediaService(Ap.AppId, Ap.AppSecret);
            JObject      jo     = ser.UploadTemp(fileName, fileType); //返回一个mediaid和url
            var          result = "";

            if (jo != null)//新增成功
            {
                CustomService CS = new CustomService(Ap.AppId, Ap.AppSecret);
                if (fileType == "image")
                {
                    result = CS.SendImage(OpenId, jo["media_id"].ToString());
                }
                else if (fileType == "voice")
                {
                    result = CS.SendVoice(OpenId, jo["media_id"].ToString());
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #13
0
        /// <summary>
        /// 给用户添加标签
        /// </summary>
        /// <param name="openId"></param>
        /// <param name="tagid"></param>
        /// <returns></returns>
        public ActionResult AddTag(string OpenId, string AppId, int tagid = 0)
        {
            List <string> openIdList = JsonConvert.DeserializeObject <List <string> >(OpenId);

            var     Ap     = new WX_AppManager().GetByPK(AppId);
            JObject jo     = JObject.Parse(new UserService(Ap.AppId, Ap.AppSecret).AddTag(openIdList, tagid));
            var     result = new
            {
                errcode = jo["errcode"].ToString(),
                errmsg  = jo["errmsg"].ToString()
            };

            if (result.errcode.Equals("0"))
            {
                WX_UserManager manager = new WX_UserManager();
                foreach (var id in openIdList)
                {
                    manager.AddTag(manager.GetByPK(id), tagid);
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #14
0
        public ActionResult AddTag(string appId, string tagName)
        {
            WX_App     app  = new WX_AppManager().GetByPK(appId);
            TagService ser  = new TagService(app.AppId, app.AppSecret);
            string     json = ser.Create(tagName);
            JObject    jo   = (JObject)JsonConvert.DeserializeObject(json);
            WX_UserTag tag  = new WX_UserTag()
            {
                AppId   = appId,
                TagId   = (int)jo["tag"]["id"],
                TagName = jo["tag"]["name"].ToString(),
            };
            ReturnResult result = new ReturnResult()
            {
                Result = true
            };

            if (!new WX_UserTagManager().Add(tag))
            {
                result.Result   = false;
                result.ErrorMsg = "新增失败!";
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #15
0
        private bool CheckAppId(string appId)
        {
            var list = new WX_AppManager().Where(a => a.AppId.Equals(appId));

            return(list.Count() == 0);
        }