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); } }
public ActionResult AllotUser(string OpenId, int UserId) { WX_UserManager bll = new WX_UserManager(); WX_User user = bll.GetByPK(OpenId); WX_User user1 = new WX_User(); EntityUntility.CopyProperty(user, user1); user1.UserId = UserId; return(Json(new WX_UserManager().Update(user1), JsonRequestBehavior.AllowGet)); }
/// <summary> /// 直接更新本地数据库中账号 /// </summary> public static WX_User GetUserInfoByOpenidWithUpdateLocal(string openid, OAuthAccessTokenResult _accresstoken, string _code) { UserInfoJson u = GetUserInfoByOpenid(openid); WX_User wxuser = new WX_User(); if (u != null && u.errmsg == null)//有用户信息返回 { wxuser = new WX_UserB().GetEntity(d => d.Openid == u.openid); return(UpdateLocalUserInfo(u, _accresstoken, _code)); } return(wxuser); }
public void UnSubscribe(WX_EventQueue info) { WX_User modal = userBLL.GetByPK(info.OpenID); if (modal != null) { WX_User modal1 = new WX_User(); EntityUntility.CopyProperty(modal, modal1); modal1.UnSubscribeTime = DateTime.Now; modal1.UserState = "退订"; userBLL.Update(modal1); } }
public ActionResult ChangeGroup(string OpenId, int GroupId) { WX_UserManager bll = new WX_UserManager(); WX_User user = bll.GetByPK(OpenId); user.GroupId = GroupId; var result = new ReturnResult() { ErrorMsg = "修改失败!", Result = bll.Update(user) }; return(Json(result, JsonRequestBehavior.AllowGet)); }
public void Scan(WX_EventQueue info) { string eventKey = XmlUtility.GetSingleNodeInnerText(info.XmlContent, "/xml/EventKey"); WX_User modal = userBLL.GetByPK(info.OpenID); if (modal != null) { WX_User modal1 = new WX_User(); EntityUntility.CopyProperty(modal, modal1); modal1.UserId = GetUserIdByScene(eventKey); userBLL.Update(modal1); } else { var app = appBLL.GetByPK(info.AppId); if (app != null) { GetUserInfo(info.OpenID, app.AppId, app.AppSecret); } } }
protected void Page_Load(object sender, EventArgs e) { //零售系统的消费者授权页面 if (!string.IsNullOrWhiteSpace(code)) { //OAuthAccessTokenResult u = WXFWHelp.GetWXUserOAuth(code); WX_User u = WXFWHelp.GetWXUserInfoWithUpdateLocal(code); if (u != null) { string redirectpage = "http://order.lstobacco.com:5222/tobacco_customer?openId=" + u.Openid; Response.Redirect(redirectpage); } else { Response.Write("获取用户信息失败!"); } } else { Response.Write("参数错误!"); } }
protected void Page_Load(object sender, EventArgs e) { bool IsZiLvXiaoZu = false; //授权返回 if (code.Length > 0) { WX_User u = WXFWHelp.GetWXUserInfoWithUpdateLocal(code); JH_Auth_User userInfo = new JH_Auth_UserB().GetEntity(d => d.WXopenid == u.Openid && d.IsWX == 1); if (userInfo != null)//已绑定手机号和姓名 { WXFWHelp.UpdateCookieAfterSignIn(userInfo); IsZiLvXiaoZu = userInfo.ZiLvXiaoZu?.Trim().Length > 0; } else//未绑定手机号和姓名 { DateTime expires = DateTime.Now.AddMinutes(30); CommonHelp.SetCookie("openid", u.Openid, expires); Response.Redirect("/WX/BindPhone.html"); } } string redirect_uri = CommonHelp.GetCookieString("pagehistory"); if (redirect_uri.Trim().Length > 0) { Response.Redirect(HttpUtility.UrlDecode(redirect_uri)); } else//默认返回页面 { if (IsZiLvXiaoZu) { Response.Redirect("/WX/ZLXZ/Home.html"); } else { Response.Redirect("/WX/BGXT/Index.html"); } } }
protected void Page_Load(object sender, EventArgs e) { //客户零售系统的授权页面 if (!string.IsNullOrWhiteSpace(code)) { //OAuthAccessTokenResult u = WXFWHelp.GetWXUserOAuth(code); WX_User u = WXFWHelp.GetWXUserInfoWithUpdateLocal(code); if (u != null) { JH_Auth_User userInfo = new JH_Auth_UserB().GetEntity(d => d.WXopenid == u.Openid && d.IsWX == 1); if (userInfo != null)//已绑定手机号和姓名 { //如果姓名、身份证、手机号、专卖证号其中一项为空,则跳转到绑定页面 if (string.IsNullOrEmpty(userInfo.IDCard) || string.IsNullOrEmpty(userInfo.UserRealName) || string.IsNullOrEmpty(userInfo.mobphone) || string.IsNullOrEmpty(userInfo.ToMonoLicense)) { RedirectTomo(u.Openid); } else { string redirectpage = "http://order.lstobacco.com:5222/tobacco_logist?licenseCode=" + userInfo.ToMonoLicense; Response.Redirect(redirectpage); } } else { RedirectTomo(u.Openid); } } else { Response.Write("获取用户信息失败!"); } } else { Response.Write("参数错误!"); } }
public static string GetSysUser(this WX_User user) { return(user.SYS_User == null ? "未分配" : user.SYS_User.UserName); }
public static string GetFollowStatus(this WX_User user) { return(user.UnSubscribeTime == null ? "已关注" : "已退订"); }
/// <summary> /// 更新本地数据库中微信用户信息 /// </summary> public static WX_User UpdateLocalUserInfo(UserInfoJson u, OAuthAccessTokenResult _accresstoken, string _code) { string _accesstokenstr = ""; int _expires_in = 0; string _refreshtokenstr = ""; string _scopestr = ""; if (_accresstoken != null && _accresstoken.errmsg == null) { _accesstokenstr = _accresstoken.access_token; _expires_in = _accresstoken.expires_in; _refreshtokenstr = _accresstoken.refresh_token; _scopestr = _accresstoken.scope; } WX_User wxuser = new WX_UserB().GetEntity(d => d.Openid == u.openid); if (wxuser == null) { wxuser = new WX_User(); wxuser.Openid = u.openid; wxuser.Nickname = u.nickname; wxuser.Sex = u.sex == 1 ? "男" : (u.sex == 2 ? "女" : "未知"); wxuser.Province = u.province; wxuser.City = u.city; wxuser.Country = u.country; wxuser.HeadImgUrl = u.headimgurl; wxuser.Code = _code; wxuser.Access_token = _accesstokenstr; wxuser.Expires_in = _expires_in; wxuser.Refresh_token = _refreshtokenstr; wxuser.Scope = _scopestr; wxuser.CRDate = DateTime.Now; wxuser.LastLoginDate = DateTime.Now; wxuser.AuthUserID = 0; new WX_UserB().Insert(wxuser); } else { wxuser.Nickname = u.nickname; wxuser.Sex = u.sex == 1 ? "男" : (u.sex == 2 ? "女" : "未知"); wxuser.Province = u.province; wxuser.City = u.city; wxuser.Country = u.country; wxuser.HeadImgUrl = u.headimgurl; wxuser.Code = _code; wxuser.Access_token = _accesstokenstr; wxuser.Expires_in = _expires_in; wxuser.Refresh_token = _refreshtokenstr; wxuser.Scope = _scopestr; wxuser.LastLoginDate = DateTime.Now; new WX_UserB().Update(wxuser); } return(wxuser); //JH_Auth_User localuser = new JH_Auth_UserB().GetEntity(d => d.WXopenid == u.openid && d.IsWX == 1); //if (localuser == null) //{ // localuser = new JH_Auth_User(); // localuser.UserName = "******" + Guid.NewGuid().ToString().Replace("-", "").Substring(0, 16); // //新用户名随机生成 // localuser.UserRealName = u.nickname; // localuser.UserPass = CommonHelp.GetMD5("a123456"); // localuser.pccode= EncrpytHelper.Encrypt(localuser.UserName + "@" + localuser.UserPass + "@" + DateTime.Now.ToString("yyyy-MM-dd HH:mm")); // localuser.ComId = 10334; // localuser.Sex = u.sex == 1 ? "男" : (u.sex == 2 ? "女" : "未知"); // localuser.BranchCode = 0; // localuser.CRDate = DateTime.Now; // localuser.CRUser = "******"; // localuser.logindate = DateTime.Now; // localuser.IsUse = "Y"; // localuser.IsWX = 1; // localuser.WXopenid = u.openid; // new JH_Auth_UserB().Insert(localuser); //} //else //{ // //localuser.pccode = EncrpytHelper.Encrypt(localuser.UserName + "@" + localuser.UserPass + "@" + DateTime.Now.ToString("yyyy-MM-dd HH:mm")); // localuser.logindate = DateTime.Now; // new JH_Auth_UserB().Update(localuser);//更新logindate pccode不能更新 //} }
/// <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)); }
/// <summary> /// 修改指定用户个人信息 /// </summary> /// <param name="user"></param> /// <returns></returns> public ActionResult UpUserIDL(WX_User user) { var info = new WX_UserManager().NewUpdate(user); return(Json(info, JsonRequestBehavior.AllowGet)); }