Beispiel #1
0
    /// <summary>
    /// 测试方法
    /// </summary>
    protected List <TxnItem> CreateTestList()
    {
        List <TxnItem> list = new List <TxnItem>();

        for (Int32 i = 0; i < 20; i++)
        {
            String  str  = i < 10 ? "0" + i.ToString() : i.ToString();
            TxnItem item = new TxnItem();
            item.AcceptDate   = DateTime.Now.ToString("yyyyMM") + str;
            item.TxnAmount    = 1;
            item.TxnChannel   = "02";
            item.TxnDscpt     = "上海营业厅1充值";
            item.TxnType      = "01";
            item.MerchantName = "上海营业厅1";

            list.Add(item);
        }

        return(list);
    }
Beispiel #2
0
    /// <summary>
    /// 测试方法
    /// </summary>
    protected List<TxnItem> CreateTestList()
    {
        List<TxnItem> list = new List<TxnItem>();

        for (Int32 i = 0; i < 20; i++)
        {
            String str = i < 10 ? "0" + i.ToString() : i.ToString();
            TxnItem item = new TxnItem();
            item.AcceptDate = DateTime.Now.ToString("yyyyMM") + str;
            item.TxnAmount = 1;
            item.TxnChannel = "02";
            item.TxnDscpt = "上海营业厅1充值";
            item.TxnType = "01";
            item.MerchantName = "上海营业厅1";

            list.Add(item);
        }

        return list;
    }
        /// <summary>
        /// ��ʷ���ײ�ѯ(��ֵ�����ס��˿�)
        /// </summary>
        private static Int32 QueryTxnHistory(DateTime startDate, DateTime endDate, String besttoneAccount, String txnType, String txnChannel, Int32 maxReturnRecord, Int32 startRecord, 
                                                            out IList<TxnItem> txnItemList, out String ErrMsg)
        {
            Int32 Result = ErrorDefinition.CIP_IError_Result_UnknowError_Code;
            ErrMsg = ErrorDefinition.CIP_IError_Result_UnknowError_Msg;

            txnItemList = null;
            StringBuilder requestXml = new StringBuilder();
            String responseXml = String.Empty;
            String TransactionID = CreateTransactionID();
            try
            {
                #region ƴ������xml�ַ���

                requestXml.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
                requestXml.Append("<PayPlatRequestParameter>");
                requestXml.Append("<CTRL-INFO WEBSVRNAME=\"�û���ʷ���ײ�ѯ\" WEBSVRCODE=\"100105\" APPFROM=\"100105|310000-TEST1-127.0.0.1|1.0|127.0.0.1\" KEEP=\"" + TransactionID + "\" />");
                requestXml.Append("<PARAMETERS>");

                //��Ӳ���
                requestXml.AppendFormat("<PRODUCTNO>{0}</PRODUCTNO>", "yy" + besttoneAccount);
                requestXml.AppendFormat("<TXNTYPE>{0}</TXNTYPE>", txnType);
                requestXml.AppendFormat("<TXNCHANNEL>{0}</TXNCHANNEL>", txnChannel);
                requestXml.AppendFormat("<FROMDATE>{0}</FROMDATE>", startDate.ToString("yyyyMMdd"));
                requestXml.AppendFormat("<TODATE>{0}</TODATE>", endDate.ToString("yyyyMMdd"));
                if (maxReturnRecord == 0)
                    requestXml.Append("<MaxRecord></MaxRecord>");
                else
                    requestXml.AppendFormat("<MaxRecord>{0}</MaxRecord>", maxReturnRecord);
                if (startRecord == 0)
                    requestXml.Append("<StartRecord></StartRecord>");
                else
                    requestXml.AppendFormat("<StartRecord>{0}</StartRecord>", startRecord);

                //requestXml.AppendFormat("<MaxRecord>{0}</MaxRecord>", maxReturnRecord);
                //requestXml.AppendFormat("<StartRecord>{0}</StartRecord>", startRecord);

                requestXml.AppendFormat("<ACCEPTORGCODE>{0}</ACCEPTORGCODE>", BesttoneAccountConstDefinition.DefaultInstance.ACCEPTORGCODE);
                requestXml.AppendFormat("<ACCEPTSEQNO>{0}</ACCEPTSEQNO>", TransactionID);
                requestXml.AppendFormat("<INPUTTIME>{0}</INPUTTIME>", DateTime.Now.ToString("yyyyMMddHHmmss"));

                requestXml.Append("</PARAMETERS>");
                requestXml.Append("</PayPlatRequestParameter>");

                #endregion

                //����ӿ�
                responseXml = serviceProxy.dispatchCommand("100105|310000-TEST1-127.0.0.1|1.0|127.0.0.1", requestXml.ToString());

                #region �����ӿڷ��ز���

                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(responseXml);

                String responseCode = xmlDoc.SelectNodes("/PayPlatResponseParameter/RESPONSECODE")[0].InnerText;
                ErrMsg = xmlDoc.SelectNodes("/PayPlatResponseParameter/RESPONSECONTENT")[0].InnerText;
                if (responseCode == "000000")
                {
                    Result = 0;

                    txnItemList = new List<TxnItem>();
                    XmlNode dataNode = xmlDoc.SelectSingleNode("PayPlatResponseParameter/RESULTDATESET");
                    if (dataNode != null)
                    {
                        foreach (XmlNode node in dataNode.ChildNodes)
                        {
                            TxnItem txnItem = new TxnItem();
                            txnItem.AcceptSeqNO = node.Attributes["ACCEPTSEQNO"].Value;
                            txnItem.AcceptDate = node.Attributes["ACCEPTDATE"].Value;
                            txnItem.AcceptTime = node.Attributes["ACCEPTTIME"].Value;
                            txnItem.TxnAmount = Convert.ToInt64(node.Attributes["TXNAMOUNT"].Value);
                            txnItem.TxnType = node.Attributes["TXNTYPE"].Value;
                            txnItem.TxnChannel = node.Attributes["TXNCHANNEL"].Value;
                            txnItem.MerchantName = node.Attributes["MERCHANTNAME"].Value;
                            txnItem.TxnDscpt = node.Attributes["TXNDSCPT"].Value;
                            txnItem.CancelFlag = node.Attributes["CANCELFLAG"].Value;

                            txnItemList.Add(txnItem);
                        }
                    }
                }

                #endregion
            }
            catch (Exception ex)
            {

            }
            finally { }

            return Result;
        }