예제 #1
0
        public AccountBalanceQueryResult accountBalance([FromBody] AccountBalanceQuery query)
        {
            AccountBalanceQueryResult result = new AccountBalanceQueryResult();

            result.balanceFee     = 1000d;
            result.mchCode        = query.mchCode;
            result.mchProductCode = query.mchProductCode;
            result.msg            = "0";
            result.nonceStr       = Guid.NewGuid().ToString().ToLower().Replace("-", "");
            //Md5(mchCode + mchProductCode + nonceStr + status)
            string strSign = query.mchCode + query.mchProductCode + result.nonceStr;

            result.sign = MD51.GetMd5Hash(strSign);
            return(result);
        }
예제 #2
0
    public AccountBalanceQueryResult AccountBalanceQuery(String SPID, String CustID)
    {
        AccountBalanceQueryResult Result = new AccountBalanceQueryResult();
        Result.Result = ErrorDefinition.CIP_IError_Result_UnknowError_Code;
        Result.ErrMsg = ErrorDefinition.CIP_IError_Result_UnknowError_Msg;
        try
        {
            #region 数据合法性判断
            if (CommonUtility.IsEmpty(SPID))
            {
                Result.Result = ErrorDefinition.CIP_IError_Result_SPIDInValid_Code;
                Result.ErrMsg = ErrorDefinition.CIP_IError_Result_SPIDInValid_Msg;
                return Result;
            }

            //IP是否允许访问
            Result.Result = CommonBizRules.CheckIPLimit(SPID, HttpContext.Current.Request.UserHostAddress, this.Context, out Result.ErrMsg);
            if (Result.Result != 0)
            {
                return Result;
            }

            //接口访问权限判断
            Result.Result = CommonBizRules.CheckInterfaceLimit(SPID, "AccountInfoQuery", this.Context, out Result.ErrMsg);
            if (Result.Result != 0)
            {
                return Result;
            }

            if (CommonUtility.IsEmpty(CustID))
            {
                Result.Result = ErrorDefinition.CIP_IError_Result_User_UserIDInValid_Code;
                Result.ErrMsg = ErrorDefinition.CIP_IError_Result_User_UserIDInValid_Msg;
                return Result;
            }

            #endregion

            BesttoneAccountDAO _besttoneAccount_dao = new BesttoneAccountDAO();
            BesttoneAccount entity = _besttoneAccount_dao.QueryByCustID(CustID);
            if (entity == null)
            {
                Result.Result = ErrorDefinition.CIP_IError_Result_BesttoneAccount_UnRegister_Code;
                Result.ErrMsg = ErrorDefinition.CIP_IError_Result_BesttoneAccount_UnRegister_Msg;
            }
            else
            {
                long balance = 0;
                //查询账户余额
                Result.Result = BesttoneAccountHelper.QueryAccountBalance(entity.BestPayAccount, out balance, out Result.ErrMsg);
                Result.Balance = balance.ToString();
            }
        }
        catch (Exception ex)
        {
            Result.Result = ErrorDefinition.CIP_IError_Result_BesttoneAcountException_Code;
            Result.ErrMsg = ErrorDefinition.CIP_IError_Result_BesttoneAcountException_Msg + "," + ex.Message;
        }
        finally
        {
            //记录日志
        }
        return Result;
    }