public ActionResult GetWeiXinInfo(string id) { OpenweixinService service = new OpenweixinService(); string res = OpenWeiXinTools.getWeiXinInfo(id, service.getAccessToken()); return(Content(res)); }
public override void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContext.HttpContext.Request["appid"] == ConfigurationManager.ConnectionStrings["weixin.AppID"].ConnectionString) { OpenweixinService service = new OpenweixinService(); string openid = OpenWeiXinTools.getOpenIDByCode(filterContext.HttpContext.Request["code"], filterContext.HttpContext.Request["appid"], service.getAccessToken()); filterContext.HttpContext.Session["openid"] = openid; //UserInfoService userInfoService = new UserInfoService(); //userInfoService.UpdateByOpenid(openid); } #if DEBUG string openID = "o9UKvwwuAHNg7nsO8JSLyz00tQ_4"; filterContext.HttpContext.Session["openid"] = openID; #endif if (WeiXinVerification) { if (filterContext.HttpContext.Session["openid"] == null) { if (filterContext.HttpContext.Request.HttpMethod.ToUpper().Equals("GET")) { filterContext.HttpContext.Response.Write("<h1>非法访问。</h1>"); filterContext.HttpContext.Response.End(); } else { filterContext.HttpContext.Response.Write("{\"success\":false,\"message\":\"用户授权失败,请退出后重试!\"}"); filterContext.HttpContext.Response.End(); } } } }
public void AddbyCode(string auth_code) { OpenweixinService service = new OpenweixinService(); Services.Tools.WeiXin.OpenWeiXinTools.Authorization_Info info = OpenWeiXinTools.GetAuthorizer_access_token(service.getAccessToken(), auth_code); if (info != null) { if (db.Publicnumber.Any(x => x.AppID == info.authorizer_appid)) { Publicnumber number = db.Publicnumber.FirstOrDefault(x => x.AppID == info.authorizer_appid); number.access_token = info.authorizer_access_token; number.refresh_token = info.authorizer_refresh_token; number.refreshdate = DateTime.Now; this.Update(number); } else { Publicnumber number = new Publicnumber(); number.AppID = info.authorizer_appid; number.access_token = info.authorizer_access_token; number.refresh_token = info.authorizer_refresh_token; number.refreshdate = DateTime.Now; this.Insert(number); } } }
public ActionResult OpenAuthorization() { OpenweixinService service = new OpenweixinService(); ViewBag.redirect_uri = OpenWeiXinTools.getOpenWeiXinURL(OpenWeiXinTools.GetPreAuthCode(service.getAccessToken()), System.Configuration.ConfigurationManager.ConnectionStrings["Host"].ConnectionString + "/Authorization/CallBack"); return(View()); }
public void MyMeetingSchedule(int id) { if (Session["openid"] == null) { Response.Redirect(OpenWeiXinTools.getWebAuthUrl(System.Configuration.ConfigurationManager.ConnectionStrings["weixin.AppID"].ConnectionString, Request.Url.ToString(), "")); return; } else { string url = System.Configuration.ConfigurationManager.ConnectionStrings["url"].ConnectionString; UserInfoService userInfoService = new UserInfoService(); UserInfo userInfo = new UserInfo(); try { userInfo = userInfoService.SelectByOpenid(Session["openid"].ToString()); } catch (Exception ex) { log.Info("获取用户信息失败!"); log.Error(ex); Response.Redirect(url + "/portal/wechat/login"); Response.End(); return; } if (userInfo == null)//未获取到用户信息 { Response.Redirect("/IO/WeiXin/Error/获取用户信息错误!"); Response.End(); return; } if (string.IsNullOrWhiteSpace(userInfo.statusCode)) { Response.Redirect(url + "/portal/wechat/login"); Response.End(); } if (userInfo.statusCode.Equals("Accepted"))//已认证跳转到我的会议页面 { Response.Redirect("/IO/Meeting/MeetingSchedule?id=" + id); Response.End(); } else if (userInfo.statusCode.Equals("Undetermined")) { Response.Redirect("/IO/Meeting/MeetingSchedule?id=" + id); Response.End(); } else if (userInfo.statusCode.Equals("Registed"))//已注册的如果有会议可以进我的会议列表 { Response.Redirect("/IO/Meeting/MeetingSchedule?id=" + id); Response.End(); } else//未认证跳转到登录页面 { Response.Redirect(url + "/portal/wechat/login"); Response.End(); } } }
public void refresh_token(string message) { try { new Thread(new mdSeminarMeetingMainService().Task) { IsBackground = true }.Start(); //new Thread(new mdSeminarMeetingMainService().PushMessageToDoctor) { IsBackground = true }.Start(); //DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 11:56:00")); //DateTime end = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 12:12:00")); //if (DateTime.Now>start && DateTime.Now<end) //{ // new Thread(new mdSeminarMeetingMainService().Task) { IsBackground = true }.Start(); //} } catch (Exception ex) { } string VerifyTicket = OpenWeiXinTools.GetComponentVerifyTicket(message); string Component_access_token = OpenWeiXinTools.GetComponent_access_token(VerifyTicket); if (db.Openweixin.Any(x => x.AppID == OpenWeiXinTools.AppID)) { Openweixin openweixin = db.Openweixin.FirstOrDefault(x => x.AppID == OpenWeiXinTools.AppID); openweixin.component_access_token = Component_access_token; openweixin.component_access_tokendate = DateTime.Now; this.Update(openweixin); } else { Openweixin openweixin = new Openweixin(); openweixin.AppID = OpenWeiXinTools.AppID; openweixin.AppSecret = OpenWeiXinTools.AppSecret; openweixin.Key = OpenWeiXinTools.key; openweixin.component_access_token = Component_access_token; openweixin.component_access_tokendate = DateTime.Now; this.Insert(openweixin); } PublicnumberService publicnumberService = new PublicnumberService(); publicnumberService.GetAccessToken(System.Configuration.ConfigurationManager.ConnectionStrings["weixin.AppID"].ConnectionString); try { DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 01:56:00")); DateTime end = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 02:12:00")); if (DateTime.Now > start && DateTime.Now < end) { new Thread(new mdSeminarMeetingMainService().UpdateSFE) { IsBackground = true }.Start(); } //new Thread(new mdSeminarMeetingMainService().UpdateSFE) { IsBackground = true }.Start(); } catch (Exception ex) { } }
public void SurveyData(int id) { if (Session["openid"] == null) { Response.Redirect(OpenWeiXinTools.getWebAuthUrl(System.Configuration.ConfigurationManager.ConnectionStrings["weixin.AppID"].ConnectionString, Request.Url.ToString(), "")); return; } else { Response.Redirect("/IO/Survey/Index?id=" + id); } }
public string GetAccessToken(string AppID) { if (db.Publicnumber.Any(x => x.AppID == AppID)) { Publicnumber number = db.Publicnumber.FirstOrDefault(x => x.AppID == AppID); if (number.refreshdate < DateTime.Now.AddMinutes(20)) { OpenweixinService service = new OpenweixinService(); Services.Tools.WeiXin.OpenWeiXinTools.Authorization_Info info = OpenWeiXinTools.Getauthorizer_refresh_token(service.getAccessToken(), number.refresh_token, AppID); number.access_token = info.authorizer_access_token; number.refresh_token = info.authorizer_refresh_token; number.refreshdate = DateTime.Now.AddSeconds(info.expires_in); this.Update(number); return(number.access_token); } else { return(number.access_token); } } return(""); }
public void SignSuccess(int id) { if (Session["openid"] == null) { Response.Redirect(OpenWeiXinTools.getWebAuthUrl(System.Configuration.ConfigurationManager.ConnectionStrings["weixin.AppID"].ConnectionString, Request.Url.ToString(), "")); return; } try { QRCodeService qrCodeService = new QRCodeService(); QRCode qrCode = qrCodeService.Select(id); string openid = Session["openid"].ToString(); using (DBContext db = new DBContext()) { if (db.MeetingSign.Any(x => x.meetingid == qrCode.meetingid && x.openid == openid)) { } else { db.MeetingSign.Add(new MeetingSign() { createTime = DateTime.Now, meetingid = qrCode.meetingid.Value, openid = openid }); db.Commit(); } } Response.Redirect("/IO/Sign/Success/" + qrCode.meetingid); Response.End(); } catch (Exception ex) { Response.Redirect("/IO/Sign/Index/" + id); Response.End(); } }
public void QR(int id) { if (Session["openid"] == null) { Response.Redirect(OpenWeiXinTools.getWebAuthUrl(System.Configuration.ConfigurationManager.ConnectionStrings["weixin.AppID"].ConnectionString, Request.Url.ToString(), "")); return; } else { string url = System.Configuration.ConfigurationManager.ConnectionStrings["url"].ConnectionString; UserInfoService userInfoService = new UserInfoService(); mdSeminarMeetingMainService mdseminarMeetingMainService = new mdSeminarMeetingMainService(); UserInfo userInfo = new UserInfo(); try { userInfo = userInfoService.SelectByOpenid(Session["openid"].ToString()); } catch (Exception ex) { log.Info("获取用户信息失败!"); log.Error(ex); Response.Redirect(url + "/portal/wechat/login"); Response.End(); return; } QRCodeService qrCodeService = new QRCodeService(); QRCode qrCode = qrCodeService.Select(id); if (userInfo == null)//未获取到用户信息 { Response.Redirect("/IO/WeiXin/Error/获取用户信息错误!"); Response.End(); return; } if (qrCode == null) { if (string.IsNullOrWhiteSpace(userInfo.statusCode)) { Response.Redirect(url + "/portal/wechat/login"); Response.End(); } else if (userInfo.statusCode.Equals("Accepted") || userInfo.statusCode.Equals("Undetermined") || userInfo.statusCode.Equals("Rejected"))//已认证跳转到我的会议页面 { Response.Redirect("/IO/Meeting/Index"); Response.End(); } else//未认证跳转到登录页面 { Response.Redirect(url + "/portal/wechat/login"); Response.End(); } } else { if (string.IsNullOrWhiteSpace(userInfo.statusCode) && qrCode.type != 2) { Response.Redirect(url + "/portal/wechat/login"); Response.End(); } else { md_seminar_meeting_main meeting = mdseminarMeetingMainService.GetMeetingById(qrCode.meetingid.Value); if (qrCode.type == 5) { Response.Redirect("/IO/Sign/Index?id=" + id); Response.End(); return; } else if (qrCode.type == 3) //医生认证 { if (userInfo.statusCode.Equals("Accepted")) //已认证跳转到认证成功页面 { Response.Redirect("/IO/Notice/AuthenticationSuccess"); Response.End(); } else//未认证跳转到登录页面 { Response.Redirect(url + "/portal/wechat/login"); Response.End(); } } else { if (meeting == null || meeting.Type == 1)//会议不存在 { //if (userInfo.statusCode.Equals("Accepted"))//已认证跳转到我的会议页面 //{ // Response.Redirect("/IO/Meeting/Index"); // Response.End(); //} //else//未认证跳转到登录页面 //{ // Response.Redirect(url + "/portal/wechat/login"); // Response.End(); //} Response.Redirect("/IO/Error/Index"); Response.End(); return; } if (qrCode.type == 2)//会议互动,只要没有过期都可以进去 { if (meeting.mendtime < DateTime.Now) { Response.Redirect("/IO/WeiXin/Error/会议已过期!"); Response.End(); return; } else { Response.Redirect("/IO/Vote/Index/" + qrCode.meetingid); Response.End(); } } else//会议邀请函或医生会议邀请函 { //认证的用户跳转到会议邀请函,已注册的跳转到会议邀请码页面 if (userInfo.statusCode.Equals("Accepted"))//认证的用户跳转到会议邀请函 { Response.Redirect("/IO/Meeting/MeetingSchedule/" + qrCode.meetingid); Response.End(); } else if (userInfo.statusCode.Equals("Rejected") || userInfo.statusCode.Equals("Undetermined"))//已注册的跳转到会议邀请码页面 { if (meeting.meetingmode == (int)MeetingModeTypeEnum.LargeUnderLine && (userInfo.statusCode.Equals("Undetermined") || (userInfo.statusCode.Equals("Rejected"))) && (qrCode.type == 4 || qrCode.type == 1)) { Response.Redirect("/IO/Meeting/MeetingSchedule/" + qrCode.meetingid); Response.End(); } else { if (userInfo.statusCode.Equals("Undetermined") && (qrCode.type == 4 || qrCode.type == 1)) { using (var context = new DBContext()) { if (!string.IsNullOrEmpty(userInfo.doctorCode)) { var sfe = context.sfe_register.FirstOrDefault(s => s.doc_code == userInfo.doctorCode); if (sfe != null) { Response.Redirect("/IO/Meeting/MeetingSchedule/" + qrCode.meetingid); Response.End(); } else { Response.Redirect("/IO/Meeting/MeetingCode/" + qrCode.meetingid); //Response.Redirect("/Notice/NOPermission"); Response.End(); } } else { Response.Redirect("/IO/Meeting/MeetingCode/" + qrCode.meetingid); //Response.Redirect("/Notice/NOPermission"); Response.End(); } } } else { Response.Redirect("/IO/Meeting/MeetingCode/" + qrCode.meetingid); //Response.Redirect("/Notice/NOPermission"); Response.End(); } } } else//未认证跳转到登录页面 { Response.Redirect(url + "/portal/wechat/login"); Response.End(); } } } } } } }
public void MeetingSurvey(int id) { if (Session["openid"] == null) { Response.Redirect(OpenWeiXinTools.getWebAuthUrl(System.Configuration.ConfigurationManager.ConnectionStrings["weixin.AppID"].ConnectionString, Request.Url.ToString(), "")); return; } else { string url = System.Configuration.ConfigurationManager.ConnectionStrings["url"].ConnectionString; UserInfoService userInfoService = new UserInfoService(); mdSeminarMeetingMainService mdseminarMeetingMainService = new mdSeminarMeetingMainService(); UserInfo userInfo = new UserInfo(); try { userInfo = userInfoService.SelectByOpenid(Session["openid"].ToString()); } catch (Exception ex) { log.Info("获取用户信息失败!"); log.Error(ex); Response.Redirect(url + "/portal/wechat/login"); Response.End(); return; } if (userInfo == null)//未获取到用户信息 { Response.Redirect("/IO/WeiXin/Error/获取用户信息错误!"); Response.End(); return; } if (string.IsNullOrWhiteSpace(userInfo.statusCode)) { Response.Redirect(url + "/portal/wechat/login"); Response.End(); } else if (userInfo.statusCode.Equals("Accepted") || userInfo.statusCode.Equals("Undetermined") || userInfo.statusCode.Equals("Rejected")) { using (DBContext db = new DBContext()) { var meeting = db.md_seminar_meeting_main.FirstOrDefault(m => m.mid == id); if (meeting == null || meeting.Type == 1) { Response.Redirect("/IO/Error/Index"); Response.End(); } var survayIdList = db.md_seminar_survey.Where(s => s.mid == id).Select(s => s.sid).ToList(); var session = Session["openid"].ToString(); var survayResultList = db.td_seminar_survey_result.FirstOrDefault(sr => survayIdList.Contains(sr.sid) && sr.uid == session); if (survayResultList != null) { Response.Redirect("/IO/Survey/AlreadySurveyPrompt"); Response.End(); } else { Response.Redirect("/IO/Survey/Index?id=" + id); Response.End(); } } } else//未认证跳转到登录页面 { Response.Redirect(url + "/portal/wechat/login"); Response.End(); } } }