@ -187,53 +187,58 @@ namespace Shentun.Peis.PlugIns.Gem
foreach ( var chargeRequest in chargeRequests )
{
var hisInput = new HisPayStatusInput ( )
SyncChargeRequestFlagFromInterfaceAsync ( chargeRequest . ChargeRequestId ) ;
}
return base . DoWork ( ) ;
}
public override async Task SyncChargeRequestFlagFromInterfaceAsync ( Guid chargeRequestId )
{
var chargeRequest = await GetChargeRequestAsync ( chargeRequestId ) ;
var hisInput = new HisPayStatusInput ( )
{
Data = new HisPayStatusDataInput ( )
{
Data = new HisPayStatusDataInput ( )
MsgHeader = new HisMsgHeader Input( )
{
MsgHeader = new HisMsgHeaderInput ( )
{
Sender = "PEIS" ,
MsgType = "SVR_ODS_6105" ,
MsgVersion = "3.1" ,
} ,
Item = new HisPayStatusDataItemInput ( )
{
Yjxh = chargeRequest . HisChargeNo ,
ExamRequestNo = chargeRequest . ChargeRequestNo ,
}
Sender = "PEIS" ,
MsgType = "SVR_ODS_6105" ,
MsgVersion = "3.1" ,
} ,
Item = new HisPayStatusDataItemInput ( )
{
Yjxh = chargeRequest . HisChargeNo ,
ExamRequestNo = chargeRequest . ChargeRequestNo ,
}
} ;
var result = PayStatus ( hisInput ) . Result ;
if ( result . MsgHeader . Status ! = "true" )
{
throw new Exception ( "查询支付状态失败" + result . MsgHeader . Detail ) ;
}
//1:已支付,2.已作废3.已退费, 其他:未支付
char charRequstFlag ;
if ( result . MsgHeader . ErrCode = = "1" )
{
charRequstFlag = ChargeRequestFlag . AlreadyCharge ;
SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId , charRequstFlag ) ;
}
else if ( result . MsgHeader . ErrCode = = "2" )
{
charRequstFlag = ChargeRequestFlag . AlreadyCancelCharge ;
SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId , charRequstFlag ) ;
}
else if ( result . MsgHeader . ErrCode = = "3" )
{
charRequstFlag = ChargeRequestFlag . AlreadyRefund ;
SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId , charRequstFlag ) ;
}
else
{
throw new Exception ( "查询支付状态不支持的收费标志" + result . MsgHeader . ErrCode ) ;
}
} ;
var result = PayStatus ( hisInput ) . Result ;
if ( result . MsgHeader . Status ! = "true" )
{
throw new Exception ( "查询支付状态失败" + result . MsgHeader . Detail ) ;
}
//1:已支付,2.已作废3.已退费, 其他:未支付
char charRequstFlag ;
if ( result . MsgHeader . ErrCode = = "1" )
{
charRequstFlag = ChargeRequestFlag . AlreadyCharge ;
SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId , charRequstFlag ) ;
}
return base . DoWork ( ) ;
else if ( result . MsgHeader . ErrCode = = "2" )
{
charRequstFlag = ChargeRequestFlag . AlreadyCancelCharge ;
SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId , charRequstFlag ) ;
}
else if ( result . MsgHeader . ErrCode = = "3" )
{
charRequstFlag = ChargeRequestFlag . AlreadyRefund ;
SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId , charRequstFlag ) ;
}
else
{
//throw new Exception("查询支付状态不支持的收费标志" + result.MsgHeader.ErrCode);
}
}
public override async Task < ChargeRequestPlugInsOut > RefundRequestAsync ( ChargeRequestPlugInsInput input )
{