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); } }
/// <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)); }