Пример #1
0
        public ActionResult AddTag(List <string> openId, int tagid)
        {
            JObject jo     = JObject.Parse(new UserService(WXAPP.AppId, WXAPP.AppSecret).AddTag(openId, 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 openId)
                {
                    manager.AddTag(manager.GetByPK(id), tagid);
                }
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #2
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));
        }
Пример #3
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));
        }
Пример #4
0
        /// <summary>
        /// 从服务器更新用户列表
        /// </summary>
        ///
        public ActionResult UpdateList()
        {
            ReturnResult   rs      = new ReturnResult();
            WX_UserManager manager = new WX_UserManager();
            UserService    ser     = new UserService(WXAPP.AppId, WXAPP.AppSecret);

            try
            {
                JToken jo   = JObject.Parse(ser.Get());
                var    list = new List <WX_User>();
                foreach (string i in jo["data"]["openid"].Children())
                {
                    string  json   = ser.Info(i);
                    JObject userJo = JObject.Parse(json);
                    if (userJo["subscribe"].ToString().Equals("0"))//已退订
                    {
                        manager.Update(new WX_User()
                        {
                            OpenID = i, UnSubscribeTime = DateTime.Now, UserState = "已退订"
                        });
                    }
                    else
                    {
                        WX_User user = new WX_User()
                        {
                            OpenID        = i,
                            AppId         = WXAPP.AppId,
                            UserNick      = userJo["nickname"].ToString(),
                            UserSex       = userJo["sex"].ToString().Equals("1") ? "男" : "女",
                            City          = userJo["city"].ToString(),
                            Province      = userJo["province"].ToString(),
                            Country       = userJo["country"].ToString(),
                            HeadImageUrl  = userJo["headimgurl"].ToString(),
                            SubscribeTime = DateTime_EX.GetDateTime(Convert.ToInt32(userJo["subscribe_time"])),
                            Remark        = userJo["remark"].ToString(),
                            //GroupId = Convert.ToInt32(userJo["groupid"]),
                            GroupId   = 0,
                            UserState = "正常",
                        };
                        WX_User info = manager.GetByPK(user.OpenID);
                        if (info == null)//新增
                        {
                            manager.Add(user);
                        }
                        else
                        {
                            manager.Update(user);
                        }
                        var r = manager.ClearTag(user);
                        foreach (var t in userJo["tagid_list"].Children())
                        {
                            manager.AddTag(user, Convert.ToInt32(t));
                        }
                    }
                }
            }
            catch (Exception e)
            {
                rs.Result   = false;
                rs.ErrorMsg = e.Message;
                return(Json(rs, JsonRequestBehavior.AllowGet));
            }
            return(Json(rs, JsonRequestBehavior.AllowGet));
        }