Ejemplo n.º 1
0
        //public bool TaskExpired(string HITId)
        //{
        //    HIT h = client.GetHIT(HITId);
        //    long lifeTimeInSeconds = h.AssignmentDurationInSeconds;
        //    //Console.WriteLine(lifeTimeInSeconds);
        //    if(lifeTimeInSeconds >0)
        //    {
        //        return false;
        //    }
        //    else
        //    {
        //        return true;
        //    }

        //}

        public double getAccountBalance()
        {
            try
            {
                GetAccountBalanceResult result = client.GetAccountBalance();
                Price p = result.AvailableBalance;
                Console.WriteLine("Account Balance: {0}", (double)p.Amount);
                return((double)p.Amount);
            }
            catch (Exception)
            {
                return(-1);
            }
        }
Ejemplo n.º 2
0
    public GetAccountBalanceResult GetAccountBalanceV2(String Request)
    {
        GetAccountBalanceResult getAccountBalanceResult = new GetAccountBalanceResult();
        String ReturnCode = "0";
        String Descriptioin = "成功";
        StringBuilder Response = new StringBuilder();
        Response.AppendFormat("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
        #region
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(Request);
        XmlNode versionNode = xmlDoc.SelectNodes("/root/callinfo/version")[0];
        String version = versionNode.Attributes["value"].Value;

        XmlNode SPIDNode = xmlDoc.SelectNodes("/root/callinfo/SPID")[0];
        String SPID = SPIDNode.Attributes["value"].Value;

        XmlNode CustIDNode = xmlDoc.SelectNodes("/root/srchcond/conds/CUSTID")[0];
        String CustID = CustIDNode.Attributes["value"].Value;

        XmlNode BesttoneAccountNode = xmlDoc.SelectNodes("/root/srchcond/conds/BesttoneAccount")[0];
        String BA = BesttoneAccountNode.Attributes["value"].Value;
        #endregion

        int Result = 0;
        String ErrMsg = "";

        StringBuilder strLog = new StringBuilder();
        strLog.AppendFormat("请求参数xml:{0}\r\n",Request);
        try
        {
            #region 条件校验
            if (CommonUtility.IsEmpty(SPID))
            {
                ReturnCode = Convert.ToString(ErrorDefinition.CIP_IError_Result_SPIDInValid_Code);
                Descriptioin = ErrorDefinition.CIP_IError_Result_SPIDInValid_Msg;
                getAccountBalanceResult.returnCode = ReturnCode;
                getAccountBalanceResult.msg = Descriptioin;
                return getAccountBalanceResult;
                //Response.AppendFormat("<result returnCode = {0} msg = {1} />", ReturnCode, Descriptioin);
                //return Response.ToString();
            }

            //IP是否允许访问
            Result = CommonBizRules.CheckIPLimit(SPID, HttpContext.Current.Request.UserHostAddress, this.Context, out ErrMsg);
            strLog.AppendFormat("请求方ip:{0}\r\n", HttpContext.Current.Request.UserHostAddress);
            strLog.AppendFormat("CheckIPLimit Result:{0},ErrMsg:{1}\r\n", Result, ErrMsg);
            if (Result != 0)
            {
                //return Result;
                ReturnCode = Convert.ToString(ErrorDefinition.BT_IError_Result_BizIPLimit_Code);
                Descriptioin = ErrorDefinition.BT_IError_Result_BizIPLimit_Msg;
                getAccountBalanceResult.returnCode = ReturnCode;
                getAccountBalanceResult.msg = Descriptioin;
                return getAccountBalanceResult;
                //Response.AppendFormat("<result returnCode = {0} msg = {1} />", ReturnCode, Descriptioin);
                //return Response.ToString();

            }

            //接口访问权限判断
            Result = CommonBizRules.CheckInterfaceLimit(SPID, "GetAccountBalance", this.Context, out ErrMsg);
            strLog.AppendFormat("CheckInterfaceLimit Result:{0},ErrMsg:{1}\r\n", Result, ErrMsg);
            if (Result != 0)
            {
                //return Result;
                ReturnCode = Convert.ToString(ErrorDefinition.BT_IError_Result_BizInterfaceLimit_Code);
                Descriptioin = ErrorDefinition.BT_IError_Result_BizInterfaceLimit_Msg;
                getAccountBalanceResult.returnCode = ReturnCode;
                getAccountBalanceResult.msg = Descriptioin;
                return getAccountBalanceResult;
                //Response.AppendFormat("<result returnCode = {0} msg = {1} />", ReturnCode, Descriptioin);
                //return Response.ToString();
            }

            if (CommonUtility.IsEmpty(CustID) && CommonUtility.IsEmpty(BA))
            {
                ReturnCode = Convert.ToString(ErrorDefinition.BT_IError_Result_BizInterfaceLimit_Code);
                Descriptioin = "CustID和BesttoneAccount不能同时为空!";
                getAccountBalanceResult.returnCode = ReturnCode;
                getAccountBalanceResult.msg = Descriptioin;
                return getAccountBalanceResult;
                //Response.AppendFormat("<result returnCode = {0} msg = {1} />", ReturnCode, Descriptioin);
                //return Response.ToString();
            }
            BesttoneAccount account = null;
            BesttoneAccountDAO dao = new BesttoneAccountDAO();

            if (!CommonUtility.IsEmpty(CustID))
            {
                account = dao.QueryByCustID(CustID);
            }

            if (!CommonUtility.IsEmpty(BA))
            {
                account = dao.QueryByBestAccount(BA);
            }

            if (account == null)
            {
                ReturnCode = Convert.ToString(ErrorDefinition.BT_IError_Result_BizInterfaceLimit_Code);
                Descriptioin = "账户不存在!";
                getAccountBalanceResult.returnCode = ReturnCode;
                getAccountBalanceResult.msg = Descriptioin;
                return getAccountBalanceResult;
                //Response.AppendFormat("<result returnCode = {0} msg = {1} />", ReturnCode, Descriptioin);
                //return Response.ToString();
            }

            //查询账户余额
            long balance = 0;
            Int32 QueryAccountBalanceResult = BesttoneAccountHelper.QueryAccountBalance(account.BestPayAccount, out balance, out ErrMsg);

            if (QueryAccountBalanceResult == 0)
            {
                GetAccountBalanceData data = new GetAccountBalanceData();
                //Response.AppendFormat("<Result returnCode = \"0\" msg = \"成功\">");
                //Response.AppendFormat("<Data ID = \"\">");
                getAccountBalanceResult.returnCode = "0";
                getAccountBalanceResult.msg = "成功";
                data.Id = "";
                data.CustID = account.CustID;
                data.CustID = account.BestPayAccount;
                data.Balance = balance;
                getAccountBalanceResult.data = data;
                //Response.AppendFormat("<CUSTID>{0}</CUSTID>", account.CustID);
                //Response.AppendFormat("<BESTTONEACCOUNT>{0}</BESTTONEACCOUNT>", account.BestPayAccount);
                //Response.AppendFormat("<BALANCE>{0}</BALANCE>", balance);
                //Response.AppendFormat("</Data>");
                //Response.AppendFormat("</Result>");

            }
            else
            {
                ReturnCode = Convert.ToString(ErrorDefinition.BT_IError_Result_BizInterfaceLimit_Code);
                Descriptioin = "账户查询失败!";
                //Response.AppendFormat("<result returnCode = {0} msg = {1} />", ReturnCode, Descriptioin);
                getAccountBalanceResult.returnCode = ReturnCode;
                getAccountBalanceResult.msg = Descriptioin;
            }
            #endregion
        }
        catch (Exception e)
        {
            getAccountBalanceResult.returnCode = "-9002";
            getAccountBalanceResult.msg = e.ToString() ;
        }
        //return Response.ToString();
        return getAccountBalanceResult;
    }