Esempio n. 1
0
        public ApiResult IncrementPatronBarcode(string libId,
                                                string libraryCode)
        {
            ApiResult result = new ApiResult();


            LibModel libCfg = dp2WeiXinService.Instance._areaMgr.GetLibCfg(
                libId,
                libraryCode);

            if (libCfg != null)
            {
                string patronBarcodeTail = libCfg.patronBarcodeTail;

                if (string.IsNullOrEmpty(patronBarcodeTail) == true)
                {
                    result.errorCode = -1;
                    result.errorInfo = "尚未配置证条码尾号";
                }
                else
                {
                    dp2WeiXinService.IncrementBarcode(ref patronBarcodeTail);
                    libCfg.patronBarcodeTail = patronBarcodeTail;

                    // 保存到xml
                    dp2WeiXinService.Instance._areaMgr.Save2Xml();

                    result.info = patronBarcodeTail;
                }
            }
            else
            {
                result.errorCode = -1;
                result.errorInfo = "未找到lib=[" + libId + "] libraryCode=[" + libraryCode + "]对应的配置。";
            }


            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 根据session信息初始化界面信息
        /// </summary>
        /// <param name="sessionInfo"></param>
        /// <param name="strError"></param>
        /// <returns>
        /// -1 出错
        /// 0 成功
        /// </returns>
        private int InitViewBag(SessionInfo sessionInfo,
                                bool isCheckLibState,
                                out string strError)
        {
            strError = "";

            // 书目查询 与 借还 使用 JSSDK
            try
            {
                //if (Request.Path.Contains("/Biblio/Index") == true
                //    || Request.Path.Contains("/Library/Charge2") == true
                //    || Request.Path.Contains("/Account/ScanQRCodeBind") == true)
                //{
                GzhCfg gzh    = sessionInfo.gzh;
                bool   bJsReg = JsApiTicketContainer.CheckRegistered(gzh.appId);
                // 注意这里有时异常
                JsSdkUiPackage package = JSSDKHelper.GetJsSdkUiPackage(gzh.appId,
                                                                       gzh.secret,
                                                                       Request.Url.AbsoluteUri);//http://localhost:15794/Library/Charge  //http://www.dp2003.com/dp2weixin/Library/Charge
                ViewData["AppId"]     = gzh.appId;
                ViewData["Timestamp"] = package.Timestamp;
                ViewData["NonceStr"]  = package.NonceStr;
                ViewData["Signature"] = package.Signature;
                //}
            }
            catch (Exception ex)
            { }


            ViewBag.AppName  = sessionInfo.gzh.appNameCN;
            ViewBag.weixinId = sessionInfo.WeixinId;

            // 没有当前帐户时,直接返回
            if (sessionInfo.ActiveUser == null)
            {
                return(0);
            }


            //=====
            //  取出上次记住的图书推荐栏目
            if (Request.Path == "/Library/Book")
            {
                ViewBag.remeberBookSubject = sessionInfo.ActiveUser.bookSubject;
            }

            //设到ViewBag里,当前帐户信息
            string userName     = "";
            string userNameInfo = "";

            if (sessionInfo.ActiveUser.type == WxUserDatabase.C_Type_Worker)
            {
                userName         = sessionInfo.ActiveUser.userName;
                userNameInfo     = userName;
                ViewBag.isPatron = 0;
            }
            else
            {
                userName         = sessionInfo.ActiveUser.readerBarcode;
                userNameInfo     = sessionInfo.ActiveUser.readerName;// +"["+sessionInfo.Active.readerBarcode+"]";
                ViewBag.isPatron = 1;
            }
            ViewBag.userName     = userName;
            ViewBag.userNameInfo = userNameInfo;
            ViewBag.userId       = sessionInfo.ActiveUser.id;

            // 2020-2-29 在配置文件中增加读者库配置
            string patronDbName = "";
            string libName      = sessionInfo.ActiveUser.libName;//sessionInfo.CurrentLib.Entity.libName;
            // 2019/05/06 显示的名称依据libcfg.xml的配置
            LibModel libCfg = dp2WeiXinService.Instance._areaMgr.GetLibCfg(sessionInfo.ActiveUser.libId,
                                                                           sessionInfo.ActiveUser.bindLibraryCode);

            if (libCfg != null)
            {
                libName      = libCfg.name;
                patronDbName = libCfg.patronDbName;
            }
            ViewBag.PatronDbName = patronDbName;

            ViewBag.LibName     = "[" + libName + "]";
            ViewBag.PureLibName = libName;
            ViewBag.LibId       = sessionInfo.ActiveUser.libId;
            ViewBag.LibraryCode = sessionInfo.ActiveUser.bindLibraryCode;  //这里用绑定的图书馆 20180313

            // 到期的图书馆应该不会显示出来,所以这一段后面可以删除 2020-2-29
            {
                LibEntity libEntity = sessionInfo.CurrentLib.Entity;          //dp2WeiXinService.Instance.GetLibById(libId);
                if (libEntity != null && libEntity.state == "到期" &&
                    Request.Path.Contains("/Patron/SelectOwnerLib") == false) //选择图书馆界面除外
                {
                    strError = "服务已到期,请联系图书馆工作人员。";
                    return(-1);
                }
            }

            ViewBag.LibState = sessionInfo.CurrentLib.IsHangup.ToString();
            if (isCheckLibState == true && sessionInfo.CurrentLib.IsHangup == true)
            {
                // 获取服务器不通文字描述
                string warn = LibraryManager.GetLibHungWarn(sessionInfo.CurrentLib, true);
                if (string.IsNullOrEmpty(warn) == false)
                {
                    strError = warn;
                    return(-1);
                }
            }

            return(0);
        }