|
|
using System;
|
|
|
using System.Globalization;
|
|
|
using BWP.ABCClient.B2C;
|
|
|
using BWP.ABCClient.Businesses.Type;
|
|
|
using BWP.ABCClient.Exceptions;
|
|
|
|
|
|
namespace BWP.ABCClient.Businesses
|
|
|
{
|
|
|
public class B2CSettleByDate : BusinessBase<SettleRequest, SettleResponse>
|
|
|
{
|
|
|
public B2CSettleByDate()
|
|
|
: base(BusinessTypes.B2C)
|
|
|
{
|
|
|
RequestObj = SettleRequest.New();
|
|
|
}
|
|
|
|
|
|
public Record[] Records { get; set; }
|
|
|
public string RecordsHexString { get; set; }
|
|
|
|
|
|
protected override void AfterRequest()
|
|
|
{
|
|
|
Log.AddNewLine(string.Format("交易结果:[{0}]", ResponseObj.Message.TrxResponse.ReturnCode));
|
|
|
Log.AddNewLine(string.Format("返回信息:[{0}]", ResponseObj.Message.TrxResponse.ErrorMessage));
|
|
|
if (ResponseObj.Message.TrxResponse.ReturnCode != "0000") {
|
|
|
Log.Commit();
|
|
|
throw new ResponseException(ResponseObj.Message.TrxResponse.ReturnCode, ResponseObj.Message.TrxResponse.ErrorMessage);
|
|
|
}
|
|
|
Log.Commit();
|
|
|
Records = ResponseObj.Message.TrxResponse.DetailRecords;
|
|
|
RecordsHexString = ResponseObj.Message.TrxResponse.ZIPDetailRecords;
|
|
|
}
|
|
|
|
|
|
protected override void BeforeRequest()
|
|
|
{
|
|
|
if (Date == null) {
|
|
|
throw new Exception("查询的日期不能为空,Date");
|
|
|
}
|
|
|
RequestObj.Message.Merchant.MerchantID = MerchantID;
|
|
|
RequestObj.Message.TrxRequest.SettleDate = Date.Value.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
|
|
|
RequestObj.Message.TrxRequest.SettleType = SettleType.TRX;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public class SettleType
|
|
|
{
|
|
|
public const string SETTLE = "SETTLE";
|
|
|
public const string TRX = "TRX";
|
|
|
public const string TRX_BYHOUR = "TRXBYHOUR";
|
|
|
}
|
|
|
}
|