コード例 #1
0
        /// <summary>
        /// Action执行中触发委托
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string code      = filterContext.HttpContext.Request.Query["code"].ToString();
            var    wxPubInfo = MemoryCacheHelper.GetCache <Wx_PublicInfo>("WxPubInfo");

            if (null != code && code.Length > 0)
            {
                ModelWxUserInfo mWxUserInfo = WXOAuthApiHelper.GetUserInfo(wxPubInfo.AppId, wxPubInfo.AppSecret, code);
                if (mWxUserInfo != null)
                {
                    filterContext.HttpContext.Response.Cookies.Append(ComConst.Wx_ModelWxUserInfo, JsonHelper.ToJson(mWxUserInfo), ComHelper.GetCookieOpetion());
                    filterContext.HttpContext.Session.SetString(ComConst.Wx_ModelWxUserInfo, JsonHelper.ToJson(mWxUserInfo));
                }
            }
            else
            {
                if (filterContext.HttpContext.Request.Cookies.TryGetValue(ComConst.Wx_ModelWxUserInfo, out string value))
                {
                    filterContext.HttpContext.Response.Cookies.Append(ComConst.Wx_ModelWxUserInfo, value, ComHelper.GetCookieOpetion());
                    filterContext.HttpContext.Session.SetString(ComConst.Wx_ModelWxUserInfo, value);
                }
                else
                {
                    var rst = new ContentResult();
                    rst.Content          = "登录过期,请退出重新进入";
                    filterContext.Result = rst;
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// 绑定或者注册
        /// </summary>
        public int BindOrRegisterStaff(int staffId, string staffJson, ModelWxUserInfo wxUser)
        {
            var res = 0;

            try
            {
                if (staffId > 0)//绑定
                {
                    var staff = UnitOfWork.Repository <SYS_Staff>().GetEntitiesAsync(x => x.ID == staffId && x.Status == 1).Result.FirstOrDefault();
                    staff.OpenId    = wxUser.openid;
                    staff.NickName  = wxUser.nickname;
                    staff.AvatarPic = wxUser.headimgurl;
                    staff.Sex       = (byte)wxUser.sex;
                    UnitOfWork.Repository <SYS_Staff>().UpdateEntity(staff);
                }
                else //注册
                {
                    var staff = JsonHelper.JsonToT <SYS_Staff>(staffJson);
                    staff.CreateTime = DateTime.Now;
                    staff.OpenId     = wxUser.openid;
                    staff.NickName   = wxUser.nickname;
                    staff.AvatarPic  = wxUser.headimgurl;
                    staff.Sex        = (byte)wxUser.sex;
                    UnitOfWork.Repository <SYS_Staff>().AddEntity(staff);
                }
                res = UnitOfWork.CommitAsync().Result;
            }
            catch (Exception e)
            {
                LogHelper.Error(e.ToString());
            }
            return(res);
        }
コード例 #3
0
        /// <summary>
        /// 更新微信信息
        /// </summary>
        public void UpdateWxUserInfo(ModelWxUserInfo wxUserInfo)
        {
            var parent = UnitOfWork.Repository <SYS_Parent>().GetEntitiesAsync(x => x.OpenId == wxUserInfo.openid && x.Status == 1).Result.FirstOrDefault();

            if (parent != null)
            {
                parent.NickName  = wxUserInfo.nickname;
                parent.AvatarPic = wxUserInfo.headimgurl;
                UnitOfWork.Repository <SYS_Parent>().UpdateEntity(parent);
            }
            var staff = UnitOfWork.Repository <SYS_Staff>().GetEntitiesAsync(x => x.OpenId == wxUserInfo.openid && x.Status == 1).Result.FirstOrDefault();

            if (staff != null)
            {
                staff.NickName  = wxUserInfo.nickname;
                staff.AvatarPic = wxUserInfo.headimgurl;
                UnitOfWork.Repository <SYS_Staff>().UpdateEntity(staff);
            }
            var isOK = UnitOfWork.CommitAsync().Result;
        }
コード例 #4
0
        /// <summary>
        /// 开始绑定关联
        /// </summary>
        public JsonResult DoWxBind(string name, string cardNo, string imgCode)
        {
            var             res            = "绑定失败";
            ModelWxUserInfo modelWxUser    = JsonHelper.JsonToT <ModelWxUserInfo>(GetCookie(ComConst.Wx_ModelWxUserInfo));
            var             imgCodeSession = GetSession(ComConst.Session_ImgCode);

            if (null != modelWxUser) //&& null != imgCodeSession && imgCodeSession.ToUpper().Equals(imgCode.ToUpper()))
            {
                res = Service.DoWxBind(name, cardNo, modelWxUser);
            }
            if (res.Contains("OK"))
            {
                mjResult.code    = 1;
                mjResult.content = "ok";
            }
            else
            {
                mjResult.errMsg = res;
            }
            return(Json(mjResult));
        }
コード例 #5
0
        public JsonResult BindAndRegisterParent(string stusJson, string parentJson, string imgCode)
        {
            var             res            = 0;
            ModelWxUserInfo modelWxUser    = JsonHelper.JsonToT <ModelWxUserInfo>(GetCookie(ComConst.Wx_ModelWxUserInfo));
            var             imgCodeSession = GetSession(ComConst.Session_ImgCode);

            if (null != modelWxUser && null != imgCodeSession && imgCodeSession.ToUpper().Equals(imgCode.ToUpper()))
            {
                res = Service.BindAndRegisterParent(stusJson, parentJson, modelWxUser);
            }
            if (res > 0)
            {
                mjResult.code    = 1;
                mjResult.content = "ok";
            }
            else
            {
                mjResult.errMsg = "绑定失败";
            }
            return(Json(mjResult));
        }
コード例 #6
0
        public int BindAndRegisterParent(string stusJson, string parentJson, ModelWxUserInfo wxUser)
        {
            var res = 0;

            try
            {
                SYS_Parent         parent = JsonHelper.JsonToT <SYS_Parent>(parentJson);
                List <SYS_Student> stus   = JsonHelper.JsonToT <List <SYS_Student> >(stusJson);
                parent.OpenId    = wxUser.openid;
                parent.NickName  = wxUser.nickname;
                parent.Status    = 1;
                parent.AvatarPic = wxUser.headimgurl;
                parent.SchoolId  = stus[0].SchoolId;
                parent.CreatTime = DateTime.Now;
                parent.Sex       = (byte)wxUser.sex;
                UnitOfWork.Repository <SYS_Parent>().AddEntity(parent);
                var result = UnitOfWork.CommitAsync().Result;
                if (result > 0 && stus.Count > 0)
                {
                    foreach (var item in stus)
                    {
                        FK_Stu_Parent fsp = new FK_Stu_Parent()
                        {
                            StuId    = item.ID,
                            ParentId = parent.ID,
                            OpenId   = parent.OpenId,
                            SchoolId = item.SchoolId,
                            Enabled  = true
                        };
                        UnitOfWork.Repository <FK_Stu_Parent>().AddEntity(fsp);
                    }
                    res = UnitOfWork.CommitAsync().Result;
                }
            }
            catch (Exception e)
            {
                LogHelper.Error(e.ToString());
            }
            return(res);
        }
コード例 #7
0
        /// <summary>
        /// 开始绑定
        /// </summary>
        public string DoWxBind(string name, string cardNo, ModelWxUserInfo wxUser)
        {
            var res   = "未检索到名下卡片,请确认人员信息及卡片已录入系统";
            var cards = UnitOfWork.Repository <SYS_Card>().GetEntitiesAsync(x => x.CardNo == cardNo && x.Status == (byte)CardStatus.正常).Result;

            if (cards != null && cards.Count > 0)
            {
                object master = null;
                foreach (var c in cards)
                {
                    if (c.CardType == (byte)CardType.学生卡)
                    {
                        master = UnitOfWork.Repository <SYS_Student>().GetEntitiesAsync(x => x.ID == c.CardMasterId && x.StuName == name && x.Status == (byte)StuStatus.正常).Result.FirstOrDefault();
                    }
                    else
                    {
                        master = UnitOfWork.Repository <SYS_Staff>().GetEntitiesAsync(x => x.ID == c.CardMasterId && x.StaffName == name && x.Status == (byte)StaffStatus.在职).Result.FirstOrDefault();
                    }
                    if (master != null)
                    {
                        break;
                    }
                }
                if (master != null)
                {
                    res = "关联失败请联系客服";
                    var isOk = 0;
                    //学生家长关联
                    if (master.GetType() == typeof(SYS_Student))
                    {
                        var stu       = (SYS_Student)master;
                        var parent    = new SYS_Parent();
                        var oldParent = UnitOfWork.Repository <SYS_Parent>().GetEntitiesAsync(x => x.OpenId.Length > 6 && x.OpenId == wxUser.openid).Result.FirstOrDefault();
                        if (oldParent == null)
                        {
                            parent.OpenId       = wxUser.openid;
                            parent.NickName     = wxUser.nickname;
                            parent.Name         = wxUser.nickname;
                            parent.Phone        = "";
                            parent.RelationType = (byte)RelationType.未填;
                            parent.Status       = 1;
                            parent.AvatarPic    = wxUser.headimgurl;
                            parent.SchoolId     = stu.SchoolId;
                            parent.CreatTime    = DateTime.Now;
                            parent.Sex          = (byte)wxUser.sex;
                            UnitOfWork.Repository <SYS_Parent>().AddEntity(parent);
                            isOk = UnitOfWork.CommitAsync().Result;
                        }
                        else
                        {
                            parent = oldParent;
                            isOk   = 1;
                        }
                        if (isOk > 0)
                        {
                            var oldFsp = UnitOfWork.Repository <FK_Stu_Parent>().GetEntitiesAsync(x => x.StuId == stu.ID && x.OpenId == parent.OpenId).Result.FirstOrDefault();
                            if (oldFsp == null)
                            {
                                FK_Stu_Parent fsp = new FK_Stu_Parent()
                                {
                                    StuId    = stu.ID,
                                    ParentId = parent.ID,
                                    OpenId   = parent.OpenId,
                                    SchoolId = stu.SchoolId,
                                    Enabled  = true
                                };
                                UnitOfWork.Repository <FK_Stu_Parent>().AddEntity(fsp);

                                isOk = UnitOfWork.CommitAsync().Result;
                            }
                            if (isOk > 0)
                            {
                                res = "OK,关联成功";
                            }
                        }
                    }
                    else //职员关联
                    {
                        var staff = (SYS_Staff)master;
                        staff.OpenId    = wxUser.openid;
                        staff.NickName  = wxUser.nickname;
                        staff.AvatarPic = wxUser.headimgurl;
                        staff.Sex       = (byte)wxUser.sex;
                        UnitOfWork.Repository <SYS_Staff>().UpdateEntity(staff);
                        isOk = UnitOfWork.CommitAsync().Result;
                        if (isOk > 0)
                        {
                            res = "OK,关联成功";
                        }
                    }
                }
                else
                {
                    res = "未找到人员信息";
                }
            }
            return(res);
        }