public static void CreateUserInfo(string openid)
        {
            var          result   = WeiXinApi.GetToken();
            UserInfoJson userinfo = UserApi.Info(result, openid);

            if (DbSession.Default.Count <tb_User>(tb_User._.OpenId == userinfo.openid) == 0)
            {
                tb_User userEntity = new tb_User()
                {
                    OpenId     = userinfo.openid,
                    NickName   = userinfo.nickname,
                    HeadImgUrl = userinfo.headimgurl,
                    Name       = "",
                    Sex        = userinfo.sex,
                    Moblie     = "",
                    State      = 1,
                    Integral   = 0,
                    IsDealer   = false,
                    CreateTime = DateTime.Now,
                    ExpDate    = null
                };
                DbSession.Default.Insert <tb_User>(userEntity);
            }
            else
            {
                tb_User userEntity = DbSession.Default.From <tb_User>().Where(tb_User._.OpenId == userinfo.openid).ToFirst();
                userEntity.Attach();
                userEntity.NickName   = userinfo.nickname;
                userEntity.HeadImgUrl = userinfo.headimgurl;
                DbSession.Default.Update <tb_User>(userEntity);
            }
        }
Exemple #2
0
 public JsonResult CancelBindAction()
 {
     SeatManage.SeatManageComm.WriteLog.Write("CancelBindAction");
     try
     {
         tb_User user = Session["User"] as tb_User;
         user.Attach();
         user.State     = 1;
         user.StudentNo = null;
         user.SchoolNo  = null;
         user.CardNo    = null;
         DbSession.Default.Update <tb_User>(user);
         Session.Clear();
         SeatManage.SeatManageComm.WriteLog.Write("CancelBindAction2" + "帐号已解绑");
         return(Json(new { status = "yes", message = "帐号已解绑,如需使用请重新绑定账户!" }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         SeatManage.SeatManageComm.WriteLog.Write("ex:" + ex);
         return(Json(new { status = "no", message = ex.Message }, JsonRequestBehavior.AllowGet));
         //throw;
     }
 }
        public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage)
        {
            IResponseMessageBase reponseMessage = null;

            try
            {
                tb_User user    = DbSession.Default.From <tb_User>().Where(tb_User._.OpenId == requestMessage.FromUserName).ToFirst();
                string  message = "操作失败";
                //菜单点击,需要跟创建菜单时的Key匹配
                switch (requestMessage.EventKey)
                {
                case "我的座位":
                {
                    var    responseMessage = base.CreateResponseMessage <ResponseMessageText>();
                    string msg;

                    AppWebService.BasicAPI.GetUserNowState(user.SchoolNo, user.StudentNo, false, out msg);
                    J_GetUserNowState entity = JSONSerializer.Deserialize <J_GetUserNowState>(msg);
                    string            str    = "阅览室:" + (entity.InRoom == "" ? "无" : entity.InRoom) + "\r\n"
                                               + "座位号:" + (entity.SeatNum == "" ? "无" : entity.SeatNum) + "\r\n"
                                               + "在座状态:" + (entity.StatusStr == "" ? "无" : entity.StatusStr) + "\r\n"
                                               + "备注:" + (entity.NowStatusRemark == "" ? "无" : entity.NowStatusRemark);



                    responseMessage.Content = str;
                    reponseMessage          = responseMessage;
                }
                break;

                case "暂离座位":
                {
                    var responseMessage = base.CreateResponseMessage <ResponseMessageText>();

                    AppWebService.BasicAPI.ShortLeave(user.SchoolNo, user.CardNo, out message);
                    responseMessage.Content = message;
                    reponseMessage          = responseMessage;
                }
                break;

                case "释放座位":
                {
                    var responseMessage = base.CreateResponseMessage <ResponseMessageText>();
                    AppWebService.BasicAPI.ReleaseSeat(user.SchoolNo, user.CardNo, out message);
                    responseMessage.Content = message;
                    reponseMessage          = responseMessage;
                }
                break;

                case "取消预约":
                {
                    var responseMessage = base.CreateResponseMessage <ResponseMessageText>();
                    AppWebService.BasicAPI.CancelBesapeakByCardNo(user.SchoolNo, user.CardNo, out message);
                    responseMessage.Content = message;
                    reponseMessage          = responseMessage;
                }
                break;

                case "解除绑定":
                {
                    var responseMessage = base.CreateResponseMessage <ResponseMessageText>();
                    if (user.State != 2)
                    {
                        responseMessage.Content = "对不起,您尚未绑定帐号!";
                    }
                    else
                    {
                        user.Attach();
                        user.State     = 1;
                        user.StudentNo = null;
                        user.SchoolNo  = null;
                        user.CardNo    = null;
                        DbSession.Default.Update <tb_User>(user);
                        responseMessage.Content = "帐号已解绑,如需使用请重新绑定账户!";
                    }
                    reponseMessage = responseMessage;
                }



                break;

                default:
                {
                    //var strongResponseMessage = CreateResponseMessage<ResponseMessageText>();
                    //strongResponseMessage.Content = "您点击了按钮:" + requestMessage.EventKey;
                    reponseMessage = null;
                }
                break;
                }

                return(reponseMessage);
            }
            catch (Exception ex)
            {
                var responseMessage = base.CreateResponseMessage <ResponseMessageText>();
                responseMessage.Content = "帐号未绑定或学校未连接!";
                reponseMessage          = responseMessage;
                return(reponseMessage);
            }
        }
        /// <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);
        }
Exemple #5
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));
            }
        }