/// <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);
        }
Beispiel #2
0
        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));
            }
        }