using System;
|
|
using BWP.ABCClient.B2C;
|
|
using BWP.ABCClient.Businesses.Type;
|
|
using BWP.ABCClient.Exceptions;
|
|
|
|
namespace BWP.ABCClient.Businesses
|
|
{
|
|
public class B2COrderQuery : BusinessBase<QueryOrderRequest, QueryOrderResponse>
|
|
{
|
|
public B2COrderQuery()
|
|
: base(BusinessTypes.B2C)
|
|
{
|
|
RequestObj = QueryOrderRequest.New();
|
|
}
|
|
|
|
public string OrderStatus { get; set; }
|
|
|
|
public bool OrderIsFinished { 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();
|
|
OrderStatus = ResponseObj.Message.TrxResponse.Order.OrderStatus;
|
|
OrderIsFinished = OrderStatus == OrderStatusEnum.PAY || OrderStatus == OrderStatusEnum.SETTLED;
|
|
}
|
|
|
|
protected override void BeforeRequest()
|
|
{
|
|
if (string.IsNullOrEmpty(SequenceNo)) {
|
|
throw new Exception("查询的交易号不能为空,SequenceNo");
|
|
}
|
|
RequestObj.Message.Merchant.MerchantID = MerchantID;
|
|
RequestObj.Message.TrxRequest.OrderNo = SequenceNo;
|
|
}
|
|
}
|
|
|
|
public class OrderStatusEnum
|
|
{
|
|
public const string CANCEL = "00";
|
|
public const string ISSUE = "99";
|
|
public const string NEW = "01";
|
|
public const string PAY = "03";
|
|
public const string REFUND = "05";
|
|
public const string SETTLED = "04";
|
|
public const string WAIT = "02";
|
|
}
|
|
}
|