/// <summary>
        /// 填充header
        /// </summary>
        /// <param name="userContext"></param>
        /// <param name="bankPlatBusinessEnum"></param>
        /// <returns></returns>
        protected Dictionary <string, string> RestHead(UserContext userContext, BankPlatBusinessEnum bankPlatBusinessEnum)
        {
            var requestMd = CreateAuthCode(bankPlatBusinessEnum);
            var dic       = new Dictionary <string, string>
            {
                { "BusinessKey", requestMd.BusinessKey },
                { "Signature", requestMd.Signature },
                { "Timestamp", requestMd.Timestamp },
                { "Nonce", requestMd.Nonce },
                { "AccId", userContext.AccId.ToString() },
                { "Operater", userContext.UserId.ToString() },
                { "OperaterName", userContext.OperaterName },
                { "Ip", userContext.IpAddress }
            };

            return(dic);
        }
        /// <summary>
        /// 生成验证信息
        /// </summary>
        /// <returns></returns>
        public AccountbookRequest CreateAuthCode(BankPlatBusinessEnum businessEnum)
        {
            string stroBusinessKey = "";
            string strAppValue     = "";

            switch (businessEnum)
            {
            //收单
            case BankPlatBusinessEnum.Acquir:
                stroBusinessKey = BPS_Acquir_Key;
                strAppValue     = BPS_Acquir;
                break;

            //提现
            case BankPlatBusinessEnum.Withdrawal:
                stroBusinessKey = BPS_Withdrawal_Key;
                strAppValue     = BPS_Withdrawal;
                break;

            //查询
            case BankPlatBusinessEnum.Select:
                stroBusinessKey = BPS_Select_Key;
                strAppValue     = BPS_Select;
                break;

            default:
                break;
            }
            var requestMd = new AccountbookRequest
            {
                Timestamp   = Helper.GetTimeStamp(),
                Nonce       = Helper.GetRandomNum(),
                BusinessKey = stroBusinessKey
            };
            var strSign = new StringBuilder();

            strSign.Append(stroBusinessKey);
            strSign.Append(requestMd.Timestamp);
            strSign.Append(requestMd.Nonce);
            strSign.Append(strAppValue);

            requestMd.Signature = Helper.Md5Hash(strSign.ToString());

            return(requestMd);
        }