示例#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);
            }
        }
示例#2
0
        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));
        }
示例#3
0
        /// <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);
        }
示例#4
0
        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);
            }
        }
示例#5
0
        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));
        }
示例#6
0
        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);
                }
            }
        }
示例#7
0
 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("参数错误!");
     }
 }
示例#8
0
        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");
                }
            }
        }
示例#9
0
 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("参数错误!");
     }
 }
示例#10
0
 public static string GetSysUser(this WX_User user)
 {
     return(user.SYS_User == null ? "未分配" : user.SYS_User.UserName);
 }
示例#11
0
 public static string GetFollowStatus(this WX_User user)
 {
     return(user.UnSubscribeTime == null ? "已关注" : "已退订");
 }
示例#12
0
        /// <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不能更新
            //}
        }
示例#13
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));
        }
示例#14
0
        /// <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));
        }