//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); } }
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; }