using System; using BWP.ABCClient.B2C; using BWP.ABCClient.Businesses.Type; using BWP.ABCClient.Exceptions; namespace BWP.ABCClient.Businesses { public class B2COrderQuery : BusinessBase { 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"; } }