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