/// <summary> /// 事件之扫码推事件且弹出“消息接收中”提示框(scancode_waitmsg) /// </summary> /// <param name="requestMessage"></param> /// <returns></returns> public override IResponseMessageBase OnEvent_ScancodeWaitmsgRequest(RequestMessageEvent_Scancode_Waitmsg requestMessage) { var responseMessage = base.CreateResponseMessage <ResponseMessageText>(); try { string str = SeatManage.SeatManageComm.AESAlgorithm.AESDecrypt(requestMessage.ScanCodeInfo.ScanResult); if (str == "") { responseMessage.Content = "二维码无效,请选【微信绑定】功能后刷卡或输入编号获取您的绑定二维码!"; } else { NameValueCollection col = Common.UrlCommon.GetQueryString(str); tb_User user = DbSession.Default.From <tb_User>().Where(tb_User._.OpenId == requestMessage.FromUserName).ToFirst(); if (user.State == 2) { responseMessage.Content = "您的微信已经绑定帐号:" + user.CardNo + ",请勿重复绑定,如需更换请先解绑!"; } else if (DbSession.Default.Count <tb_User>(tb_User._.SchoolNo == col["schoolNo"] && tb_User._.CardNo == col["cardNo"]) > 0) { var olduser = DbSession.Default.From <tb_User>().Where(tb_User._.SchoolNo == col["schoolNo"] && tb_User._.CardNo == col["cardNo"]).ToFirst(); olduser.Attach(); olduser.SchoolNo = null; olduser.CardNo = null; olduser.ClientNo = null; olduser.State = 1; DbSession.Default.Update <tb_User>(olduser); user.Attach(); user.SchoolNo = col["schoolNo"]; user.CardNo = col["cardNo"]; user.ClientNo = col["clientNo"]; user.State = 2; string msg; if (AppWebService.BasicAPI.GetUserInfo(user.SchoolNo, user.CardNo, out msg)) { J_GetUserInfo entity = JSONSerializer.Deserialize <J_GetUserInfo>(msg); user.Name = entity.Name; user.StudentNo = entity.StudentNo; user.Department = entity.Department; user.ReaderType = entity.ReaderType; if (user.ExpDate == null) { user.ExpDate = DateTime.Now.AddMonths(3); } DbSession.Default.Update <tb_User>(user); responseMessage.Content = "恭喜你【" + user.Name + "】帐号绑定成功,当前使用帐号:" + user.StudentNo; } else { responseMessage.Content = "帐号绑定失败:没有查询到用户信息,请联系管理员!"; } } else { user.Attach(); user.SchoolNo = col["schoolNo"]; user.CardNo = col["cardNo"]; user.ClientNo = col["clientNo"]; user.State = 2; string msg; if (AppWebService.BasicAPI.GetUserInfo(user.SchoolNo, user.CardNo, out msg)) { J_GetUserInfo entity = JSONSerializer.Deserialize <J_GetUserInfo>(msg); user.Name = entity.Name; user.StudentNo = entity.StudentNo; user.Department = entity.Department; user.ReaderType = entity.ReaderType; user.ExpDate = DateTime.Now.AddMonths(3); DbSession.Default.Update <tb_User>(user); responseMessage.Content = "恭喜你【" + user.Name + "】帐号绑定成功,当前使用帐号:" + user.StudentNo; } else { responseMessage.Content = "帐号绑定失败:没有查询到用户信息,请联系管理员!"; } } } return(responseMessage); } catch (Exception ex) { responseMessage.Content = "绑定帐号出错:" + ex.Message; } return(responseMessage); }
public JsonResult ScanBindUserInfo(string ScanResult) { string message = ""; string bindResult = "no"; try { string str = SeatManage.SeatManageComm.AESAlgorithm.AESDecrypt(ScanResult); if (str == "") { message = "二维码无效,请选【微信绑定】功能后刷卡或输入编号获取您的绑定二维码!"; } else { // SeatManage.SeatManageComm.WriteLog.Write("Session[ID].ToString()" + Session["ID"].ToString()); NameValueCollection col = Common.UrlCommon.GetQueryString(str); tb_User user = DbSession.Default.From <tb_User>().Where(tb_User._.OpenId == Session["ID"].ToString()).ToFirst(); if (user.State == 2) { SeatManage.SeatManageComm.WriteLog.Write("2"); message = "您的微信已经绑定帐号:" + user.CardNo + ",请勿重复绑定,如需更换请先解绑!"; } else if (DbSession.Default.Count <tb_User>(tb_User._.SchoolNo == col["schoolNo"] && tb_User._.CardNo == col["cardNo"]) > 0) { //message = "对不起,此帐号已经被绑定!请联系管理员核实身份信息!"; SeatManage.SeatManageComm.WriteLog.Write("3"); tb_User odluser = DbSession.Default.From <tb_User>().Where(tb_User._.SchoolNo == col["schoolNo"] && tb_User._.CardNo == col["cardNo"]).ToFirst(); odluser.Attach(); odluser.State = 1; odluser.StudentNo = null; odluser.SchoolNo = null; odluser.CardNo = null; DbSession.Default.Update <tb_User>(odluser); user.Attach(); user.SchoolNo = col["schoolNo"]; user.CardNo = col["cardNo"]; user.ClientNo = col["clientNo"]; if (user.SchoolNo != null) { SeatManage.SeatManageComm.WriteLog.Write("4"); if (user.SchoolNo != string.Empty) { SeatManage.SeatManageComm.WriteLog.Write("5"); user.State = 2; string msg; if (AppWebService.BasicAPI.GetUserInfo(user.SchoolNo, user.CardNo, out msg)) { SeatManage.SeatManageComm.WriteLog.Write("6"); SeatManage.SeatManageComm.WriteLog.Write(user.SchoolNo); J_GetUserInfo entity = JSONSerializer.Deserialize <J_GetUserInfo>(msg); user.Name = entity.Name; user.StudentNo = entity.StudentNo; user.Department = entity.Department; user.ReaderType = entity.ReaderType; if (user.ExpDate == null) { user.ExpDate = DateTime.Now.AddMonths(3); } DbSession.Default.Update <tb_User>(user); message = "恭喜你【" + user.Name + "】帐号绑定成功,当前使用帐号:" + user.StudentNo; bindResult = "yes"; } else { SeatManage.SeatManageComm.WriteLog.Write("7"); message = "帐号绑定失败:没有查询到用户信息,请联系管理员!"; } } else { SeatManage.SeatManageComm.WriteLog.Write("8"); message = "帐号绑定失败:没有查询到用户信息,请联系管理员!"; } } else { SeatManage.SeatManageComm.WriteLog.Write("9"); message = "帐号绑定失败:没有查询到用户信息,请联系管理员!"; } } else { user.Attach(); user.SchoolNo = col["schoolNo"]; user.CardNo = col["cardNo"]; user.ClientNo = col["clientNo"]; user.State = 2; if (user.SchoolNo != null) { if (user.SchoolNo != string.Empty) { string msg; if (AppWebService.BasicAPI.GetUserInfo(user.SchoolNo, user.CardNo, out msg)) { J_GetUserInfo entity = JSONSerializer.Deserialize <J_GetUserInfo>(msg); user.Name = entity.Name; user.StudentNo = entity.StudentNo; user.Department = entity.Department; user.ReaderType = entity.ReaderType; if (user.ExpDate == null) { user.ExpDate = DateTime.Now.AddMonths(3); } DbSession.Default.Update <tb_User>(user); message = "恭喜你【" + user.Name + "】帐号绑定成功,当前使用帐号:" + user.StudentNo; bindResult = "yes"; } else { SeatManage.SeatManageComm.WriteLog.Write("11"); message = "帐号绑定失败:没有查询到用户信息,请联系管理员!"; } } else { SeatManage.SeatManageComm.WriteLog.Write("12"); message = "帐号绑定失败:没有查询到用户信息,请联系管理员!"; } } else { SeatManage.SeatManageComm.WriteLog.Write("13"); message = "帐号绑定失败:没有查询到用户信息,请联系管理员!"; } } } return(Json(new { status = bindResult, message = message }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { status = bindResult, message = ex.Message }, JsonRequestBehavior.AllowGet)); } }