Ejemplo n.º 1
0
        public void GetUserInfo(string openId, string appId, string appSecret)
        {
            UserService userSvr = new UserService(appId, appSecret);
            string      json    = userSvr.Info(openId);
            JObject     jo      = JObject.Parse(json);
            WX_User     modal   = userBLL.GetByPK(openId);

            if (modal == null)
            {
                if (jo["subscribe"].ToString().Equals("0"))
                {
                    return;
                }
                modal               = new WX_User();
                modal.AppId         = appId;
                modal.OpenID        = openId;
                modal.UserNick      = jo["nickname"].ToString();
                modal.UserSex       = jo["sex"].ToString() == "1" ? "男" : "女";
                modal.City          = jo["city"].ToString();
                modal.Country       = jo["country"].ToString();
                modal.Province      = jo["province"].ToString();
                modal.Language      = jo["language"].ToString();
                modal.HeadImageUrl  = jo["headimgurl"].ToString();
                modal.SubscribeTime = DateTime.Now;
                modal.UserState     = "正常";
                modal.Remark        = jo["remark"].ToString();
                //modal.GroupId = 0;//新用户
                modal.Subscribe_Scene = jo["subscribe_scene"].ToString();
                modal.QR_Scene        = jo["qr_scene"].ToString();
                modal.QR_Scene_String = jo["qr_scene_str"].ToString();
                modal.UserId          = GetUserIdByScene(jo["qr_scene"].ToString());
                userBLL.Add(modal);
            }
            else
            {
                WX_User modal1 = new WX_User();
                EntityUntility.CopyProperty(modal, modal1);
                modal1.AppId           = appId;
                modal1.OpenID          = openId;
                modal1.UserNick        = jo["nickname"].ToString();
                modal1.UserSex         = jo["sex"].ToString() == "1" ? "男" : "女";
                modal1.City            = jo["city"].ToString();
                modal1.Country         = jo["country"].ToString();
                modal1.Province        = jo["province"].ToString();
                modal1.Language        = jo["language"].ToString();
                modal1.HeadImageUrl    = jo["headimgurl"].ToString();
                modal1.UserState       = "正常";
                modal1.SubscribeTime   = DateTime.Now;
                modal1.Remark          = jo["remark"].ToString();
                modal1.Subscribe_Scene = jo["subscribe_scene"].ToString();
                modal1.QR_Scene        = jo["qr_scene"].ToString();
                modal1.QR_Scene_String = jo["qr_scene_str"].ToString();
                modal1.UserId          = GetUserIdByScene(jo["qr_scene"].ToString());
                userBLL.Update(modal1);
            }
        }
Ejemplo n.º 2
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));
        }