You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

58 lines
1.8 KiB

using System;
using BWP.ABCClient.B2B;
using BWP.ABCClient.Businesses.Type;
using BWP.ABCClient.Exceptions;
namespace BWP.ABCClient.Businesses
{
public class B2BDealQuery : BusinessBase<QueryTrnxRequest, QueryTrnxResponse>
{
public B2BDealQuery() : base(BusinessTypes.B2B)
{
RequestObj = QueryTrnxRequest.New();
}
public string MerchantTrnxNo { get; set; }
public DealStatusEnum DealStatus { get; set; }
public bool DealIsSuccess { 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();
DealIsSuccess = ResponseObj.Message.TrxResponse.TrnxStatus == ((int)DealStatusEnum.).ToString();
DealStatusEnum dealStatus;
if (DealStatusEnum.TryParse(ResponseObj.Message.TrxResponse.TrnxStatus, out dealStatus)) {
DealStatus = dealStatus;
}
}
protected override void BeforeRequest()
{
if (string.IsNullOrEmpty(MerchantTrnxNo)) {
throw new Exception("查询的交易号不能为空,B2BGathering.MerchantTrnxNo");
}
RequestObj.Message.Merchant.MerchantID = MerchantID;
RequestObj.Message.TrxRequest.MerchantTrnxNo = MerchantTrnxNo;
RequestObj.Message.TrxRequest.MerchantRemarks = Remarks;
}
}
public enum DealStatusEnum
{
= 5,
= 1,
= 3,
= 9,
= 0,
= 4,
= 2
}
}